((env) (val) ((assign val (op make-compiled-procedure) (label entry2) (reg env)) (goto (label after-lambda1)) entry2 (assign env (op compiled-procedure-env) (reg proc)) (assign env (op extend-environment) (const (n)) (reg argl) (reg env)) (assign val (op make-compiled-procedure) (label entry7) (reg env)) (goto (label after-lambda6)) entry7 (assign env (op compiled-procedure-env) (reg proc)) (assign env (op extend-environment) (const (product counter)) (reg argl) (reg env)) (save continue) (save env) (assign proc (op lookup-variable-value) (const >) (reg env)) (assign val (op lookup-variable-value) (const n) (reg env)) (assign argl (op list) (reg val)) (assign val (op lookup-variable-value) (const counter) (reg env)) (assign argl (op cons) (reg val) (reg argl)) (test (op primitive-procedure?) (reg proc)) (branch (label primitive-branch16)) compiled-branch15 (assign continue (label after-call14)) (assign val (op compiled-procedure-entry) (reg proc)) (goto (reg val)) primitive-branch16 (assign val (op apply-primitive-procedure) (reg proc) (reg argl)) after-call14 (restore env) (restore continue) (test (op false?) (reg val)) (branch (label false-branch9)) true-branch10 (assign val (op lookup-variable-value) (const product) (reg env)) (goto (reg continue)) false-branch9 (assign proc (op lookup-variable-value) (const iter) (reg env)) (assign arg2 (op lookup-variable-value) (const counter) (reg env)) (assign arg1 (const 1)) (assign val (op +) (reg arg1) (reg arg2)) (assign argl (op list) (reg val)) (assign arg2 (op lookup-variable-value) (const counter) (reg env)) (assign arg1 (op lookup-variable-value) (const product) (reg env)) (assign val (op *) (reg arg1) (reg arg2)) (assign argl (op cons) (reg val) (reg argl)) (test (op primitive-procedure?) (reg proc)) (branch (label primitive-branch13)) compiled-branch12 (assign val (op compiled-procedure-entry) (reg proc)) (goto (reg val)) primitive-branch13 (assign val (op apply-primitive-procedure) (reg proc) (reg argl)) (goto (reg continue)) after-call11 after-if8 after-lambda6 (perform (op define-variable!) (const iter) (reg val) (reg env)) (assign val (const ok)) (assign proc (op lookup-variable-value) (const iter) (reg env)) (assign val (const 1)) (assign argl (op list) (reg val)) (assign val (const 1)) (assign argl (op cons) (reg val) (reg argl)) (test (op primitive-procedure?) (reg proc)) (branch (label primitive-branch5)) compiled-branch4 (assign val (op compiled-procedure-entry) (reg proc)) (goto (reg val)) primitive-branch5 (assign val (op apply-primitive-procedure) (reg proc) (reg argl)) (goto (reg continue)) after-call3 after-lambda1 (perform (op define-variable!) (const factorial) (reg val) (reg env)) (assign val (const ok))))