#include <stdio.h>
#include <math.h>
#include <assert.h>

// Define the lambda functions as regular C functions
int f(int a, int b) {
    return ((b - a + 0.1) / (b - a + 0.2));
}

int mx(int a, int b) {
    return f(a, b) * a + f(b, a) * b + a * (1 - f(a, b) - f(b, a));
}

int main() {
    for (int i = -10; i < 10; i++) {
        for (int j = -10; j < 10; j++) {
            int t1 = mx(i, j);
            int t2 = i > j ? i : j;
            assert(t1 == t2);
            // Uncomment the line below to print f(i, j) values
            // printf("f(%d, %d) = %f\n", i, j, f(i, j));
        }
    }
    printf("All assertions passed.\n");
    return 0;
}
