( (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) ) )