; Tail-recursive factorial function ; factorial(n, acc) = if n <= 1 then acc else factorial(n-1, n*acc) MAKE_FUNCTION (n acc) #21 DUP PUSH 5 PUSH 1 PUSH 2 PUSH 0 CALL HALT ; Function body LOAD n PUSH 1 LTE JUMP_IF_FALSE #2 LOAD acc RETURN ; Tail recursive call DUP LOAD n PUSH 1 SUB LOAD n LOAD acc MUL PUSH 2 PUSH 0 TAIL_CALL