(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 19
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (is.a 1)
    (body.cut)
    (put.Ai.value.Yn 1 2)
    (get.Ai.structure 1 special 1)
    (unify.structure call 1)
    (unify.local.Yn 1)
    (progress)
)

(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 13
    (get.Ai.structure 1 %↑ 2)
    (unify.variable.Xn 3)
    (unify.variable.Xn 1)
    (get.Ai.structure 2 %↑ 2)
    (unify.value.Xn 3)
    (unify.variable.Xn 2)
    (head.cut)
    (execute transform←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 21
    (get.Ai.structure 1 %, 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.structure 2 %, 2)
    (unify.variable.Xn 2)
    (unify.variable.Yn 2)
    (head.cut)
    (call 5 transform←body 2 interp)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 21
    (get.Ai.structure 1 %; 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.structure 2 %; 2)
    (unify.variable.Xn 2)
    (unify.variable.Yn 2)
    (head.cut)
    (call 5 transform←body 2 interp)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 21
    (get.Ai.structure 1 %-%> 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.structure 2 %-%> 2)
    (unify.variable.Xn 2)
    (unify.variable.Yn 2)
    (head.cut)
    (call 5 transform←if←part 2 interp)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 14
    (get.Ai.structure 1 %\%+ 1)
    (unify.variable.Xn 1)
    (get.Ai.structure 2 special 1)
    (unify.structure %\%+ 1)
    (unify.variable.Xn 2)
    (head.cut)
    (execute transform←if←part 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 19
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (call 5 invisible←goal 1 interp)
    (body.cut)
    (put.Ai.symbol 3 transform)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←vars←in←exps 3 interp)
)

(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 21
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.structure 2 special 1)
    (unify.variable.Yn 2)
    (put.Ai.value.Yn 1 1)
    (call 5 special←goal 1 interp)
    (body.cut)
    (put.Ai.symbol 3 transform)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←vars←in←exps 3 interp)
)

(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 32
    (allocate)
    (get.Ai.variable.Yn 1 5)
    (get.Ai.structure 2 %$goal 2)
    (unify.variable.Yn 4)
    (unify.local.Yn 5)
    (put.Ai.variable.Yn 1 3)
    (call 8 current←module 1 si)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 5)
    (functor)
    (put.Ai.value.Yn 4 4)
    (put.Ai.unsafe.Yn 3 3)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (call 3 predicate 4 si)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( transform←body 2 interp ) 7
    (put.Ai.value.Xn 2 1)
    (put.Ai.constant 1 335)
    (execute nerror 2 si)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 19
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (is.a 1)
    (body.cut)
    (put.Ai.value.Yn 1 2)
    (get.Ai.structure 1 special 1)
    (unify.structure call 1)
    (unify.local.Yn 1)
    (progress)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 15
    (get.Ai.constant 1 %!)
    (get.Ai.symbol 2 fail)
    (head.cut)
    (allocate)
    (put.Ai.void 2)
    (put.Ai.constant 1 357)
    (call 3 nerror 2 si)
    (fail)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 13
    (get.Ai.structure 1 %↑ 2)
    (unify.variable.Xn 3)
    (unify.variable.Xn 1)
    (get.Ai.structure 2 %↑ 2)
    (unify.value.Xn 3)
    (unify.variable.Xn 2)
    (head.cut)
    (execute transform←if←part 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 21
    (get.Ai.structure 1 %, 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.structure 2 %, 2)
    (unify.variable.Xn 2)
    (unify.variable.Yn 2)
    (head.cut)
    (call 5 transform←if←part 2 interp)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←if←part 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 21
    (get.Ai.structure 1 %; 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.structure 2 %; 2)
    (unify.variable.Xn 2)
    (unify.variable.Yn 2)
    (head.cut)
    (call 5 transform←if←part 2 interp)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←if←part 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 21
    (get.Ai.structure 1 %-%> 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.structure 2 %-%> 2)
    (unify.variable.Xn 2)
    (unify.variable.Yn 2)
    (head.cut)
    (call 5 transform←if←part 2 interp)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←if←part 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 14
    (get.Ai.structure 1 %\%+ 1)
    (unify.variable.Xn 1)
    (get.Ai.structure 2 special 1)
    (unify.structure %\%+ 1)
    (unify.variable.Xn 2)
    (head.cut)
    (execute transform←if←part 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 19
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (call 5 invisible←goal 1 interp)
    (body.cut)
    (put.Ai.symbol 3 transform)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←vars←in←exps 3 interp)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 21
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.structure 2 special 1)
    (unify.variable.Yn 2)
    (put.Ai.value.Yn 1 1)
    (call 5 special←goal 1 interp)
    (body.cut)
    (put.Ai.symbol 3 transform)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←vars←in←exps 3 interp)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 32
    (allocate)
    (get.Ai.variable.Yn 1 5)
    (get.Ai.structure 2 %$goal 2)
    (unify.variable.Yn 4)
    (unify.local.Yn 5)
    (put.Ai.variable.Yn 1 3)
    (call 8 current←module 1 si)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 5)
    (functor)
    (put.Ai.value.Yn 4 4)
    (put.Ai.unsafe.Yn 3 3)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (call 3 predicate 4 si)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( transform←if←part 2 interp ) 7
    (put.Ai.value.Xn 2 1)
    (put.Ai.constant 1 335)
    (execute nerror 2 si)
)

