(assign unev (op operands) (reg exp))
(assign exp (op operator) (reg exp))
(assign continue (label ev-appl-did-operator))
(goto (label eval-dispatch))
(assign argl (op empty-arglist))
(test (op no-operands?) (reg unev))
(branch (label apply-dispatch))
(assign exp (op first-operand) (reg unev))
(test (op last-operand?) (reg unev))
(branch (label ev-appl-last-arg))
(assign continue (label ev-appl-accumulate-arg))
(goto (label eval-dispatch))
(assign argl (op adjoin-arg) (reg val) (reg argl))
(assign unev (op rest-operands) (reg unev))
(goto (label ev-appl-operand-loop))
(assign continue (label ev-appl-accum-last-arg))
(goto (label eval-dispatch))
(assign argl (op adjoin-arg) (reg val) (reg argl))
(goto (label apply-dispatch))