User:Vel!/Marxen.c

int P(int x,int y) { return x+y ? x%2 + y%2*2 + P(x/2,y/2)*4 : 0 ; } int H(int z) { return z ? z%2 + 2*H(z/4) : 0 ; } int I(int f,int e,int r) { return f ? P(P(f,e),r) : r ; } int M(int x,int e) { return x ? I(x%2, M(e,0), M(x/2, e+1)) : 0 ; } int D(int,int); int E(int f,int e,int r,int b) { return e ? E(1, D(e,b), I(b-1, D(e,b), I(f-1,e,r)), b) : I(f-1,e,r); } int D(int x,int b) { return x ? E( H(H(x)), H(H(x)/2), H(x/2), b) : 0 ; } int F(int x,int b) { return x ? F(D(x,b+1),b+1) : b ; } int G(int x) { return F(M(x,9), 9); } int f(int n,int x) { return n ? f(n-1, G(x ? f(n,x-1) : n)) : G(x) ; } int g(int x) { return f(x,x); } int h(int n,int x) { return n ? h(n-1, g(x ? h(n,x-1) : n)) : g(x) ; } int main(void) { return h(g(9),9); }