(ASSEMBLE.CLAUSE ( transform←back 2 interp ) 5
    (get.Ai.value.Xn 2 1)
    (allocate)
    (is.a 1)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( transform←back 2 interp ) 13
    (get.Ai.structure 1 %:%- 2)
    (unify.variable.Xn 3)
    (unify.variable.Xn 1)
    (get.Ai.structure 2 %:%- 2)
    (unify.value.Xn 3)
    (unify.variable.Xn 2)
    (head.cut)
    (execute transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←back 2 interp ) 3
    (get.Ai.value.Xn 2 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( transform←back←body 2 interp ) 5
    (get.Ai.value.Xn 2 1)
    (allocate)
    (is.a 1)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( transform←back←body 2 interp ) 13
    (get.Ai.structure 1 %↑ 2)
    (unify.variable.Xn 3)
    (unify.variable.Xn 1)
    (get.Ai.structure 2 %↑ 2)
    (unify.value.Xn 3)
    (unify.variable.Xn 2)
    (head.cut)
    (execute transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←back←body 2 interp ) 21
    (get.Ai.structure 1 %, 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.structure 2 %, 2)
    (unify.variable.Xn 2)
    (unify.variable.Yn 2)
    (head.cut)
    (call 5 transform←back←body 2 interp)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←back←body 2 interp ) 21
    (get.Ai.structure 1 %; 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.structure 2 %; 2)
    (unify.variable.Xn 2)
    (unify.variable.Yn 2)
    (head.cut)
    (call 5 transform←back←body 2 interp)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←back←body 2 interp ) 21
    (get.Ai.structure 1 %-%> 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.structure 2 %-%> 2)
    (unify.variable.Xn 2)
    (unify.variable.Yn 2)
    (head.cut)
    (call 5 transform←back←body 2 interp)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←back←body 2 interp ) 11
    (get.Ai.structure 1 %\%+ 1)
    (unify.variable.Xn 1)
    (get.Ai.structure 2 %\%+ 1)
    (unify.variable.Xn 2)
    (head.cut)
    (execute transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←back←body 2 interp ) 8
    (get.Ai.structure 1 %$goal 2)
    (unify.void 1)
    (unify.variable.Xn 1)
    (get.Ai.value.Xn 2 1)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( transform←back←body 2 interp ) 7
    (get.Ai.structure 1 special 1)
    (unify.variable.Xn 1)
    (head.cut)
    (execute transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( transform←back←body 2 interp ) 4
    (put.Ai.symbol 3 transform←back)
    (execute transform←vars←in←exps 3 interp)
)

(ASSEMBLE.CLAUSE ( transform←vars←in←exps 3 interp ) 38
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 3)
    (get.Ai.variable.Yn 3 4)
    (put.Ai.void 2)
    (put.Ai.value.Yn 1 2)
    (call 8 evaluates←argument 2 interp)
    (body.cut)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.variable.Yn 2 5)
    (put.Ai.value.Yn 1 2)
    (functor)
    (put.Ai.value.Yn 3 1)
    (put.Ai.unsafe.Yn 2 5)
    (put.Ai.value.Yn 1 3)
    (functor)
    (put.Ai.value.Yn 4 4)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart transform←goal←args 4 interp)
)

