Loader's number

loader.c is an entry by Ralph Loader for the Bignum Bakeoff contest, whose objective is to write a program (in 512 characters or less) that generates the largest possible output.

The program diagonalizes over the Huet-Coquand. Its output (affectionately nicknamed Loader's number) is defined as D5(99), where D(k) is the sum of all possible bit strings described by the first k expressions of the calculus of constructions (encoding everything as binary numbers).

David Meows has shown that D(99) is larger than 2↑↑30419, and that even D2(99) would be much larger than fε 0 + ω3 (1000000) in the fast-growing hierarchy. Since it is the upper bound for the output of Marxen.c, then D2(99) is much larger than this.

The final output of D5(99) is much larger than TREE(3) or SCG(13), although still vastly smaller than Rayo's number.

Code

 * 1) define R { return
 * 2) define P P (
 * 3) define L L (
 * 4) define T S (v, y, c,
 * 5) define C ),
 * 6) define X x)
 * 7) define F );}

int r, a; P y, X  R y - ~y << x; } Z (X  R r = x % 2 ? 0 : 1 + Z (x / 2 F L X   R x / 2 >> Z (x F T  t) { int f = L t C              x = r;   R         f - 2 ? f > 2 ? f - v ? t - (f > v) * c : y : P f, P T L X  C                           S (v+2, t  U y C  c, Z (X )))         :         A (T  L X  C                 T  Z (X ) F } A (y, X  R L y) - 1 ? 5 << P y, X      : S (4, x, 4, Z (r) F D (X {  int f,     d,      c = 0, t = 7, u = 14; while (x && D (x - 1 C B 1)) d = L L D (X ) C        f = L r C         x = L r C         c - r || (            L u) || L r) - f ||            B u = S (4, d, 4, r C                    t = A (t, d) C            f / 2 & B  c = P d, c C                               t  U t C                               u  U u) ) C        c && B            t = P               ~u & 2 | B                  u = 1 << P L c C  u) C                P L c C  t) C            c = r  C         u / 2 & B             c = P t, c C             u  U t C             t = 9 );   R a = P P t, P u, P x, c)) C                                 a F } main    R D (D (D (D (D (99)))) F
 * 1) define U = S(4,13,-4,
 * 1) define B (x /= 2) % 2 && (