(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