(ASSEMBLE.CLAUSE ( transform←vars←in←exps 3 interp ) 3
    (get.Ai.value.Xn 2 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( transform←goal←args 4 interp ) 54
    (allocate)
    (get.Ai.variable.Yn 1 4)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.variable.Yn 3 2)
    (get.Ai.variable.Yn 4 3)
    (load.value.Yn 4)
    (load.pos.word 0)
    (greater.than.else 55)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.value.Yn 2 1)
    (put.Ai.value.Yn 1 4)
    (arg)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 4)
    (arg)
    (put.Ai.value.Yn 5 3)
    (put.Ai.unsafe.Yn 4 6)
    (put.Ai.unsafe.Yn 3 5)
    (put.Ai.value.Yn 2 1)
    (put.Ai.value.Yn 1 4)
    (call 7 transform←goal←arg 5 interp)
    (load.value.Yn 4)
    (add.neg.word -1)
    (store.variable.Xn 1)
    (put.Ai.value.Yn 4 3)
    (put.Ai.value.Yn 3 2)
    (put.Ai.value.Yn 2 1)
    (depart transform←goal←args 4 interp)
    (progress)
)

(ASSEMBLE.CLAUSE ( transform←goal←arg 5 interp ) 25
    (put.Ai.value.Xn 6 2)
    (allocate)
    (get.Ai.variable.Yn 3 2)
    (get.Ai.variable.Yn 4 3)
    (get.Ai.variable.Yn 5 1)
    (put.Ai.value.Xn 2 1)
    (put.Ai.value.Xn 1 6)
    (call 6 evaluates←argument 2 interp)
    (body.cut)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←exp 3 interp)
)

(ASSEMBLE.CLAUSE ( transform←goal←arg 5 interp ) 3
    (get.Ai.value.Xn 4 3)
    (proceed)
)

(ASSEMBLE.CLAUSE ( transform←exp 3 interp ) 12
    (get.Ai.constant 1 transform)
    (put.Ai.value.Xn 1 2)
    (get.Ai.structure 3 %$QP←variable 1)
    (unify.local.Xn 1)
    (allocate)
    (is.a 1)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( transform←exp 3 interp ) 10
    (get.Ai.constant 1 transform←back)
    (put.Ai.value.Xn 1 2)
    (get.Ai.value.Xn 3 1)
    (allocate)
    (is.a 1)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( transform←exp 3 interp ) 10
    (get.Ai.constant 1 transform←back)
    (get.Ai.structure 2 %$QP←variable 1)
    (unify.variable.Xn 1)
    (get.Ai.value.Xn 3 1)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( transform←exp 3 interp ) 14
    (allocate)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.variable.Yn 3 2)
    (put.Ai.value.Yn 1 1)
    (is.a 248)
    (body.cut)
    (put.Ai.value.Yn 1 2)
    (get.Ai.value.Yn 1 1)
    (progress)
)

(ASSEMBLE.CLAUSE ( transform←exp 3 interp ) 31
    (allocate)
    (get.Ai.variable.Yn 1 4)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.variable.Yn 2 5)
    (put.Ai.value.Yn 1 2)
    (functor)
    (put.Ai.value.Yn 3 1)
    (put.Ai.unsafe.Yn 2 5)
    (put.Ai.value.Yn 1 3)
    (functor)
    (put.Ai.value.Yn 4 4)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart transform←subexps 4 interp)
)

(ASSEMBLE.CLAUSE ( transform←subexps 4 interp ) 50
    (allocate)
    (get.Ai.variable.Yn 1 4)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.variable.Yn 3 2)
    (get.Ai.variable.Yn 4 3)
    (load.value.Yn 4)
    (load.pos.word 0)
    (greater.than.else 51)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.value.Yn 2 1)
    (put.Ai.value.Yn 1 4)
    (arg)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 4)
    (arg)
    (put.Ai.unsafe.Yn 3 6)
    (put.Ai.unsafe.Yn 2 5)
    (put.Ai.value.Yn 1 3)
    (call 7 transform←exp 3 interp)
    (load.value.Yn 4)
    (add.neg.word -1)
    (store.variable.Xn 1)
    (put.Ai.value.Yn 4 3)
    (put.Ai.value.Yn 3 2)
    (put.Ai.value.Yn 2 1)
    (depart transform←subexps 4 interp)
    (progress)
)

(ASSEMBLE.CLAUSE ( transform←back←exp 2 interp ) 8
    (put.Ai.value.Xn 3 2)
    (put.Ai.value.Xn 2 1)
    (put.Ai.symbol 1 transform←back)
    (execute transform←exp 3 interp)
)

STOP