; Tail-recursive factorial function ; factorial(n, acc) = if n <= 1 then acc else factorial(n-1, n*acc) MAKE_FUNCTION (n acc) .factorial_body DUP PUSH 5 PUSH 1 PUSH 2 PUSH 0 CALL HALT .factorial_body: LOAD n PUSH 1 LTE JUMP_IF_FALSE .recurse LOAD acc RETURN .recurse: DUP LOAD n PUSH 1 SUB LOAD n LOAD acc MUL PUSH 2 PUSH 0 TAIL_CALL