Have you tried recursion with Ackerman?



Ackerman(0, y) := y + 1;
Ackerman(x, 0) := Ackerman(x - 1, 1);
Ackerman(x, y) := Ackerman(x - 1, Ackerman(x, y - 1));


.