11 static volatile uint64_t
sink;
13 static uint64_t
A(uint64_t m, uint64_t n) {
14 if (m == 0)
return n + 1;
15 if (n == 0)
return A(m - 1, 1);
16 return A(m - 1,
A(m, n - 1));
19 int main(
int argc,
char** argv) {
20 (void)argc; (void)argv;
23 fprintf(stderr,
"rec_ackermann: A(3,4)=%llu sink=%llx\n",
24 (
unsigned long long)r, (
unsigned long long)
sink);
25 return r == 125 ? 0 : 1;
int main(int argc, char **argv)
static uint64_t A(uint64_t m, uint64_t n)
static volatile uint64_t sink