(
(main
(call fac 5)
(ld r0 res0)
(halt)
)
(fac
(cmp arg0 2
(eq? (ret 2)))
(sub r0 arg0 1)
(call fac r0)
(mul r0 arg0 res0)
(ret r0)