big_t
typedef big_t code_t; // type for bit pattern counting
big_t tot; // total number of codes with maximum tables size
big_t *num; // saved results array for code counting
local big_t count(int syms, int left, int len) {
big_t got = g.num[index];
big_t sum = 0;
if (got == (big_t)-1 || sum < got) // overflow
return (big_t)-1;
g.num = calloc(g.size, sizeof(big_t));
big_t sum = 0;
big_t got = count(n, 2, 1);
assert(got != (big_t)-1 && sum >= got && "overflow");