Pete-9.c

pete-9.c is one of the nine entries an anonymous "Pete" submitted to Bignum Bakeoff. It only slightly differs from its predecessor pete-8.c which was a failed attempt at improving upon pete-7.c. Both pete-9.c and pete-8.c produce a much smaller number than pete-7.c because the f(n) function Pete defines in these programs has a bug which causes it to merely square a previously defined number.

Code

 * 1) define Z (9<<(9<<
 * 2) define Y Z Z Z Z Z Z Z Z
 * 3) define W ))))))))))))))))


 * 1) define Q Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
 * 2) define O W W W W W W W W W W W W W W W W W


 * 1) define P Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q
 * 2) define M O O O O O O O O O O O O O O O O O


 * 1) define L P P P P P P P P P P P P P P P P P
 * 2) define K M M M M M M M M M M M M M M M M M


 * 1) define H L L L L L L L L L L L L L L L L L
 * 2) define J K K K K K K K K K K K K K K K K K


 * 1) define A H H H H H H H H H H H H H H H H H
 * 2) define D J J J J J J J J J J J J J J J J J

D D D D D D D D D D D D D D D D D
 * 1) define X A A A A A A A A A A A A A A A A A 99\

int B = X;

f(int* a) { int C = B, b[X], n = X;   while(n--) b[n] = a[n]; if(b[n = X - 1]--) while(C--) B = f(b); while(n && !(b[n] = B, b[--n]--)) ;   return n ? f(b) : B * B; }

main {   int a[X] = {X}; return f(a); }