(ASSEMBLE.CLAUSE ( police←temps 1 si ) 19 (allocate) (get.Ai.variable.Yn 1 2) (put.Ai.variable.Yn 1 1) (call 5 maximum←number←of←temporaries 1 si) (load.value.Yn 2) (load.value.Yn 1) (greater.than.else 20) (put.Ai.void 2) (put.Ai.constant 1 403) (depart nerror 2 si) (progress) ) (ASSEMBLE.CLAUSE ( police←perms 1 si ) 19 (allocate) (get.Ai.variable.Yn 1 2) (put.Ai.variable.Yn 1 1) (call 5 maximum←number←of←permanents 1 si) (load.value.Yn 2) (load.value.Yn 1) (greater.than.else 20) (put.Ai.void 2) (put.Ai.constant 1 404) (depart nerror 2 si) (progress) ) (ASSEMBLE.CLAUSE ( police←goal←size 1 si ) 19 (allocate) (get.Ai.variable.Yn 1 2) (put.Ai.variable.Yn 1 1) (call 5 maximum←goal←size 1 si) (load.value.Yn 2) (load.value.Yn 1) (greater.than.else 20) (put.Ai.void 2) (put.Ai.constant 1 405) (depart nerror 2 si) (progress) ) (ASSEMBLE.CLAUSE ( message 1 si ) 25 (allocate) (get.Ai.variable.Yn 1 2) (put.Ai.variable.Yn 1 1) (call 5 current←output 1 si) (put.Ai.symbol 1 user) (call 5 tell 1 si) (put.Ai.value.Yn 1 2) (call 4 write 1 si) (call 4 nl 0 si) (put.Ai.unsafe.Yn 1 1) (depart tell 1 si) ) (ASSEMBLE.CLAUSE ( compile 2 si ) 71 (allocate) (get.Ai.variable.Yn 2 2) (put.Ai.variable.Yn 4 7) (put.Ai.variable.Yn 3 6) (put.Ai.variable.Yn 2 3) (call 10 translate←clause 4 si) (put.Ai.void 6) (put.Ai.structure 5 %: 2) (unify.constant 0) (unify.constant 0) (put.Ai.nil 4) (put.Ai.variable.Yn 3 1) (put.Ai.value.Yn 2 3) (put.Ai.unsafe.Yn 1 7) (call 9 flatten←code 6 si) (put.Ai.variable.Yn 4 5) (put.Ai.variable.Yn 3 4) (put.Ai.constant 2 0) (put.Ai.value.Yn 1 1) (call 9 number←variables 4 si) (put.Ai.unsafe.Yn 4 6) (put.Ai.unsafe.Yn 3 5) (put.Ai.unsafe.Yn 2 4) (put.Ai.constant 1 0) (call 6 categorize←variables 4 si) (put.Ai.unsafe.Yn 2 3) (put.Ai.value.Yn 1 1) (call 5 allocate←variables 2 si) (put.Ai.value.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (call 3 generate←instructions 2 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( compiler←command 1 si ) 5 (get.Ai.structure 1 mode 1) (unify.void 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( compiler←command 1 si ) 5 (get.Ai.structure 1 public 1) (unify.void 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( compiler←command 1 si ) 7 (put.Ai.value.Xn 2 1) (put.Ai.constant 1 407) (execute nerror 2 si) ) (ASSEMBLE.CLAUSE ( is←conjunction 1 si ) 22 (get.Ai.structure 1 %, 2) (allocate) (unify.variable.Yn 2) (unify.variable.Yn 1) (put.Ai.value.Yn 1 2) (is.a 254) (put.Ai.value.Yn 1 2) (call 4 is←evaluable 1 si) (body.cut) (put.Ai.value.Yn 1 1) (is.a 254) (put.Ai.value.Yn 1 1) (depart is←conjunction 1 si) ) (ASSEMBLE.CLAUSE ( is←conjunction 1 si ) 5 (get.Ai.structure 1 %, 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←conjunction 1 si ) 5 (get.Ai.structure 1 %; 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←conjunction 1 si ) 5 (get.Ai.structure 1 %-%> 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←conjunction 1 si ) 5 (get.Ai.structure 1 %\%+ 1) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( is←true 1 si ) 4 (get.Ai.constant 1 true) (proceed) ) (ASSEMBLE.CLAUSE ( is←true 1 si ) 4 (get.Ai.constant 1 otherwise) (proceed) ) (ASSEMBLE.CLAUSE ( is←false 1 si ) 4 (get.Ai.constant 1 fail) (proceed) ) (ASSEMBLE.CLAUSE ( is←false 1 si ) 4 (get.Ai.constant 1 false) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 5 (get.Ai.structure 1 %=%:%= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 5 (get.Ai.structure 1 %=%\%= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 5 (get.Ai.structure 1 %< 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 5 (get.Ai.structure 1 %>%= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 5 (get.Ai.structure 1 %> 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 5 (get.Ai.structure 1 %=%< 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 10 (get.Ai.structure 1 is 2) (unify.void 1) (unify.structure %$Quintus%:% compare 2) (unify.void 2) (head.cut) (fail) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 5 (get.Ai.structure 1 is 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 6 (get.Ai.structure 1 %:%= 2) (unify.void 2) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 5 (get.Ai.structure 1 %$Quintus%:% %! 1) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 4 (get.Ai.constant 1 true) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 4 (get.Ai.constant 1 otherwise) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 4 (get.Ai.constant 1 fail) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 4 (get.Ai.constant 1 false) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 4 (get.Ai.constant 1 %!) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 5 (get.Ai.structure 1 %= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←evaluable 1 si ) 21 (get.Ai.structure 1 %, 2) (allocate) (unify.variable.Yn 2) (unify.variable.Yn 1) (put.Ai.value.Yn 1 2) (is.a 254) (put.Ai.value.Yn 1 1) (is.a 254) (put.Ai.value.Yn 1 2) (call 4 is←evaluable 1 si) (put.Ai.value.Yn 1 1) (depart is←evaluable 1 si) ) (ASSEMBLE.CLAUSE ( translate←clause 4 si ) 74 (get.Ai.structure 1 %:%- 2) (allocate) (unify.variable.Yn 3) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 4) (get.Ai.structure 4 %, 2) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 1) (unify.symbol allocate) (get.Ai.structure 1 %, 2) (unify.variable.Yn 5) (unify.structure %, 2) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 1) (unify.structure initialize 1) (unify.local.Xn 3) (get.Ai.structure 1 %, 2) (unify.variable.Yn 2) (unify.structure %$ 1) (unify.symbol progress) (put.Ai.value.Yn 1 1) (is.a 254) (put.Ai.value.Yn 1 1) (call 8 is←conjunction 1 si) (body.cut) (put.Ai.value.Yn 3 5) (put.Ai.value.Yn 2 4) (put.Ai.value.Yn 1 3) (call 5 translate←head 3 si) (put.Ai.value.Yn 4 2) (put.Ai.structure 3 %$ 1) (unify.symbol progress) (put.Ai.symbol 2 general) (put.Ai.value.Yn 1 1) (depart translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←clause 4 si ) 36 (get.Ai.structure 1 %:%- 2) (allocate) (unify.variable.Yn 1) (unify.variable.Yn 4) (get.Ai.variable.Yn 2 2) (get.Ai.symbol 3 void) (get.Ai.structure 4 %, 2) (unify.variable.Yn 3) (unify.structure %$ 1) (unify.symbol cut←proceed) (put.Ai.value.Yn 1 4) (is.a 128) (put.Ai.value.Yn 1 4) (get.Ai.constant 1 %!) (body.cut) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←head 3 si) ) (ASSEMBLE.CLAUSE ( translate←clause 4 si ) 50 (get.Ai.structure 1 %:%- 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.structure 4 %, 2) (unify.variable.Xn 4) (unify.structure %, 2) (unify.variable.Xn 6) (unify.variable.Xn 5) (get.Ai.structure 6 %$ 1) (unify.structure initialize 1) (unify.local.Xn 3) (get.Ai.structure 5 %, 2) (unify.variable.Yn 2) (unify.structure %$ 1) (unify.symbol proceed) (head.cut) (put.Ai.value.Xn 3 4) (call 5 translate←head 3 si) (put.Ai.value.Yn 4 2) (put.Ai.structure 3 %$ 1) (unify.symbol proceed) (put.Ai.symbol 2 general) (put.Ai.value.Yn 1 1) (depart translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←clause 4 si ) 13 (get.Ai.symbol 3 void) (get.Ai.structure 4 %, 2) (unify.variable.Xn 3) (unify.structure %$ 1) (unify.symbol proceed) (execute translate←head 3 si) ) (ASSEMBLE.CLAUSE ( translate←head 3 si ) 49 (allocate) (get.Ai.variable.Yn 1 3) (get.Ai.variable.Yn 2 5) (get.Ai.variable.Yn 3 4) (put.Ai.value.Yn 1 3) (is.a 254) (put.Ai.variable.Yn 3 2) (put.Ai.variable.Yn 2 6) (put.Ai.value.Yn 1 3) (functor) (put.Ai.value.Yn 1 6) (is.a 128) (body.cut) (put.Ai.value.Yn 3 2) (put.Ai.unsafe.Yn 2 6) (put.Ai.value.Yn 1 5) (functor) (put.Ai.variable.Yn 7 1) (put.Ai.constant 6 0) (put.Ai.void 5) (put.Ai.value.Yn 4 4) (put.Ai.symbol 3 get) (put.Ai.value.Yn 2 3) (put.Ai.unsafe.Yn 1 2) (call 4 translate←args 7 si) (put.Ai.unsafe.Yn 1 1) (depart police←goal←size 1 si) ) (ASSEMBLE.CLAUSE ( translate←head 3 si ) 7 (put.Ai.value.Xn 2 1) (put.Ai.constant 1 401) (execute nerror 2 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 25 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (get.Ai.variable.Yn 4 4) (put.Ai.value.Yn 1 1) (is.a 1) (body.cut) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.structure 1 call 1) (unify.local.Yn 1) (depart translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 33 (get.Ai.structure 1 %, 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (get.Ai.structure 4 %, 2) (unify.variable.Xn 4) (unify.variable.Yn 4) (head.cut) (put.Ai.symbol 3 continue) (put.Ai.value.Yn 2 2) (call 7 translate←body 4 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 26 (get.Ai.structure 1 %-%> 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (get.Ai.variable.Yn 4 4) (call 7 is←true 1 si) (body.cut) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 19 (get.Ai.structure 1 %-%> 2) (unify.variable.Xn 6) (unify.variable.Xn 1) (head.cut) (put.Ai.structure 5 %-%> 2) (unify.value.Xn 6) (unify.value.Xn 1) (put.Ai.structure 1 %; 2) (unify.value.Xn 5) (unify.symbol fail) (execute translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 19 (get.Ai.structure 1 %\%+ 1) (unify.variable.Xn 1) (head.cut) (put.Ai.structure 5 %-%> 2) (unify.value.Xn 1) (unify.symbol fail) (put.Ai.structure 1 %; 2) (unify.value.Xn 5) (unify.symbol true) (execute translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 33 (get.Ai.structure 1 %; 2) (allocate) (unify.variable.Yn 2) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 3) (get.Ai.variable.Yn 3 4) (get.Ai.variable.Yn 4 5) (put.Ai.value.Yn 1 2) (is.a 1) (body.cut) (put.Ai.value.Yn 4 5) (put.Ai.value.Yn 3 4) (put.Ai.value.Yn 2 3) (put.Ai.structure 5 call 1) (unify.value.Yn 2) (put.Ai.structure 1 %; 2) (unify.value.Xn 5) (unify.value.Yn 1) (depart translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 90 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.structure 1 %-%> 2) (unify.variable.Yn 9) (unify.variable.Yn 5) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (get.Ai.structure 4 %, 2) (unify.variable.Xn 1) (unify.variable.Yn 8) (get.Ai.structure 1 %; 2) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %, 2) (unify.variable.Xn 4) (unify.structure %, 2) (unify.variable.Yn 7) (unify.variable.Yn 6) (get.Ai.structure 1 %, 2) (unify.variable.Xn 1) (unify.variable.Yn 4) (get.Ai.structure 1 label 1) (unify.variable.Xn 1) (put.Ai.symbol 3 continue) (put.Ai.structure 2 evaluable 1) (unify.value.Xn 1) (put.Ai.value.Yn 1 9) (call 12 translate←body 4 si) (body.cut) (put.Ai.value.Yn 1 9) (call 11 check←no←cut←in←if←part 1 si) (put.Ai.value.Yn 3 8) (put.Ai.value.Yn 2 6) (put.Ai.value.Yn 1 3) (call 10 create←jump 3 si) (put.Ai.value.Yn 4 7) (put.Ai.value.Yn 3 6) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 5) (call 7 translate←body 4 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 54 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (unify.variable.Xn 5) (get.Ai.structure 1 %-%> 2) (unify.variable.Xn 6) (unify.variable.Xn 1) (allocate) (get.Ai.variable.Yn 3 3) (get.Ai.variable.Yn 4 4) (head.cut) (get.Ai.symbol 2 general) (put.Ai.variable.Yn 3 1) (put.Ai.variable.Yn 2 2) (put.Ai.structure 4 %-%> 2) (unify.value.Xn 6) (unify.value.Xn 1) (put.Ai.structure 1 %; 2) (unify.value.Xn 4) (unify.value.Xn 5) (call 7 rewrite←conditional 3 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.symbol 2 general) (put.Ai.structure 5 is 2) (unify.local.Yn 2) (unify.symbol %$Quintus%:% choice←point) (put.Ai.structure 1 %, 2) (unify.value.Xn 5) (unify.local.Yn 1) (depart translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 70 (get.Ai.structure 1 %; 2) (allocate) (unify.variable.Yn 5) (unify.variable.Yn 1) (get.Ai.structure 2 evaluable 1) (unify.variable.Yn 2) (get.Ai.variable.Yn 3 3) (get.Ai.structure 4 %, 2) (unify.variable.Xn 1) (unify.variable.Xn 3) (get.Ai.structure 1 %; 2) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %, 2) (unify.variable.Yn 8) (unify.variable.Yn 7) (get.Ai.structure 1 %, 2) (unify.variable.Xn 1) (unify.variable.Yn 4) (get.Ai.structure 1 label 1) (unify.variable.Yn 6) (put.Ai.value.Yn 2 7) (put.Ai.value.Yn 1 3) (call 11 create←jump 3 si) (put.Ai.value.Yn 4 8) (put.Ai.value.Yn 3 7) (put.Ai.structure 2 evaluable 1) (unify.value.Yn 6) (put.Ai.value.Yn 1 5) (call 7 translate←body 4 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.structure 2 evaluable 1) (unify.value.Yn 2) (put.Ai.value.Yn 1 1) (call 3 translate←body 4 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 82 (get.Ai.structure 1 %; 2) (allocate) (unify.variable.Yn 5) (unify.variable.Yn 1) (get.Ai.symbol 2 general) (get.Ai.variable.Yn 3 2) (get.Ai.structure 4 %, 2) (unify.variable.Xn 1) (unify.variable.Xn 3) (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (unify.variable.Xn 2) (get.Ai.structure 1 %, 2) (unify.variable.Xn 1) (unify.variable.Xn 4) (get.Ai.structure 1 %$ 3) (unify.symbol either) (unify.void 1) (unify.structure relative 1) (unify.structure %- 2) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 4 %, 2) (unify.variable.Yn 6) (unify.variable.Yn 3) (get.Ai.structure 2 %, 2) (unify.variable.Xn 2) (unify.variable.Yn 4) (get.Ai.structure 2 label 1) (unify.value.Xn 1) (head.cut) (put.Ai.value.Yn 2 3) (put.Ai.value.Yn 1 2) (call 9 create←jump 3 si) (put.Ai.value.Yn 4 6) (put.Ai.value.Yn 3 3) (put.Ai.symbol 2 general) (put.Ai.value.Yn 1 5) (call 7 translate←body 4 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←disjunct 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 6 (get.Ai.constant 1 true) (get.Ai.symbol 4 void) (cut.proceed) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 6 (get.Ai.constant 1 otherwise) (get.Ai.symbol 4 void) (cut.proceed) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 11 (get.Ai.constant 1 fail) (get.Ai.symbol 2 general) (get.Ai.structure 4 %$ 1) (unify.symbol fail) (cut.proceed) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 21 (get.Ai.constant 1 fail) (get.Ai.structure 2 evaluable 1) (unify.variable.Xn 1) (get.Ai.structure 4 %$ 2) (unify.symbol jump←to) (unify.structure relative 1) (unify.structure %- 2) (unify.value.Xn 1) (unify.void 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 8 (get.Ai.constant 1 false) (head.cut) (put.Ai.symbol 1 fail) (execute translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 11 (get.Ai.constant 1 %!) (get.Ai.structure 4 %$ 1) (unify.structure cut 1) (unify.void 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 66 (get.Ai.structure 1 %= 2) (unify.variable.Xn 1) (unify.variable.Xn 5) (get.Ai.symbol 2 general) (get.Ai.structure 4 %, 2) (allocate) (unify.variable.Yn 7) (unify.variable.Yn 4) (head.cut) (put.Ai.variable.Yn 4 6) (put.Ai.variable.Yn 3 2) (put.Ai.value.Xn 2 5) (call 10 rearrange←for←eq 4 si) (put.Ai.variable.Yn 6 5) (put.Ai.constant 5 0) (put.Ai.symbol 4 void) (put.Ai.value.Yn 3 7) (put.Ai.structure 2 %/ 2) (unify.symbol put) (unify.variable.Yn 3) (put.Ai.unsafe.Yn 1 6) (call 8 translate←arg 6 si) (put.Ai.variable.Yn 6 1) (put.Ai.unsafe.Yn 5 5) (put.Ai.symbol 4 void) (put.Ai.value.Yn 3 4) (put.Ai.structure 2 %/ 2) (unify.symbol get) (unify.value.Yn 3) (put.Ai.unsafe.Yn 1 2) (call 4 translate←arg 6 si) (put.Ai.unsafe.Yn 1 1) (depart police←goal←size 1 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 28 (get.Ai.structure 1 is 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.symbol 2 general) (get.Ai.structure 4 %, 2) (unify.variable.Yn 2) (unify.structure %= 2) (unify.symbol store) (unify.variable.Xn 2) (head.cut) (call 5 expr←result 2 si) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←expr 2 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 21 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 4 3) (put.Ai.value.Yn 1 1) (call 6 is←arith←test 1 si) (body.cut) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←test 3 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 17 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 4 2) (put.Ai.value.Yn 1 1) (call 5 is←arith←goal 1 si) (body.cut) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←expr 2 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 47 (allocate) (get.Ai.variable.Yn 2 4) (get.Ai.variable.Yn 3 5) (get.Ai.variable.Yn 4 6) (put.Ai.variable.Yn 4 1) (put.Ai.variable.Yn 3 3) (put.Ai.variable.Yn 2 2) (call 10 evaluable←argument 4 si) (put.Ai.value.Yn 1 2) (is.a 254) (put.Ai.void 3) (put.Ai.variable.Yn 2 7) (put.Ai.value.Yn 1 2) (functor) (put.Ai.unsafe.Yn 1 7) (is.a 128) (body.cut) (put.Ai.value.Yn 4 6) (put.Ai.value.Yn 3 5) (put.Ai.value.Yn 2 4) (put.Ai.structure 5 is 2) (unify.local.Yn 3) (unify.local.Yn 2) (put.Ai.structure 1 %, 2) (unify.value.Xn 5) (unify.local.Yn 1) (depart translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 56 (allocate) (get.Ai.variable.Yn 1 3) (get.Ai.symbol 2 general) (get.Ai.structure 4 %, 2) (unify.variable.Yn 4) (unify.structure %$ 3) (unify.symbol call) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 predicate 1) (unify.structure %/ 2) (unify.variable.Yn 5) (unify.variable.Yn 2) (put.Ai.value.Yn 3 2) (put.Ai.value.Yn 2 5) (put.Ai.value.Yn 1 3) (functor) (put.Ai.value.Yn 1 5) (is.a 128) (body.cut) (put.Ai.variable.Yn 7 1) (put.Ai.constant 6 0) (put.Ai.void 5) (put.Ai.value.Yn 4 4) (put.Ai.symbol 3 put) (put.Ai.value.Yn 2 3) (put.Ai.value.Yn 1 2) (call 4 translate←args 7 si) (put.Ai.unsafe.Yn 1 1) (depart police←goal←size 1 si) ) (ASSEMBLE.CLAUSE ( translate←body 4 si ) 9 (get.Ai.symbol 2 general) (put.Ai.value.Xn 2 1) (put.Ai.constant 1 402) (execute nerror 2 si) ) (ASSEMBLE.CLAUSE ( rearrange←for←eq 4 si ) 9 (get.Ai.value.Xn 3 1) (get.Ai.value.Xn 4 2) (allocate) (put.Ai.value.Xn 1 2) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( rearrange←for←eq 4 si ) 5 (get.Ai.value.Xn 3 2) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←argument 4 si ) 11 (get.Ai.structure 1 put 1) (unify.variable.Xn 1) (get.Ai.value.Xn 2 1) (get.Ai.structure 4 put 1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←argument 4 si ) 13 (get.Ai.structure 1 put 2) (unify.variable.Xn 1) (unify.variable.Xn 5) (get.Ai.value.Xn 2 5) (get.Ai.structure 4 put 2) (unify.value.Xn 1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←argument 4 si ) 11 (get.Ai.structure 1 skip 1) (unify.variable.Xn 1) (get.Ai.value.Xn 2 1) (get.Ai.structure 4 skip 1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←argument 4 si ) 13 (get.Ai.structure 1 skip 2) (unify.variable.Xn 1) (unify.variable.Xn 5) (get.Ai.value.Xn 2 5) (get.Ai.structure 4 skip 2) (unify.value.Xn 1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←argument 4 si ) 11 (get.Ai.structure 1 tab 1) (unify.variable.Xn 1) (get.Ai.value.Xn 2 1) (get.Ai.structure 4 tab 1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←argument 4 si ) 13 (get.Ai.structure 1 tab 2) (unify.variable.Xn 1) (unify.variable.Xn 5) (get.Ai.value.Xn 2 5) (get.Ai.structure 4 tab 2) (unify.value.Xn 1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←argument 4 si ) 11 (get.Ai.structure 1 ttyput 1) (unify.variable.Xn 1) (get.Ai.value.Xn 2 1) (get.Ai.structure 4 ttyput 1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←argument 4 si ) 11 (get.Ai.structure 1 ttyskip 1) (unify.variable.Xn 1) (get.Ai.value.Xn 2 1) (get.Ai.structure 4 ttyskip 1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←argument 4 si ) 11 (get.Ai.structure 1 ttytab 1) (unify.variable.Xn 1) (get.Ai.value.Xn 2 1) (get.Ai.structure 4 ttytab 1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( translate←disjunct 4 si ) 78 (allocate) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 7) (get.Ai.structure 4 %; 2) (unify.variable.Xn 2) (unify.variable.Xn 3) (get.Ai.structure 2 %, 2) (unify.variable.Xn 2) (unify.variable.Xn 4) (get.Ai.structure 2 %$ 2) (unify.symbol or) (unify.structure relative 1) (unify.structure %- 2) (unify.variable.Xn 2) (unify.void 1) (get.Ai.structure 4 %, 2) (unify.variable.Yn 6) (unify.variable.Yn 3) (get.Ai.structure 3 %, 2) (unify.variable.Xn 3) (unify.variable.Yn 4) (get.Ai.structure 3 label 1) (unify.value.Xn 2) (put.Ai.variable.Yn 3 1) (put.Ai.variable.Yn 2 5) (call 10 is←a←disjunct 3 si) (body.cut) (put.Ai.value.Yn 2 3) (put.Ai.value.Yn 1 7) (call 9 copy←jump 2 si) (put.Ai.value.Yn 4 6) (put.Ai.value.Yn 3 3) (put.Ai.symbol 2 general) (put.Ai.unsafe.Yn 1 5) (call 7 translate←body 4 si) (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 translate←disjunct 4 si) ) (ASSEMBLE.CLAUSE ( translate←disjunct 4 si ) 16 (get.Ai.structure 4 %, 2) (unify.variable.Xn 3) (unify.variable.Xn 4) (get.Ai.structure 3 %$ 1) (unify.symbol or←finally) (put.Ai.value.Xn 3 2) (put.Ai.symbol 2 general) (execute translate←body 4 si) ) (ASSEMBLE.CLAUSE ( is←a←disjunct 3 si ) 4 (allocate) (is.a 1) (body.cut) (fail) ) (ASSEMBLE.CLAUSE ( is←a←disjunct 3 si ) 14 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (unify.void 1) (allocate) (put.Ai.constant 3 2) (put.Ai.symbol 2 %-%>) (functor) (body.cut) (fail) ) (ASSEMBLE.CLAUSE ( is←a←disjunct 3 si ) 10 (get.Ai.structure 1 %; 2) (unify.variable.Xn 4) (unify.variable.Xn 1) (get.Ai.value.Xn 2 4) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( copy←jump 2 si ) 4 (put.Ai.symbol 3 void) (execute create←jump 3 si) ) (ASSEMBLE.CLAUSE ( create←jump 3 si ) 29 (get.Ai.structure 1 %$ 2) (unify.symbol jump←to) (unify.structure relative 1) (unify.structure %- 2) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 2 %$ 2) (unify.symbol jump←to) (unify.structure relative 1) (unify.structure %- 2) (unify.value.Xn 1) (unify.void 1) (get.Ai.symbol 3 void) (proceed) ) (ASSEMBLE.CLAUSE ( create←jump 3 si ) 13 (get.Ai.structure 1 %$ 1) (unify.symbol proceed) (get.Ai.structure 2 %$ 1) (unify.symbol proceed) (get.Ai.symbol 3 void) (proceed) ) (ASSEMBLE.CLAUSE ( create←jump 3 si ) 13 (get.Ai.structure 1 %$ 1) (unify.symbol progress) (get.Ai.structure 2 %$ 1) (unify.symbol progress) (get.Ai.symbol 3 void) (proceed) ) (ASSEMBLE.CLAUSE ( create←jump 3 si ) 21 (get.Ai.constant 1 continue) (get.Ai.structure 2 %$ 2) (unify.symbol jump←to) (unify.structure relative 1) (unify.structure %- 2) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 3 label 1) (unify.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( rewrite←conditional 3 si ) 43 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.structure 1 %-%> 2) (unify.variable.Xn 1) (unify.variable.Xn 4) (get.Ai.variable.Yn 2 2) (get.Ai.structure 3 %; 2) (unify.variable.Xn 2) (unify.variable.Yn 3) (get.Ai.structure 2 %, 2) (unify.value.Xn 1) (unify.structure %, 2) (unify.variable.Xn 2) (unify.value.Xn 4) (get.Ai.structure 2 %$Quintus%:% %! 1) (unify.local.Yn 2) (head.cut) (call 6 check←no←cut←in←if←part 1 si) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart rewrite←conditional 3 si) ) (ASSEMBLE.CLAUSE ( rewrite←conditional 3 si ) 12 (get.Ai.structure 1 %-%> 2) (unify.variable.Xn 1) (unify.variable.Xn 4) (get.Ai.value.Xn 3 4) (allocate) (call 3 is←true 1 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( rewrite←conditional 3 si ) 3 (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( check←no←cut←in←if←part 1 si ) 5 (allocate) (call 3 no←cut←in 1 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( check←no←cut←in←if←part 1 si ) 7 (put.Ai.value.Xn 2 1) (put.Ai.constant 1 357) (execute nerror 2 si) ) (ASSEMBLE.CLAUSE ( no←cut←in 1 si ) 3 (allocate) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( no←cut←in 1 si ) 14 (get.Ai.structure 1 %, 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (head.cut) (call 4 no←cut←in 1 si) (put.Ai.value.Yn 1 1) (depart no←cut←in 1 si) ) (ASSEMBLE.CLAUSE ( no←cut←in 1 si ) 14 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (head.cut) (call 4 no←cut←in 1 si) (put.Ai.value.Yn 1 1) (depart no←cut←in 1 si) ) (ASSEMBLE.CLAUSE ( no←cut←in 1 si ) 14 (get.Ai.structure 1 %-%> 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (head.cut) (call 4 no←cut←in 1 si) (put.Ai.value.Yn 1 1) (depart no←cut←in 1 si) ) (ASSEMBLE.CLAUSE ( no←cut←in 1 si ) 7 (get.Ai.structure 1 %\%+ 1) (unify.variable.Xn 1) (head.cut) (execute no←cut←in 1 si) ) (ASSEMBLE.CLAUSE ( no←cut←in 1 si ) 5 (get.Ai.constant 1 %!) (head.cut) (fail) ) (ASSEMBLE.CLAUSE ( no←cut←in 1 si ) 1 (proceed) ) (ASSEMBLE.CLAUSE ( expr←result 2 si ) 9 (get.Ai.structure 2 occ 3) (unify.void 1) (unify.local.Xn 1) (unify.void 1) (allocate) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( expr←result 2 si ) 7 (get.Ai.structure 2 const 1) (unify.local.Xn 1) (allocate) (is.a 56) (depart.cut) ) (ASSEMBLE.CLAUSE ( translate←args 7 si ) 10 (get.Ai.constant 1 0) (get.Ai.symbol 4 void) (get.Ai.symbol 5 void) (get.Ai.value.Xn 7 6) (cut.proceed) ) (ASSEMBLE.CLAUSE ( translate←args 7 si ) 63 (allocate) (get.Ai.variable.Yn 1 7) (get.Ai.variable.Yn 2 2) (get.Ai.symbol 3 put) (get.Ai.structure 4 %, 2) (unify.variable.Yn 8) (unify.variable.Yn 3) (get.Ai.symbol 5 void) (get.Ai.variable.Yn 6 9) (get.Ai.variable.Yn 7 5) (head.cut) (put.Ai.variable.Yn 3 6) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 7) (arg) (load.value.Yn 7) (add.neg.word -1) (store.variable.Yn 1) (put.Ai.variable.Yn 6 4) (put.Ai.value.Yn 5 9) (put.Ai.void 4) (put.Ai.value.Yn 3 8) (put.Ai.structure 2 %/ 2) (unify.symbol put) (unify.local.Yn 7) (put.Ai.unsafe.Yn 1 6) (call 8 translate←arg 6 si) (put.Ai.value.Yn 7 5) (put.Ai.unsafe.Yn 6 4) (put.Ai.void 5) (put.Ai.value.Yn 4 3) (put.Ai.symbol 3 put) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←args 7 si) ) (ASSEMBLE.CLAUSE ( translate←args 7 si ) 63 (allocate) (get.Ai.variable.Yn 1 7) (get.Ai.variable.Yn 2 2) (get.Ai.symbol 3 get) (get.Ai.structure 4 %, 2) (unify.variable.Yn 3) (unify.variable.Yn 8) (get.Ai.symbol 5 void) (get.Ai.variable.Yn 6 9) (get.Ai.variable.Yn 7 5) (head.cut) (put.Ai.variable.Yn 3 6) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 7) (arg) (load.value.Yn 7) (add.neg.word -1) (store.variable.Yn 1) (put.Ai.variable.Yn 6 4) (put.Ai.value.Yn 5 9) (put.Ai.void 4) (put.Ai.value.Yn 3 8) (put.Ai.structure 2 %/ 2) (unify.symbol get) (unify.local.Yn 7) (put.Ai.unsafe.Yn 1 6) (call 8 translate←arg 6 si) (put.Ai.value.Yn 7 5) (put.Ai.unsafe.Yn 6 4) (put.Ai.void 5) (put.Ai.value.Yn 4 3) (put.Ai.symbol 3 get) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←args 7 si) ) (ASSEMBLE.CLAUSE ( translate←args 7 si ) 63 (allocate) (get.Ai.variable.Yn 1 12) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (get.Ai.structure 4 %, 2) (unify.variable.Yn 4) (unify.variable.Yn 9) (get.Ai.structure 5 %, 2) (unify.variable.Yn 5) (unify.variable.Yn 10) (get.Ai.variable.Yn 6 11) (get.Ai.variable.Yn 7 7) (put.Ai.variable.Yn 3 8) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 12) (arg) (load.value.Yn 12) (add.neg.word -1) (store.variable.Yn 1) (put.Ai.variable.Yn 6 6) (put.Ai.value.Yn 5 11) (put.Ai.value.Yn 4 10) (put.Ai.value.Yn 3 9) (put.Ai.value.Yn 2 3) (put.Ai.unsafe.Yn 1 8) (call 10 translate←arg 6 si) (put.Ai.value.Yn 7 7) (put.Ai.unsafe.Yn 6 6) (put.Ai.value.Yn 5 5) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←args 7 si) ) (ASSEMBLE.CLAUSE ( translate←arg 6 si ) 24 (get.Ai.structure 3 %= 2) (unify.local.Xn 2) (unify.structure occ 3) (unify.void 1) (unify.local.Xn 1) (unify.void 1) (get.Ai.symbol 4 void) (allocate) (get.Ai.variable.Yn 5 2) (get.Ai.variable.Yn 6 1) (is.a 1) (body.cut) (load.value.Yn 2) (add.pos.word 1) (store.value.Yn 1) (progress) ) (ASSEMBLE.CLAUSE ( translate←arg 6 si ) 22 (get.Ai.structure 3 %= 2) (unify.local.Xn 2) (unify.structure const 1) (unify.local.Xn 1) (get.Ai.symbol 4 void) (allocate) (get.Ai.variable.Yn 5 2) (get.Ai.variable.Yn 6 1) (is.a 248) (body.cut) (load.value.Yn 2) (add.pos.word 1) (store.value.Yn 1) (progress) ) (ASSEMBLE.CLAUSE ( translate←arg 6 si ) 77 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.structure 2 %/ 2) (unify.symbol get) (unify.variable.Xn 7) (get.Ai.structure 3 %, 2) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %= 2) (unify.variable.Xn 3) (unify.variable.Xn 2) (get.Ai.structure 3 %/ 2) (unify.symbol get) (unify.value.Xn 7) (get.Ai.structure 2 functor 1) (unify.structure %/ 2) (unify.variable.Xn 2) (unify.variable.Yn 1) (get.Ai.structure 1 %, 2) (unify.variable.Yn 3) (unify.structure %, 2) (unify.variable.Xn 1) (unify.variable.Yn 4) (get.Ai.structure 1 %$ 1) (unify.symbol resume) (get.Ai.symbol 4 void) (get.Ai.variable.Yn 5 6) (get.Ai.variable.Yn 6 5) (head.cut) (put.Ai.value.Yn 3 1) (put.Ai.value.Yn 1 2) (functor) (load.value.Yn 6) (add.pos.word 2) (store.variable.Xn 6) (put.Ai.value.Yn 7 5) (put.Ai.value.Yn 5 4) (put.Ai.value.Yn 4 3) (put.Ai.symbol 3 unify) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←args 7 si) ) (ASSEMBLE.CLAUSE ( translate←arg 6 si ) 76 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.structure 2 %/ 2) (unify.symbol put) (unify.variable.Xn 7) (get.Ai.structure 3 %, 2) (unify.variable.Yn 4) (unify.structure %, 2) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %= 2) (unify.variable.Xn 3) (unify.variable.Xn 2) (get.Ai.structure 3 %/ 2) (unify.symbol put) (unify.value.Xn 7) (get.Ai.structure 2 functor 1) (unify.structure %/ 2) (unify.variable.Xn 2) (unify.variable.Yn 1) (get.Ai.structure 1 %, 2) (unify.variable.Yn 3) (unify.structure %$ 1) (unify.symbol resume) (get.Ai.symbol 4 void) (get.Ai.variable.Yn 5 6) (get.Ai.variable.Yn 6 5) (head.cut) (put.Ai.value.Yn 3 1) (put.Ai.value.Yn 1 2) (functor) (load.value.Yn 6) (add.pos.word 2) (store.variable.Xn 6) (put.Ai.value.Yn 7 5) (put.Ai.value.Yn 5 4) (put.Ai.value.Yn 4 3) (put.Ai.symbol 3 write) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←args 7 si) ) (ASSEMBLE.CLAUSE ( translate←arg 6 si ) 82 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.symbol 2 unify) (get.Ai.structure 3 %= 2) (unify.symbol unify) (unify.structure occ 3) (unify.void 1) (unify.variable.Xn 3) (unify.void 1) (get.Ai.structure 4 %, 2) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %= 2) (unify.variable.Xn 2) (unify.variable.Xn 4) (get.Ai.structure 2 unify 1) (unify.structure %/ 2) (unify.variable.Xn 2) (unify.variable.Yn 1) (get.Ai.structure 4 occ 3) (unify.void 1) (unify.value.Xn 3) (unify.void 1) (get.Ai.structure 1 %, 2) (unify.variable.Yn 3) (unify.structure %, 2) (unify.variable.Xn 1) (unify.variable.Yn 4) (get.Ai.structure 1 %$ 1) (unify.symbol resume) (get.Ai.variable.Yn 5 6) (get.Ai.variable.Yn 6 5) (head.cut) (put.Ai.value.Yn 3 1) (put.Ai.value.Yn 1 2) (functor) (load.value.Yn 6) (add.pos.word 2) (store.variable.Xn 6) (put.Ai.value.Yn 7 5) (put.Ai.value.Yn 5 4) (put.Ai.value.Yn 4 3) (put.Ai.symbol 3 unify) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←args 7 si) ) (ASSEMBLE.CLAUSE ( translate←arg 6 si ) 81 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.symbol 2 write) (get.Ai.structure 3 %= 2) (unify.symbol write) (unify.structure occ 3) (unify.void 1) (unify.variable.Xn 3) (unify.void 1) (get.Ai.structure 4 %, 2) (unify.variable.Yn 4) (unify.structure %, 2) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %= 2) (unify.variable.Xn 2) (unify.variable.Xn 4) (get.Ai.structure 2 write 1) (unify.structure %/ 2) (unify.variable.Xn 2) (unify.variable.Yn 1) (get.Ai.structure 4 occ 3) (unify.void 1) (unify.value.Xn 3) (unify.void 1) (get.Ai.structure 1 %, 2) (unify.variable.Yn 3) (unify.structure %$ 1) (unify.symbol resume) (get.Ai.variable.Yn 5 6) (get.Ai.variable.Yn 6 5) (head.cut) (put.Ai.value.Yn 3 1) (put.Ai.value.Yn 1 2) (functor) (load.value.Yn 6) (add.pos.word 2) (store.variable.Xn 6) (put.Ai.value.Yn 7 5) (put.Ai.value.Yn 5 4) (put.Ai.value.Yn 4 3) (put.Ai.symbol 3 write) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart translate←args 7 si) ) (ASSEMBLE.CLAUSE ( translate←test 3 si ) 55 (put.Ai.value.Xn 6 2) (get.Ai.structure 3 %, 2) (allocate) (unify.variable.Yn 5) (unify.structure %, 2) (unify.variable.Yn 2) (unify.structure %, 2) (unify.variable.Yn 6) (unify.structure %, 2) (unify.variable.Yn 3) (unify.variable.Xn 3) (put.Ai.variable.Yn 5 1) (put.Ai.variable.Yn 4 4) (put.Ai.value.Xn 2 1) (put.Ai.value.Xn 1 6) (call 9 arith←test 5 si) (body.cut) (put.Ai.value.Yn 4 6) (put.Ai.value.Yn 3 5) (put.Ai.constant 2 0) (put.Ai.unsafe.Yn 1 4) (call 6 translate←expr 4 si) (put.Ai.value.Yn 4 3) (put.Ai.value.Yn 3 2) (put.Ai.constant 2 1) (put.Ai.unsafe.Yn 1 1) (depart translate←expr 4 si) ) (ASSEMBLE.CLAUSE ( arith←test 5 si ) 16 (get.Ai.constant 1 general) (put.Ai.value.Xn 1 2) (get.Ai.structure 3 %$ 1) (unify.variable.Xn 2) (put.Ai.value.Xn 3 4) (put.Ai.value.Xn 4 5) (head.cut) (execute general←test 4 si) ) (ASSEMBLE.CLAUSE ( arith←test 5 si ) 25 (get.Ai.structure 1 evaluable 1) (unify.variable.Xn 6) (put.Ai.value.Xn 1 2) (get.Ai.structure 3 %$ 2) (unify.variable.Xn 2) (unify.structure relative 1) (unify.structure %- 2) (unify.value.Xn 6) (unify.void 1) (put.Ai.value.Xn 3 4) (put.Ai.value.Xn 4 5) (head.cut) (execute evaluable←test 4 si) ) (ASSEMBLE.CLAUSE ( translate←expr 2 si ) 30 (allocate) (get.Ai.variable.Yn 1 4) (get.Ai.structure 2 %, 2) (unify.variable.Yn 2) (unify.variable.Yn 3) (call 7 development 0 si) (body.cut) (put.Ai.variable.Yn 2 1) (put.Ai.value.Yn 1 4) (call 6 fold←constants 2 si) (put.Ai.value.Yn 4 3) (put.Ai.value.Yn 3 2) (put.Ai.constant 2 0) (put.Ai.unsafe.Yn 1 1) (depart translate←expr 4 si) ) (ASSEMBLE.CLAUSE ( translate←expr 2 si ) 10 (get.Ai.structure 2 %, 2) (unify.variable.Xn 3) (unify.variable.Xn 4) (put.Ai.constant 2 0) (execute translate←expr 4 si) ) (ASSEMBLE.CLAUSE ( fold←constants 2 si ) 58 (allocate) (get.Ai.variable.Yn 1 5) (get.Ai.variable.Yn 2 1) (put.Ai.value.Yn 1 5) (is.a 254) (put.Ai.variable.Yn 3 4) (put.Ai.variable.Yn 2 6) (put.Ai.value.Yn 1 5) (functor) (load.value.Yn 4) (load.pos.word 0) (greater.than) (body.cut) (put.Ai.value.Yn 3 4) (put.Ai.unsafe.Yn 2 6) (put.Ai.variable.Yn 1 2) (functor) (put.Ai.variable.Yn 5 3) (put.Ai.constant 4 0) (put.Ai.value.Yn 3 2) (put.Ai.value.Yn 2 5) (put.Ai.unsafe.Yn 1 4) (call 6 fold←constants 5 si) (load.value.Yn 3) (load.pos.word 0) (equal.to.else 55) (put.Ai.structure 1 is 2) (unify.local.Yn 1) (unify.local.Yn 2) (depart call 1 interp) (put.Ai.unsafe.Yn 1 2) (get.Ai.value.Yn 1 1) (progress) ) (ASSEMBLE.CLAUSE ( fold←constants 2 si ) 3 (get.Ai.value.Xn 2 1) (proceed) ) (ASSEMBLE.CLAUSE ( fold←constants 5 si ) 6 (get.Ai.constant 1 0) (get.Ai.value.Xn 5 4) (cut.proceed) ) (ASSEMBLE.CLAUSE ( fold←constants 5 si ) 68 (allocate) (get.Ai.variable.Yn 1 5) (get.Ai.variable.Yn 2 1) (get.Ai.variable.Yn 3 2) (get.Ai.variable.Yn 4 6) (get.Ai.variable.Yn 5 4) (put.Ai.variable.Yn 3 9) (put.Ai.value.Yn 2 1) (put.Ai.value.Yn 1 5) (arg) (put.Ai.variable.Yn 2 8) (put.Ai.unsafe.Yn 1 9) (call 11 fold←constants 2 si) (put.Ai.value.Yn 3 8) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 5) (arg) (load.choice.point) (store.variable.Yn 7) (either 11 50) (put.Ai.unsafe.Yn 1 8) (is.a 56) (load.value.Yn 7) (cut.to.choice.point) (put.Ai.value.Yn 1 6) (get.Ai.variable.Yn 1 3) (jump.to 56) (or.finally) (put.Ai.variable.Yn 1 3) (get.Ai.constant 1 1) (load.value.Yn 5) (add.neg.word -1) (store.variable.Xn 1) (put.Ai.value.Yn 5 4) (put.Ai.unsafe.Yn 4 3) (put.Ai.value.Yn 3 2) (put.Ai.value.Yn 2 1) (depart fold←constants 5 si) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 16 (get.Ai.symbol 3 void) (get.Ai.structure 4 %= 2) (unify.symbol load) (unify.structure occ 3) (unify.void 1) (unify.local.Xn 1) (unify.void 1) (allocate) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 16 (get.Ai.structure 1 %# 1) (unify.variable.Xn 1) (get.Ai.symbol 3 void) (get.Ai.structure 4 %= 2) (unify.symbol load) (unify.structure const 1) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 6 (get.Ai.list 1) (unify.variable.Xn 1) (unify.nil) (head.cut) (execute translate←expr 4 si) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 22 (get.Ai.structure 1 %$Quintus%:% compare 2) (unify.variable.Xn 6) (unify.variable.Xn 5) (get.Ai.constant 2 0) (get.Ai.symbol 3 void) (head.cut) (put.Ai.symbol 3 continue) (put.Ai.symbol 2 general) (put.Ai.structure 1 %$Quintus%:% compare 2) (unify.value.Xn 6) (unify.value.Xn 5) (execute translate←body 4 si) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 22 (get.Ai.structure 1 raw←float 1) (unify.variable.Xn 1) (get.Ai.constant 2 0) (get.Ai.structure 4 %, 2) (unify.variable.Xn 4) (unify.structure %$ 1) (unify.symbol raw←float) (head.cut) (put.Ai.constant 2 0) (execute translate←expr 4 si) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 14 (get.Ai.symbol 3 void) (get.Ai.structure 4 %= 2) (unify.symbol load) (unify.structure const 1) (unify.local.Xn 1) (allocate) (is.a 56) (depart.cut) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 11 (get.Ai.symbol 3 void) (get.Ai.structure 4 %$ 1) (unify.variable.Xn 2) (allocate) (call 3 evaluable←expr 2 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 53 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.constant 2 1) (get.Ai.structure 3 %, 2) (unify.variable.Yn 2) (unify.structure %, 2) (unify.variable.Yn 3) (unify.structure %= 2) (unify.symbol store) (unify.structure occ 3) (unify.void 1) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 4 %= 2) (unify.symbol load) (unify.structure occ 3) (unify.void 1) (unify.value.Xn 1) (unify.void 1) (put.Ai.value.Yn 1 1) (call 6 conversion←expr 1 si) (body.cut) (put.Ai.value.Yn 4 3) (put.Ai.value.Yn 3 2) (put.Ai.constant 2 0) (put.Ai.value.Yn 1 1) (depart translate←expr 4 si) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 26 (allocate) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (get.Ai.structure 4 %, 2) (unify.variable.Yn 4) (unify.variable.Xn 2) (put.Ai.variable.Yn 3 1) (call 7 evaluable←expr←1 3 si) (body.cut) (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 translate←expr 4 si) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 52 (get.Ai.constant 2 0) (get.Ai.structure 3 %, 2) (allocate) (unify.variable.Yn 5) (unify.variable.Yn 2) (get.Ai.structure 4 %, 2) (unify.variable.Yn 6) (unify.structure %, 2) (unify.variable.Yn 3) (unify.structure %$ 1) (unify.variable.Xn 2) (put.Ai.variable.Yn 4 1) (put.Ai.variable.Yn 3 4) (call 9 evaluable←expr 4 si) (body.cut) (put.Ai.value.Yn 4 6) (put.Ai.value.Yn 3 5) (put.Ai.constant 2 0) (put.Ai.unsafe.Yn 1 4) (call 6 translate←expr 4 si) (put.Ai.value.Yn 4 3) (put.Ai.value.Yn 3 2) (put.Ai.constant 2 1) (put.Ai.unsafe.Yn 1 1) (depart translate←expr 4 si) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 41 (get.Ai.constant 2 1) (get.Ai.structure 3 %, 2) (unify.variable.Xn 3) (unify.structure %, 2) (unify.variable.Xn 2) (unify.structure %= 2) (unify.symbol store) (unify.structure occ 3) (unify.void 1) (unify.variable.Xn 5) (unify.void 1) (get.Ai.structure 4 %= 2) (unify.symbol load) (unify.structure occ 3) (unify.void 1) (unify.value.Xn 5) (unify.void 1) (head.cut) (put.Ai.value.Xn 4 2) (put.Ai.constant 2 0) (execute translate←expr 4 si) ) (ASSEMBLE.CLAUSE ( translate←expr 4 si ) 20 (put.Ai.value.Xn 5 1) (get.Ai.structure 3 %$ 1) (unify.symbol fail) (get.Ai.structure 4 %$ 1) (unify.symbol fail) (put.Ai.structure 1 %- 2) (unify.symbol %[WARNING%:% Invalid% arithmetic% expression%]% ) (unify.local.Xn 5) (execute message 1 si) ) (ASSEMBLE.CLAUSE ( is←arith←goal 1 si ) 6 (get.Ai.structure 1 settopval 2) (unify.void 2) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( is←arith←goal 1 si ) 5 (get.Ai.structure 1 %$Quintus%:% %! 1) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %=%:%= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %=%\%= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %< 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %>%= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %> 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %=%< 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %=%= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %\%=%= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %@%< 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %@%>%= 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %@%> 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←arith←test 1 si ) 5 (get.Ai.structure 1 %@%=%< 2) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 %+ 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 add) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 %- 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 subtract) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 %* 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 multiply) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 %/ 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 divide) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 %/%/ 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 integer←divide) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 mod 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 modulus) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 %<%< 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 left←shift) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 %>%> 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 right←shift) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 %/%\ 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 boolean←and) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 4 si ) 12 (get.Ai.structure 1 %\%/ 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 boolean←or) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr←1 3 si ) 21 (get.Ai.structure 1 %+ 2) (unify.variable.Xn 4) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 2) (unify.symbol add←integer) (unify.structure short 1) (unify.value.Xn 1) (get.Ai.value.Xn 3 4) (allocate) (call 3 short←integer 1 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( evaluable←expr←1 3 si ) 21 (get.Ai.structure 1 %+ 2) (unify.variable.Xn 1) (unify.variable.Xn 4) (get.Ai.structure 2 %$ 2) (unify.symbol add←integer) (unify.structure short 1) (unify.value.Xn 1) (get.Ai.value.Xn 3 4) (allocate) (call 3 short←integer 1 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( evaluable←expr←1 3 si ) 29 (get.Ai.structure 1 %- 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 2) (get.Ai.structure 2 %$ 2) (unify.symbol add←integer) (unify.structure short 1) (unify.variable.Yn 1) (get.Ai.value.Xn 3 1) (put.Ai.value.Yn 1 2) (is.a 24) (load.value.Yn 2) (minus) (store.value.Yn 1) (put.Ai.value.Yn 1 1) (call 3 short←integer 1 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( evaluable←expr←1 3 si ) 6 (get.Ai.structure 2 %$ 1) (unify.variable.Xn 2) (execute evaluable←expr 3 si) ) (ASSEMBLE.CLAUSE ( conversion←expr 1 si ) 5 (get.Ai.structure 1 integer 1) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( conversion←expr 1 si ) 5 (get.Ai.structure 1 float 1) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 3 si ) 9 (get.Ai.structure 1 %- 1) (unify.variable.Xn 1) (get.Ai.symbol 2 minus) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 3 si ) 9 (get.Ai.structure 1 %\ 1) (unify.variable.Xn 1) (get.Ai.symbol 2 boolean←not) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 3 si ) 9 (get.Ai.structure 1 float 1) (unify.variable.Xn 1) (get.Ai.symbol 2 float) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 3 si ) 9 (get.Ai.structure 1 integer 1) (unify.variable.Xn 1) (get.Ai.symbol 2 fix) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 3 si ) 13 (get.Ai.structure 1 settopval 2) (unify.variable.Xn 4) (unify.variable.Xn 1) (get.Ai.structure 2 settopval 1) (unify.value.Xn 4) (get.Ai.value.Xn 3 1) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( evaluable←expr 3 si ) 9 (get.Ai.structure 1 %$Quintus%:% %! 1) (unify.variable.Xn 1) (get.Ai.symbol 2 cut←to←choice←point) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 2 si ) 6 (get.Ai.constant 1 %$Quintus%:% choice←point) (get.Ai.symbol 2 load←choice←point) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←expr 2 si ) 7 (get.Ai.constant 1 %$Quintus%:% cur←clause) (get.Ai.symbol 2 load←cur←clause) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( evaluable←expr 2 si ) 10 (get.Ai.structure 1 settopval 1) (unify.variable.Xn 1) (get.Ai.structure 2 gettopval 1) (unify.value.Xn 1) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 12 (get.Ai.structure 1 %=%:%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 equal←to) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 12 (get.Ai.structure 1 %=%\%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←equal←to) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 12 (get.Ai.structure 1 %< 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 less←than) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 12 (get.Ai.structure 1 %>%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←less←than) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 12 (get.Ai.structure 1 %> 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 greater←than) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 12 (get.Ai.structure 1 %=%< 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←greater←than) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 16 (get.Ai.structure 1 %=%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 equal←to) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 16 (get.Ai.structure 1 %\%=%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←equal←to) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 16 (get.Ai.structure 1 %@%< 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 less←than) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 16 (get.Ai.structure 1 %@%>%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←less←than) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 16 (get.Ai.structure 1 %@%> 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 greater←than) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( general←test 4 si ) 16 (get.Ai.structure 1 %@%=%< 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←greater←than) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 12 (get.Ai.structure 1 %=%:%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 equal←to←else) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 12 (get.Ai.structure 1 %=%\%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←equal←to←else) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 12 (get.Ai.structure 1 %< 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 less←than←else) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 12 (get.Ai.structure 1 %>%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←less←than←else) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 12 (get.Ai.structure 1 %> 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 greater←than←else) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 12 (get.Ai.structure 1 %=%< 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←greater←than←else) (get.Ai.value.Xn 3 5) (get.Ai.value.Xn 4 1) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 16 (get.Ai.structure 1 %=%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 equal←to←else) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 16 (get.Ai.structure 1 %\%=%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←equal←to←else) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 16 (get.Ai.structure 1 %@%< 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 less←than←else) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 16 (get.Ai.structure 1 %@%>%= 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←less←than←else) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 16 (get.Ai.structure 1 %@%> 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 greater←than←else) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( evaluable←test 4 si ) 16 (get.Ai.structure 1 %@%=%< 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.symbol 2 not←greater←than←else) (get.Ai.structure 3 %$Quintus%:% compare 2) (unify.value.Xn 5) (unify.value.Xn 1) (get.Ai.constant 4 0) (proceed) ) (ASSEMBLE.CLAUSE ( flatten←code 6 si ) 8 (get.Ai.constant 1 void) (get.Ai.value.Xn 4 3) (get.Ai.value.Xn 6 5) (cut.proceed) ) (ASSEMBLE.CLAUSE ( flatten←code 6 si ) 36 (get.Ai.structure 1 %, 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 4 4) (get.Ai.variable.Yn 6 6) (head.cut) (put.Ai.variable.Yn 6 5) (put.Ai.variable.Yn 4 3) (put.Ai.value.Yn 2 2) (call 9 flatten←code 6 si) (put.Ai.value.Yn 6 6) (put.Ai.unsafe.Yn 5 5) (put.Ai.value.Yn 4 4) (put.Ai.unsafe.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart flatten←code 6 si) ) (ASSEMBLE.CLAUSE ( flatten←code 6 si ) 42 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 2) (get.Ai.list 3) (unify.variable.Xn 3) (unify.variable.Xn 2) (get.Ai.structure 3 %; 2) (unify.variable.Xn 3) (unify.variable.Yn 3) (get.Ai.value.Xn 4 2) (get.Ai.variable.Yn 6 5) (head.cut) (put.Ai.variable.Yn 6 4) (put.Ai.nil 4) (put.Ai.value.Yn 2 2) (call 8 flatten←code 6 si) (put.Ai.value.Yn 6 5) (put.Ai.unsafe.Yn 5 4) (put.Ai.nil 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart flatten←code 6 si) ) (ASSEMBLE.CLAUSE ( flatten←code 6 si ) 34 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 3) (get.Ai.list 3) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %- 2) (unify.variable.Yn 2) (unify.local.Yn 1) (get.Ai.value.Xn 4 1) (get.Ai.value.Yn 5 2) (put.Ai.value.Xn 3 6) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (call 6 increment←time 3 si) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart mark←receipt 3 si) ) (ASSEMBLE.CLAUSE ( increment←time 3 si ) 22 (get.Ai.structure 2 %: 2) (allocate) (unify.variable.Yn 2) (unify.void 1) (get.Ai.structure 3 %: 2) (unify.variable.Yn 1) (unify.constant 0) (call 5 is←prolonged 1 si) (body.cut) (load.value.Yn 2) (add.pos.word 1) (store.value.Yn 1) (progress) ) (ASSEMBLE.CLAUSE ( increment←time 3 si ) 23 (get.Ai.structure 1 %$ 1) (unify.structure cut 1) (unify.variable.Xn 1) (get.Ai.structure 2 %: 2) (unify.value.Xn 1) (unify.variable.Xn 2) (get.Ai.structure 3 %: 2) (unify.value.Xn 1) (unify.variable.Xn 1) (head.cut) (load.value.Xn 2) (add.pos.word 1) (store.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( increment←time 3 si ) 15 (get.Ai.structure 2 %: 2) (unify.variable.Xn 1) (unify.variable.Xn 2) (get.Ai.structure 3 %: 2) (unify.value.Xn 1) (unify.variable.Xn 1) (load.value.Xn 2) (add.pos.word 1) (store.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( is←prolonged 1 si ) 5 (get.Ai.structure 1 label 1) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( is←prolonged 1 si ) 7 (get.Ai.structure 1 %$ 3) (unify.symbol call) (unify.void 2) (proceed) ) (ASSEMBLE.CLAUSE ( is←prolonged 1 si ) 7 (get.Ai.structure 1 %$ 2) (unify.symbol or) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( is←prolonged 1 si ) 6 (get.Ai.structure 1 %$ 1) (unify.symbol or←finally) (proceed) ) (ASSEMBLE.CLAUSE ( mark←receipt 3 si ) 31 (get.Ai.structure 1 %= 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 3) (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 4) (get.Ai.variable.Yn 3 2) (put.Ai.value.Yn 1 1) (is.a 254) (body.cut) (put.Ai.structure 3 %- 2) (unify.local.Yn 4) (unify.value.Yn 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (arg) (progress) ) (ASSEMBLE.CLAUSE ( mark←receipt 3 si ) 1 (proceed) ) (ASSEMBLE.CLAUSE ( number←variables 4 si ) 29 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 3 3) (get.Ai.structure 4 %; 2) (unify.variable.Xn 4) (unify.variable.Yn 4) (head.cut) (put.Ai.variable.Yn 3 2) (call 7 number←variables 4 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart number←variables 4 si) ) (ASSEMBLE.CLAUSE ( number←variables 4 si ) 7 (get.Ai.constant 1 NIL) (get.Ai.value.Xn 3 2) (get.Ai.nil 4) (proceed) ) (ASSEMBLE.CLAUSE ( number←variables 4 si ) 35 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.structure 1 %; 2) (unify.variable.Xn 6) (unify.variable.Xn 5) (get.Ai.variable.Yn 3 3) (get.Ai.list 4) (unify.variable.Xn 4) (unify.variable.Yn 4) (head.cut) (put.Ai.variable.Yn 3 2) (put.Ai.structure 1 %; 2) (unify.value.Xn 6) (unify.value.Xn 5) (call 7 number←variables 4 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart number←variables 4 si) ) (ASSEMBLE.CLAUSE ( number←variables 4 si ) 36 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 6) (get.Ai.variable.Yn 3 3) (get.Ai.list 4) (unify.value.Xn 1) (unify.variable.Yn 4) (put.Ai.variable.Yn 2 5) (call 9 var←number 2 si) (body.cut) (put.Ai.variable.Yn 3 2) (put.Ai.value.Yn 2 6) (put.Ai.unsafe.Yn 1 5) (call 7 number←variable 3 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart number←variables 4 si) ) (ASSEMBLE.CLAUSE ( number←variables 4 si ) 5 (get.Ai.list 1) (unify.void 1) (unify.variable.Xn 1) (execute number←variables 4 si) ) (ASSEMBLE.CLAUSE ( var←number 2 si ) 22 (get.Ai.structure 1 %- 2) (unify.void 1) (unify.structure %= 2) (unify.void 1) (unify.structure occ 3) (unify.void 1) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 var 6) (unify.variable.Xn 1) (unify.void 5) (get.Ai.value.Xn 2 1) (proceed) ) (ASSEMBLE.CLAUSE ( number←variable 3 si ) 8 (get.Ai.value.Xn 2 1) (head.cut) (load.value.Xn 1) (add.pos.word 1) (store.value.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( number←variable 3 si ) 3 (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( categorize←variables 4 si ) 5 (get.Ai.value.Xn 2 1) (get.Ai.symbol 4 void) (cut.proceed) ) (ASSEMBLE.CLAUSE ( categorize←variables 4 si ) 12 (load.value.Xn 2) (load.value.Xn 1) (add.pos.word 1) (equal.to) (head.cut) (put.Ai.value.Xn 2 4) (put.Ai.value.Xn 1 3) (execute categorize←variable 2 si) ) (ASSEMBLE.CLAUSE ( categorize←variables 4 si ) 55 (allocate) (get.Ai.variable.Yn 1 7) (get.Ai.variable.Yn 2 5) (put.Ai.value.Xn 1 3) (get.Ai.variable.Yn 4 3) (load.value.Yn 7) (load.value.Yn 5) (add) (load.pos.word 1) (right.shift) (store.variable.Yn 4) (put.Ai.variable.Yn 4 6) (put.Ai.variable.Yn 3 8) (put.Ai.value.Yn 2 4) (call 11 split 4 si) (put.Ai.variable.Yn 4 1) (put.Ai.unsafe.Yn 3 8) (put.Ai.value.Yn 2 4) (put.Ai.value.Yn 1 7) (call 9 categorize←variables 4 si) (put.Ai.variable.Yn 4 2) (put.Ai.unsafe.Yn 3 6) (put.Ai.value.Yn 2 5) (put.Ai.value.Yn 1 4) (call 6 categorize←variables 4 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart collect←special←vars 3 si) ) (ASSEMBLE.CLAUSE ( collect←special←vars 3 si ) 6 (get.Ai.constant 1 void) (get.Ai.value.Xn 3 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( collect←special←vars 3 si ) 5 (get.Ai.symbol 2 void) (get.Ai.value.Xn 3 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( collect←special←vars 3 si ) 6 (get.Ai.structure 3 %, 2) (unify.local.Xn 1) (unify.local.Xn 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( split 4 si ) 52 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 7) (get.Ai.variable.Yn 2 8) (get.Ai.variable.Yn 3 6) (get.Ai.variable.Yn 4 3) (head.cut) (put.Ai.variable.Yn 4 2) (put.Ai.variable.Yn 3 5) (put.Ai.value.Yn 2 8) (call 11 split 4 si) (put.Ai.variable.Yn 4 1) (put.Ai.variable.Yn 3 4) (put.Ai.value.Yn 2 8) (put.Ai.value.Yn 1 7) (call 9 split 4 si) (put.Ai.value.Yn 2 6) (put.Ai.structure 1 %; 2) (unify.local.Yn 5) (unify.local.Yn 4) (call 6 simplify 2 si) (put.Ai.value.Yn 2 3) (put.Ai.structure 1 %; 2) (unify.local.Yn 2) (unify.local.Yn 1) (depart simplify 2 si) ) (ASSEMBLE.CLAUSE ( split 4 si ) 6 (get.Ai.constant 1 NIL) (get.Ai.nil 3) (get.Ai.nil 4) (proceed) ) (ASSEMBLE.CLAUSE ( split 4 si ) 56 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 7) (get.Ai.structure 1 %; 2) (unify.variable.Xn 6) (unify.variable.Xn 5) (get.Ai.variable.Yn 2 8) (get.Ai.variable.Yn 3 6) (get.Ai.variable.Yn 4 3) (head.cut) (put.Ai.variable.Yn 4 2) (put.Ai.variable.Yn 3 5) (put.Ai.value.Yn 2 8) (put.Ai.structure 1 %; 2) (unify.value.Xn 6) (unify.value.Xn 5) (call 11 split 4 si) (put.Ai.variable.Yn 4 1) (put.Ai.variable.Yn 3 4) (put.Ai.value.Yn 2 8) (put.Ai.value.Yn 1 7) (call 9 split 4 si) (put.Ai.value.Yn 2 6) (put.Ai.list 1) (unify.local.Yn 5) (unify.local.Yn 4) (call 6 simplify 2 si) (put.Ai.value.Yn 2 3) (put.Ai.list 1) (unify.local.Yn 2) (unify.local.Yn 1) (depart simplify 2 si) ) (ASSEMBLE.CLAUSE ( split 4 si ) 30 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 2) (get.Ai.list 3) (unify.value.Xn 1) (unify.variable.Yn 3) (get.Ai.variable.Yn 4 4) (put.Ai.variable.Yn 2 5) (call 8 var←number 2 si) (load.value.Yn 5) (load.value.Yn 2) (less.than) (body.cut) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart split 4 si) ) (ASSEMBLE.CLAUSE ( split 4 si ) 8 (get.Ai.list 1) (unify.variable.Xn 5) (unify.variable.Xn 1) (get.Ai.list 4) (unify.value.Xn 5) (unify.variable.Xn 4) (execute split 4 si) ) (ASSEMBLE.CLAUSE ( simplify 2 si ) 7 (get.Ai.structure 1 %; 2) (unify.nil) (unify.nil) (get.Ai.nil 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( simplify 2 si ) 15 (get.Ai.structure 1 %; 2) (unify.nil) (unify.structure %; 2) (unify.nil) (unify.variable.Xn 1) (get.Ai.structure 2 %; 2) (unify.nil) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( simplify 2 si ) 6 (get.Ai.list 1) (unify.nil) (unify.variable.Xn 1) (get.Ai.value.Xn 2 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( simplify 2 si ) 3 (get.Ai.value.Xn 2 1) (proceed) ) (ASSEMBLE.CLAUSE ( categorize←variable 2 si ) 91 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 5) (put.Ai.structure 1 var 6) (unify.void 1) (unify.variable.Yn 3) (unify.variable.Yn 4) (unify.variable.Xn 3) (unify.variable.Yn 8) (unify.variable.Yn 9) (put.Ai.structure 2 occ 3) (unify.variable.Yn 6) (unify.value.Xn 1) (unify.void 1) (put.Ai.structure 1 %= 2) (unify.value.Xn 3) (unify.value.Xn 2) (put.Ai.structure 2 %- 2) (unify.value.Yn 8) (unify.value.Xn 1) (put.Ai.value.Yn 1 1) (call 12 first←occ 2 si) (put.Ai.structure 2 occ 3) (unify.variable.Yn 7) (unify.void 2) (put.Ai.structure 1 %= 2) (unify.void 1) (unify.value.Xn 2) (put.Ai.structure 2 %- 2) (unify.value.Yn 9) (unify.value.Xn 1) (put.Ai.value.Yn 1 1) (call 12 last←occ 2 si) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 9) (put.Ai.value.Yn 1 8) (call 10 deduce←type 3 si) (put.Ai.value.Yn 2 7) (put.Ai.value.Yn 1 6) (call 8 complete←first←and←last 2 si) (put.Ai.variable.Yn 4 2) (put.Ai.value.Yn 3 5) (put.Ai.value.Yn 2 4) (put.Ai.value.Yn 1 3) (call 5 initial←state←of←var 4 si) (put.Ai.void 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (call 3 complete←bio 3 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( initial←state←of←var 4 si ) 5 (get.Ai.symbol 3 void) (get.Ai.symbol 4 undef) (proceed) ) (ASSEMBLE.CLAUSE ( initial←state←of←var 4 si ) 10 (get.Ai.constant 1 perm) (get.Ai.structure 3 perm 1) (unify.local.Xn 2) (get.Ai.symbol 4 unsafe) (proceed) ) (ASSEMBLE.CLAUSE ( complete←first←and←last 2 si ) 6 (get.Ai.constant 1 first) (get.Ai.symbol 2 last) (cut.proceed) ) (ASSEMBLE.CLAUSE ( complete←first←and←last 2 si ) 6 (get.Ai.constant 1 void) (get.Ai.symbol 2 void) (proceed) ) (ASSEMBLE.CLAUSE ( deduce←type 3 si ) 5 (get.Ai.value.Xn 2 1) (get.Ai.symbol 3 void) (cut.proceed) ) (ASSEMBLE.CLAUSE ( deduce←type 3 si ) 13 (get.Ai.structure 1 %: 2) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 2 %: 2) (unify.value.Xn 1) (unify.void 1) (get.Ai.symbol 3 temp) (cut.proceed) ) (ASSEMBLE.CLAUSE ( deduce←type 3 si ) 3 (get.Ai.symbol 3 perm) (proceed) ) (ASSEMBLE.CLAUSE ( first←occ 2 si ) 11 (get.Ai.structure 1 %- 2) (unify.variable.Xn 3) (unify.variable.Xn 1) (get.Ai.structure 2 %- 2) (unify.value.Xn 3) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( first←occ 2 si ) 8 (get.Ai.list 1) (unify.variable.Xn 1) (unify.void 1) (allocate) (call 3 first←occ 2 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( first←occ 2 si ) 5 (get.Ai.list 1) (unify.void 1) (unify.variable.Xn 1) (execute first←occ 2 si) ) (ASSEMBLE.CLAUSE ( first←occ 2 si ) 10 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (unify.void 1) (allocate) (call 3 first←occ 2 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( first←occ 2 si ) 7 (get.Ai.structure 1 %; 2) (unify.void 1) (unify.variable.Xn 1) (execute first←occ 2 si) ) (ASSEMBLE.CLAUSE ( last←occ 2 si ) 11 (get.Ai.structure 1 %- 2) (unify.variable.Xn 3) (unify.variable.Xn 1) (get.Ai.structure 2 %- 2) (unify.value.Xn 3) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( last←occ 2 si ) 8 (get.Ai.list 1) (unify.void 1) (unify.variable.Xn 1) (allocate) (call 3 last←occ 2 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( last←occ 2 si ) 5 (get.Ai.list 1) (unify.variable.Xn 1) (unify.void 1) (execute last←occ 2 si) ) (ASSEMBLE.CLAUSE ( last←occ 2 si ) 10 (get.Ai.structure 1 %; 2) (unify.void 1) (unify.variable.Xn 1) (allocate) (call 3 last←occ 2 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( last←occ 2 si ) 7 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (unify.void 1) (execute last←occ 2 si) ) (ASSEMBLE.CLAUSE ( complete←bio 3 si ) 6 (get.Ai.constant 1 NIL) (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( complete←bio 3 si ) 19 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 3 3) (put.Ai.variable.Yn 3 2) (call 6 complete←bio 3 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart complete←bio 3 si) ) (ASSEMBLE.CLAUSE ( complete←bio 3 si ) 26 (get.Ai.structure 1 %- 2) (unify.void 1) (unify.structure %= 2) (unify.variable.Xn 1) (unify.structure occ 3) (allocate) (unify.variable.Yn 1) (unify.void 1) (unify.variable.Xn 4) (get.Ai.value.Xn 2 4) (put.Ai.value.Xn 2 4) (call 4 affect 3 si) (put.Ai.value.Yn 1 1) (depart occurrence 1 si) ) (ASSEMBLE.CLAUSE ( complete←bio 3 si ) 34 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 4) (get.Ai.variable.Yn 2 5) (get.Ai.variable.Yn 3 3) (put.Ai.variable.Yn 3 1) (put.Ai.value.Yn 2 5) (call 8 complete←bio 3 si) (put.Ai.variable.Yn 3 2) (put.Ai.value.Yn 2 5) (put.Ai.value.Yn 1 4) (call 6 complete←bio 3 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart merge←states 3 si) ) (ASSEMBLE.CLAUSE ( merge←states 3 si ) 5 (get.Ai.value.Xn 2 1) (get.Ai.value.Xn 3 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( merge←states 3 si ) 6 (get.Ai.constant 1 undef) (get.Ai.symbol 3 forbidden) (cut.proceed) ) (ASSEMBLE.CLAUSE ( merge←states 3 si ) 5 (get.Ai.symbol 2 undef) (get.Ai.symbol 3 forbidden) (cut.proceed) ) (ASSEMBLE.CLAUSE ( merge←states 3 si ) 7 (get.Ai.value.Xn 3 1) (allocate) (call 3 covers 2 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( merge←states 3 si ) 13 (put.Ai.value.Xn 4 2) (get.Ai.value.Xn 3 4) (allocate) (put.Ai.value.Xn 2 1) (put.Ai.value.Xn 1 4) (call 3 covers 2 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( covers 2 si ) 6 (get.Ai.constant 1 unsafe) (get.Ai.symbol 2 local) (proceed) ) (ASSEMBLE.CLAUSE ( covers 2 si ) 6 (get.Ai.constant 1 unsafe) (get.Ai.symbol 2 global) (proceed) ) (ASSEMBLE.CLAUSE ( covers 2 si ) 6 (get.Ai.constant 1 local) (get.Ai.symbol 2 global) (proceed) ) (ASSEMBLE.CLAUSE ( covers 2 si ) 4 (get.Ai.constant 1 forbidden) (proceed) ) (ASSEMBLE.CLAUSE ( affect 3 si ) 4 (get.Ai.symbol 2 forbidden) (head.cut) (fail) ) (ASSEMBLE.CLAUSE ( affect 3 si ) 11 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.void 1) (get.Ai.symbol 2 undef) (get.Ai.symbol 3 local) (cut.proceed) ) (ASSEMBLE.CLAUSE ( affect 3 si ) 11 (get.Ai.structure 1 %/ 2) (unify.symbol put) (unify.void 1) (get.Ai.symbol 2 undef) (get.Ai.symbol 3 unsafe) (cut.proceed) ) (ASSEMBLE.CLAUSE ( affect 3 si ) 8 (get.Ai.constant 1 unify) (get.Ai.symbol 2 undef) (get.Ai.symbol 3 global) (cut.proceed) ) (ASSEMBLE.CLAUSE ( affect 3 si ) 8 (get.Ai.constant 1 write) (get.Ai.symbol 2 undef) (get.Ai.symbol 3 global) (cut.proceed) ) (ASSEMBLE.CLAUSE ( affect 3 si ) 9 (get.Ai.structure 1 write 1) (unify.void 1) (get.Ai.symbol 2 undef) (get.Ai.symbol 3 global) (cut.proceed) ) (ASSEMBLE.CLAUSE ( affect 3 si ) 8 (get.Ai.constant 1 store) (get.Ai.symbol 2 undef) (get.Ai.symbol 3 global) (cut.proceed) ) (ASSEMBLE.CLAUSE ( affect 3 si ) 3 (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( occurrence 1 si ) 4 (get.Ai.constant 1 void) (cut.proceed) ) (ASSEMBLE.CLAUSE ( occurrence 1 si ) 4 (get.Ai.constant 1 first) (cut.proceed) ) (ASSEMBLE.CLAUSE ( occurrence 1 si ) 4 (get.Ai.constant 1 last) (cut.proceed) ) (ASSEMBLE.CLAUSE ( occurrence 1 si ) 4 (get.Ai.constant 1 middle) (proceed) ) (ASSEMBLE.CLAUSE ( allocate←variables 2 si ) 24 (allocate) (get.Ai.variable.Yn 2 2) (put.Ai.variable.Yn 3 1) (put.Ai.nil 2) (call 5 reverse 3 si) (put.Ai.value.Yn 4 2) (put.Ai.structure 3 onwards 1) (unify.constant 1) (put.Ai.constant 2 0) (put.Ai.unsafe.Yn 1 1) (depart fix←variables 4 si) ) (ASSEMBLE.CLAUSE ( reverse 3 si ) 14 (get.Ai.structure 1 %- 2) (unify.variable.Xn 4) (unify.variable.Xn 1) (get.Ai.list 3) (unify.variable.Xn 3) (unify.local.Xn 2) (get.Ai.structure 3 %- 2) (unify.value.Xn 4) (unify.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( reverse 3 si ) 6 (get.Ai.constant 1 NIL) (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( reverse 3 si ) 19 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 3 3) (put.Ai.variable.Yn 3 2) (call 6 reverse 3 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart reverse 3 si) ) (ASSEMBLE.CLAUSE ( reverse 3 si ) 21 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 3 3) (put.Ai.variable.Yn 3 2) (call 6 reverse 3 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart reverse 3 si) ) (ASSEMBLE.CLAUSE ( fix←variables 4 si ) 7 (get.Ai.constant 1 NIL) (put.Ai.value.Xn 1 2) (execute police←perms 1 si) ) (ASSEMBLE.CLAUSE ( fix←variables 4 si ) 36 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.structure 1 %- 2) (unify.variable.Xn 8) (unify.variable.Xn 1) (put.Ai.value.Xn 5 3) (get.Ai.variable.Yn 4 4) (put.Ai.value.Yn 7 4) (put.Ai.variable.Yn 6 3) (put.Ai.variable.Yn 4 2) (put.Ai.value.Xn 3 2) (put.Ai.value.Xn 2 8) (call 7 fix←instr 7 si) (put.Ai.value.Yn 4 4) (put.Ai.unsafe.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart fix←variables 4 si) ) (ASSEMBLE.CLAUSE ( fix←instr 7 si ) 35 (get.Ai.structure 1 %$ 3) (unify.symbol call) (unify.variable.Xn 8) (unify.variable.Xn 1) (get.Ai.structure 8 predicate 1) (unify.structure %/ 2) (unify.void 1) (unify.variable.Xn 8) (get.Ai.structure 1 offset 1) (unify.variable.Xn 9) (get.Ai.value.Xn 4 3) (get.Ai.structure 6 onwards 1) (unify.variable.Xn 1) (head.cut) (load.value.Xn 3) (add.pos.word 3) (store.value.Xn 9) (load.value.Xn 8) (add.pos.word 1) (store.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( fix←instr 7 si ) 21 (get.Ai.structure 1 %$ 3) (unify.symbol either) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 offset 1) (unify.variable.Xn 1) (get.Ai.value.Xn 4 3) (get.Ai.value.Xn 6 5) (head.cut) (load.value.Xn 3) (add.pos.word 3) (store.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( fix←instr 7 si ) 56 (get.Ai.structure 1 %= 2) (allocate) (unify.variable.Yn 1) (unify.variable.Yn 4) (get.Ai.variable.Yn 2 5) (put.Ai.value.Xn 2 3) (put.Ai.value.Xn 3 4) (get.Ai.variable.Yn 5 8) (get.Ai.variable.Yn 6 3) (get.Ai.variable.Yn 7 7) (head.cut) (put.Ai.value.Yn 1 4) (call 11 pick←slot 3 si) (put.Ai.variable.Yn 3 6) (put.Ai.value.Yn 2 8) (put.Ai.value.Yn 1 1) (call 10 watch←put 3 si) (put.Ai.value.Yn 6 7) (put.Ai.variable.Yn 5 2) (put.Ai.unsafe.Yn 4 6) (put.Ai.value.Yn 3 5) (put.Ai.value.Yn 2 1) (put.Ai.value.Yn 1 4) (call 6 pick←reg 6 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart watch←get 3 si) ) (ASSEMBLE.CLAUSE ( fix←instr 7 si ) 5 (get.Ai.value.Xn 4 3) (get.Ai.value.Xn 6 5) (proceed) ) (ASSEMBLE.CLAUSE ( pick←slot 3 si ) 23 (get.Ai.structure 1 occ 3) (unify.symbol last) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 var 6) (unify.void 1) (unify.symbol perm) (unify.variable.Xn 1) (unify.void 3) (get.Ai.value.Xn 3 1) (head.cut) (load.value.Xn 2) (add.pos.word 1) (store.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( pick←slot 3 si ) 3 (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( watch←put 3 si ) 9 (get.Ai.structure 1 %/ 2) (unify.symbol put) (unify.variable.Xn 1) (head.cut) (execute release 3 si) ) (ASSEMBLE.CLAUSE ( watch←put 3 si ) 3 (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( watch←get 3 si ) 12 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (head.cut) (allocate) (call 3 grab 3 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( watch←get 3 si ) 3 (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( pick←reg 6 si ) 61 (get.Ai.structure 1 occ 3) (unify.symbol last) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 var 6) (unify.void 1) (unify.symbol temp) (allocate) (unify.variable.Yn 1) (unify.variable.Xn 7) (unify.variable.Yn 2) (unify.void 1) (put.Ai.value.Xn 1 2) (get.Ai.variable.Yn 3 3) (get.Ai.variable.Yn 4 5) (get.Ai.variable.Yn 5 6) (get.Ai.variable.Yn 6 4) (head.cut) (put.Ai.value.Yn 3 1) (put.Ai.value.Xn 2 7) (call 9 choose←reg 3 si) (put.Ai.value.Yn 3 6) (put.Ai.value.Yn 2 5) (put.Ai.value.Yn 1 1) (call 7 grab 3 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (call 4 check←availability 4 si) (body.cut) (put.Ai.value.Yn 1 1) (depart police←temps 1 si) ) (ASSEMBLE.CLAUSE ( pick←reg 6 si ) 22 (get.Ai.structure 1 occ 3) (unify.symbol first) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 var 6) (unify.void 1) (unify.symbol temp) (unify.variable.Xn 1) (unify.void 3) (put.Ai.value.Xn 2 4) (put.Ai.value.Xn 3 5) (head.cut) (execute release 3 si) ) (ASSEMBLE.CLAUSE ( pick←reg 6 si ) 3 (get.Ai.value.Xn 5 4) (proceed) ) (ASSEMBLE.CLAUSE ( choose←reg 3 si ) 9 (get.Ai.structure 1 %/ 2) (unify.symbol put) (unify.variable.Xn 1) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( choose←reg 3 si ) 9 (get.Ai.structure 2 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( choose←reg 3 si ) 1 (proceed) ) (ASSEMBLE.CLAUSE ( grab 3 si ) 8 (put.Ai.value.Xn 4 2) (put.Ai.value.Xn 2 1) (put.Ai.value.Xn 1 4) (execute first←and←rest 3 si) ) (ASSEMBLE.CLAUSE ( grab 3 si ) 30 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.value.Xn 1 2) (get.Ai.list 3) (unify.variable.Yn 4) (unify.variable.Yn 3) (put.Ai.variable.Yn 3 2) (put.Ai.value.Yn 2 4) (call 7 first←and←rest 3 si) (put.Ai.value.Yn 2 4) (put.Ai.value.Yn 1 1) (call 6 could←be←after 2 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart grab 3 si) ) (ASSEMBLE.CLAUSE ( could←be←after 2 si ) 3 (allocate) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( could←be←after 2 si ) 4 (load.value.Xn 1) (load.value.Xn 2) (greater.than) (proceed) ) (ASSEMBLE.CLAUSE ( first←and←rest 3 si ) 8 (get.Ai.list 1) (unify.variable.Xn 4) (unify.variable.Xn 1) (get.Ai.value.Xn 2 4) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( first←and←rest 3 si ) 15 (get.Ai.structure 1 onwards 1) (unify.variable.Xn 4) (get.Ai.value.Xn 2 4) (get.Ai.structure 3 onwards 1) (unify.variable.Xn 1) (load.value.Xn 4) (add.pos.word 1) (store.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( release 3 si ) 12 (get.Ai.list 2) (unify.variable.Xn 4) (unify.variable.Xn 2) (get.Ai.list 3) (unify.value.Xn 4) (unify.variable.Xn 3) (load.value.Xn 4) (load.value.Xn 1) (less.than) (head.cut) (execute release 3 si) ) (ASSEMBLE.CLAUSE ( release 3 si ) 14 (get.Ai.structure 2 onwards 1) (unify.variable.Xn 2) (get.Ai.structure 3 onwards 1) (unify.local.Xn 1) (load.value.Xn 1) (add.pos.word 1) (load.value.Xn 2) (equal.to) (cut.proceed) ) (ASSEMBLE.CLAUSE ( release 3 si ) 4 (get.Ai.list 3) (unify.local.Xn 1) (unify.local.Xn 2) (proceed) ) (ASSEMBLE.CLAUSE ( check←availability 4 si ) 24 (allocate) (get.Ai.variable.Yn 2 1) (get.Ai.variable.Yn 3 2) (put.Ai.value.Xn 2 4) (put.Ai.variable.Yn 4 4) (put.Ai.variable.Yn 3 3) (call 7 initial←availability 4 si) (put.Ai.unsafe.Yn 4 4) (put.Ai.unsafe.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart confirm←availability 4 si) ) (ASSEMBLE.CLAUSE ( confirm←availability 4 si ) 6 (put.Ai.value.Xn 2 1) (put.Ai.value.Xn 1 4) (execute precedes 2 si) ) (ASSEMBLE.CLAUSE ( confirm←availability 4 si ) 5 (get.Ai.value.Xn 3 1) (get.Ai.value.Xn 4 2) (proceed) ) (ASSEMBLE.CLAUSE ( confirm←availability 4 si ) 18 (allocate) (get.Ai.variable.Yn 2 1) (get.Ai.variable.Yn 4 2) (put.Ai.value.Xn 2 1) (put.Ai.value.Xn 1 3) (call 5 precedes 2 si) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart precedes 2 si) ) (ASSEMBLE.CLAUSE ( initial←availability 4 si ) 20 (allocate) (get.Ai.variable.Yn 3 2) (get.Ai.variable.Yn 4 3) (put.Ai.structure 3 %- 2) (unify.local.Yn 2) (unify.variable.Yn 1) (arg) (body.cut) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart latest←use 3 si) ) (ASSEMBLE.CLAUSE ( initial←availability 4 si ) 19 (get.Ai.structure 3 %: 2) (unify.constant -1) (unify.constant 0) (get.Ai.structure 4 %: 2) (unify.constant -1) (unify.constant 0) (proceed) ) (ASSEMBLE.CLAUSE ( latest←use 3 si ) 18 (get.Ai.structure 1 occ 3) (unify.symbol first) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 var 6) (unify.void 1) (unify.symbol temp) (unify.void 3) (unify.variable.Xn 1) (get.Ai.value.Xn 3 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( latest←use 3 si ) 3 (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( precedes 2 si ) 14 (get.Ai.structure 1 %: 2) (unify.variable.Xn 1) (unify.variable.Xn 3) (get.Ai.structure 2 %: 2) (unify.value.Xn 1) (unify.variable.Xn 1) (load.value.Xn 3) (load.value.Xn 1) (less.than) (cut.proceed) ) (ASSEMBLE.CLAUSE ( precedes 2 si ) 14 (get.Ai.structure 1 %: 2) (unify.variable.Xn 3) (unify.void 1) (get.Ai.structure 2 %: 2) (unify.variable.Xn 1) (unify.void 1) (load.value.Xn 3) (load.value.Xn 1) (less.than) (proceed) ) (ASSEMBLE.CLAUSE ( generate←instructions 2 si ) 3 (put.Ai.nil 3) (execute generate←instructions 3 si) ) (ASSEMBLE.CLAUSE ( generate←instructions 3 si ) 6 (get.Ai.constant 1 NIL) (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( generate←instructions 3 si ) 37 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 4) (get.Ai.structure 1 %- 2) (unify.variable.Xn 4) (unify.variable.Xn 1) (get.Ai.variable.Yn 2 3) (get.Ai.variable.Yn 3 5) (head.cut) (put.Ai.variable.Yn 3 2) (put.Ai.value.Xn 2 4) (call 8 generate←instruction 3 si) (put.Ai.value.Yn 3 5) (put.Ai.variable.Yn 2 1) (put.Ai.value.Yn 1 4) (call 6 generate←instructions 3 si) (put.Ai.value.Yn 2 3) (put.Ai.list 1) (unify.local.Yn 2) (unify.local.Yn 1) (depart peephole←optimize 2 si) ) (ASSEMBLE.CLAUSE ( generate←instructions 3 si ) 33 (get.Ai.list 1) (unify.variable.Xn 4) (unify.variable.Xn 1) (get.Ai.structure 4 %; 2) (allocate) (unify.variable.Yn 1) (unify.variable.Yn 4) (get.Ai.variable.Yn 2 2) (put.Ai.variable.Yn 2 5) (call 8 generate←instructions 3 si) (put.Ai.unsafe.Yn 3 5) (put.Ai.variable.Yn 2 3) (put.Ai.value.Yn 1 4) (call 6 generate←instructions 3 si) (put.Ai.unsafe.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart generate←instructions 3 si) ) (ASSEMBLE.CLAUSE ( peephole←optimize 2 si ) 11 (get.Ai.list 1) (unify.variable.Xn 3) (unify.variable.Xn 1) (get.Ai.structure 3 %$ 1) (unify.symbol allocate) (head.cut) (execute delay←allocate 2 si) ) (ASSEMBLE.CLAUSE ( peephole←optimize 2 si ) 31 (get.Ai.list 1) (allocate) (unify.variable.Yn 4) (unify.variable.Yn 5) (get.Ai.variable.Yn 2 2) (put.Ai.variable.Yn 2 3) (put.Ai.value.Yn 1 4) (call 8 peephole←key 2 si) (put.Ai.variable.Yn 4 1) (put.Ai.value.Yn 3 5) (put.Ai.value.Yn 2 4) (put.Ai.unsafe.Yn 1 3) (call 5 improve 4 si) (body.cut) (put.Ai.value.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart peephole←optimize 2 si) ) (ASSEMBLE.CLAUSE ( peephole←optimize 2 si ) 3 (get.Ai.value.Xn 2 1) (proceed) ) (ASSEMBLE.CLAUSE ( peephole←key 2 si ) 7 (get.Ai.structure 1 %$ 1) (unify.variable.Xn 1) (get.Ai.value.Xn 2 1) (proceed) ) (ASSEMBLE.CLAUSE ( peephole←key 2 si ) 8 (get.Ai.structure 1 %$ 2) (unify.variable.Xn 1) (unify.void 1) (get.Ai.value.Xn 2 1) (proceed) ) (ASSEMBLE.CLAUSE ( peephole←key 2 si ) 8 (get.Ai.structure 1 %$ 3) (unify.variable.Xn 1) (unify.void 2) (get.Ai.value.Xn 2 1) (proceed) ) (ASSEMBLE.CLAUSE ( peephole←key 2 si ) 8 (get.Ai.structure 1 %$ 4) (unify.variable.Xn 1) (unify.void 3) (get.Ai.value.Xn 2 1) (proceed) ) (ASSEMBLE.CLAUSE ( peephole←key 2 si ) 7 (get.Ai.structure 1 label 1) (unify.void 1) (get.Ai.symbol 2 label) (proceed) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 42 (get.Ai.constant 1 depart) (get.Ai.structure 2 %$ 2) (unify.void 1) (unify.structure predicate 1) (unify.structure %/ 2) (unify.variable.Xn 1) (unify.variable.Xn 2) (get.Ai.list 4) (unify.variable.Xn 5) (unify.variable.Xn 4) (get.Ai.structure 5 %$ 1) (unify.symbol deallocate) (get.Ai.list 4) (unify.variable.Xn 4) (unify.variable.Xn 5) (get.Ai.structure 4 %$ 1) (unify.variable.Xn 4) (get.Ai.list 5) (unify.variable.Xn 5) (unify.local.Xn 3) (get.Ai.structure 5 %$ 1) (unify.symbol proceed) (put.Ai.value.Xn 3 4) (execute builtin←op 3 si) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 34 (get.Ai.constant 1 execute) (get.Ai.structure 2 %$ 2) (unify.void 1) (unify.structure predicate 1) (unify.structure %/ 2) (unify.variable.Xn 1) (unify.variable.Xn 2) (get.Ai.list 4) (unify.variable.Xn 4) (unify.variable.Xn 5) (get.Ai.structure 4 %$ 1) (unify.variable.Xn 4) (get.Ai.list 5) (unify.variable.Xn 5) (unify.local.Xn 3) (get.Ai.structure 5 %$ 1) (unify.symbol proceed) (put.Ai.value.Xn 3 4) (execute builtin←op 3 si) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 18 (get.Ai.constant 1 get←Ai←constant) (get.Ai.structure 2 %$ 3) (unify.void 1) (unify.constant 2) (unify.variable.Xn 5) (get.Ai.list 3) (unify.variable.Xn 1) (unify.variable.Xn 2) (put.Ai.value.Xn 3 5) (execute get←fact←optimization 4 si) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 29 (get.Ai.constant 1 put←Ai←variable←Xn) (get.Ai.structure 2 %$ 3) (unify.void 1) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.list 4) (unify.variable.Xn 5) (unify.variable.Xn 4) (get.Ai.structure 5 %$ 2) (unify.symbol put←Ai←void) (unify.value.Xn 2) (get.Ai.list 4) (unify.variable.Xn 4) (unify.local.Xn 3) (get.Ai.structure 4 %$ 3) (unify.symbol get←Ai←variable←Xn) (unify.value.Xn 2) (unify.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 29 (get.Ai.constant 1 put←Ai←dying←variable←Yn) (get.Ai.structure 2 %$ 3) (unify.void 1) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.list 4) (unify.variable.Xn 5) (unify.variable.Xn 4) (get.Ai.structure 5 %$ 2) (unify.symbol put←Ai←void) (unify.value.Xn 2) (get.Ai.list 4) (unify.variable.Xn 4) (unify.local.Xn 3) (get.Ai.structure 4 %$ 3) (unify.symbol get←Ai←variable←Yn) (unify.value.Xn 2) (unify.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 14 (get.Ai.constant 1 unify←void) (get.Ai.structure 2 %$ 1) (unify.void 1) (get.Ai.list 3) (unify.variable.Xn 1) (unify.variable.Xn 2) (put.Ai.value.Xn 3 4) (execute unify←void←optimization 3 si) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 12 (get.Ai.structure 1 initialize 1) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 1) (unify.void 1) (put.Ai.value.Xn 2 4) (execute initialize←special←vars 3 si) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 4 (get.Ai.value.Xn 4 3) (execute noop←instr 2 si) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 7 (get.Ai.list 4) (unify.variable.Xn 4) (unify.local.Xn 3) (put.Ai.value.Xn 3 4) (execute rewrite←instr 3 si) ) (ASSEMBLE.CLAUSE ( improve 4 si ) 8 (get.Ai.list 3) (unify.variable.Xn 3) (unify.variable.Xn 5) (get.Ai.list 4) (unify.variable.Xn 4) (unify.value.Xn 5) (execute coalesce 4 si) ) (ASSEMBLE.CLAUSE ( initialize←special←vars 3 si ) 6 (get.Ai.constant 1 void) (get.Ai.value.Xn 3 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( initialize←special←vars 3 si ) 22 (get.Ai.structure 1 %, 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 3 3) (head.cut) (put.Ai.variable.Yn 3 2) (call 6 initialize←special←vars 3 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart initialize←special←vars 3 si) ) (ASSEMBLE.CLAUSE ( initialize←special←vars 3 si ) 16 (get.Ai.structure 1 perm 1) (unify.variable.Xn 4) (get.Ai.list 2) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 2) (unify.symbol initialize←Yn) (unify.value.Xn 4) (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( noop←instr 2 si ) 10 (get.Ai.constant 1 get←Ai←variable←Xn) (get.Ai.structure 2 %$ 3) (unify.void 1) (unify.variable.Xn 1) (unify.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( noop←instr 2 si ) 10 (get.Ai.constant 1 put←Ai←value←Xn) (get.Ai.structure 2 %$ 3) (unify.void 1) (unify.variable.Xn 1) (unify.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( noop←instr 2 si ) 8 (get.Ai.constant 1 noop) (get.Ai.structure 2 %$ 1) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( rewrite←instr 3 si ) 23 (get.Ai.constant 1 call) (get.Ai.structure 2 %$ 3) (unify.void 1) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 predicate 1) (unify.structure %/ 2) (unify.variable.Xn 1) (unify.variable.Xn 2) (get.Ai.structure 3 %$ 1) (unify.variable.Xn 3) (execute builtin←op 3 si) ) (ASSEMBLE.CLAUSE ( rewrite←instr 3 si ) 16 (get.Ai.structure 1 cut 1) (unify.constant 0) (get.Ai.structure 2 %$ 1) (unify.void 1) (get.Ai.structure 3 %$ 1) (unify.symbol head←cut) (proceed) ) (ASSEMBLE.CLAUSE ( rewrite←instr 3 si ) 18 (get.Ai.structure 1 cut 1) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 1) (unify.void 1) (get.Ai.structure 3 %$ 1) (unify.symbol body←cut) (load.value.Xn 1) (load.pos.word 0) (greater.than) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 var) (get.Ai.constant 2 1) (get.Ai.symbol 3 is←var) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 nonvar) (get.Ai.constant 2 1) (get.Ai.symbol 3 is←nonvar) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 atomic) (get.Ai.constant 2 1) (get.Ai.symbol 3 is←atomic) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 atom) (get.Ai.constant 2 1) (get.Ai.symbol 3 is←atom) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 integer) (get.Ai.constant 2 1) (get.Ai.symbol 3 is←integer) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 float) (get.Ai.constant 2 1) (get.Ai.symbol 3 is←float) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 number) (get.Ai.constant 2 1) (get.Ai.symbol 3 is←number) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 arg) (get.Ai.constant 2 3) (get.Ai.symbol 3 arg) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 functor) (get.Ai.constant 2 3) (get.Ai.symbol 3 functor) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 9 (get.Ai.constant 1 %$Quintus%:% compare) (get.Ai.constant 2 2) (get.Ai.symbol 3 compare) (proceed) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 store←skeleton) (get.Ai.constant 2 2) (get.Ai.symbol 3 store←skeleton) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 skeleton←size) (get.Ai.constant 2 2) (get.Ai.symbol 3 skeleton←size) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 get←proc←word) (get.Ai.constant 2 3) (get.Ai.symbol 3 get←word) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 put←proc←word) (get.Ai.constant 2 3) (get.Ai.symbol 3 put←word) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 get←proc←pointer) (get.Ai.constant 2 3) (get.Ai.symbol 3 get←addr) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 put←proc←pointer) (get.Ai.constant 2 3) (get.Ai.symbol 3 put←addr) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 get←clause←word) (get.Ai.constant 2 3) (get.Ai.symbol 3 get←word) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 put←clause←word) (get.Ai.constant 2 3) (get.Ai.symbol 3 put←word) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 get←clause←pointer) (get.Ai.constant 2 3) (get.Ai.symbol 3 get←addr) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( builtin←op 3 si ) 10 (get.Ai.constant 1 put←clause←pointer) (get.Ai.constant 2 3) (get.Ai.symbol 3 put←addr) (execute development 0 si) ) (ASSEMBLE.CLAUSE ( delay←allocate 2 si ) 27 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.list 2) (unify.value.Xn 1) (unify.variable.Yn 2) (put.Ai.variable.Yn 3 3) (put.Ai.value.Xn 2 1) (put.Ai.constant 1 1) (arg) (put.Ai.unsafe.Yn 1 3) (call 5 commutes←with←allocate 1 si) (body.cut) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart delay←allocate 2 si) ) (ASSEMBLE.CLAUSE ( delay←allocate 2 si ) 22 (get.Ai.list 1) (unify.variable.Xn 1) (unify.variable.Xn 3) (get.Ai.structure 1 %$ 3) (unify.symbol get←Ai←variable←Yn) (unify.constant 1) (unify.variable.Xn 1) (get.Ai.list 2) (unify.variable.Xn 2) (unify.value.Xn 3) (get.Ai.structure 2 %$ 2) (unify.symbol alloc←get←A1←var←Yn) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( delay←allocate 2 si ) 19 (get.Ai.list 1) (unify.variable.Xn 1) (unify.variable.Xn 3) (get.Ai.structure 1 %$ 2) (unify.symbol unify←variable←Yn) (unify.variable.Xn 1) (get.Ai.list 2) (unify.variable.Xn 2) (unify.value.Xn 3) (get.Ai.structure 2 %$ 2) (unify.symbol alloc←unify←var←Yn) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( delay←allocate 2 si ) 9 (get.Ai.list 2) (unify.variable.Xn 2) (unify.local.Xn 1) (get.Ai.structure 2 %$ 1) (unify.symbol allocate) (proceed) ) (ASSEMBLE.CLAUSE ( get←fact←optimization 4 si ) 15 (get.Ai.structure 1 %$ 1) (unify.symbol proceed) (get.Ai.list 4) (unify.variable.Xn 1) (unify.local.Xn 2) (get.Ai.structure 1 %$ 2) (unify.symbol get←fact←1) (unify.local.Xn 3) (proceed) ) (ASSEMBLE.CLAUSE ( get←fact←optimization 4 si ) 18 (get.Ai.structure 1 %$ 3) (unify.symbol get←Ai←constant) (unify.constant 3) (unify.variable.Xn 6) (get.Ai.list 2) (unify.variable.Xn 1) (unify.variable.Xn 2) (put.Ai.value.Xn 5 4) (put.Ai.value.Xn 4 6) (execute get←fact←optimization←1 5 si) ) (ASSEMBLE.CLAUSE ( get←fact←optimization←1 5 si ) 16 (get.Ai.structure 1 %$ 1) (unify.symbol proceed) (get.Ai.list 5) (unify.variable.Xn 1) (unify.local.Xn 2) (get.Ai.structure 1 %$ 3) (unify.symbol get←fact←2) (unify.local.Xn 3) (unify.local.Xn 4) (proceed) ) (ASSEMBLE.CLAUSE ( get←fact←optimization←1 5 si ) 29 (get.Ai.structure 1 %$ 3) (unify.symbol get←Ai←constant) (unify.constant 4) (unify.variable.Xn 1) (get.Ai.list 2) (unify.variable.Xn 2) (unify.variable.Xn 6) (get.Ai.structure 2 %$ 1) (unify.symbol proceed) (get.Ai.list 5) (unify.variable.Xn 2) (unify.value.Xn 6) (get.Ai.structure 2 %$ 4) (unify.symbol get←fact←3) (unify.local.Xn 3) (unify.local.Xn 4) (unify.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( nonlabel 1 si ) 6 (get.Ai.structure 1 label 1) (unify.void 1) (head.cut) (fail) ) (ASSEMBLE.CLAUSE ( nonlabel 1 si ) 1 (proceed) ) (ASSEMBLE.CLAUSE ( short←integer 1 si ) 15 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.value.Yn 1 1) (is.a 24) (load.neg.word -65535) (load.value.Yn 1) (not.greater.than) (load.value.Yn 1) (load.pos.word 65535) (not.greater.than) (depart.cut) ) (ASSEMBLE.CLAUSE ( executable←in←write←mode 1 si ) 6 (allocate) (call 3 not←executable←in←write←mode 1 si) (body.cut) (fail) ) (ASSEMBLE.CLAUSE ( executable←in←write←mode 1 si ) 1 (proceed) ) (ASSEMBLE.CLAUSE ( not←executable←in←write←mode 1 si ) 7 (get.Ai.structure 1 %$ 2) (unify.symbol load←value←Xn) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( not←executable←in←write←mode 1 si ) 7 (get.Ai.structure 1 %$ 2) (unify.symbol load←value←Yn) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( not←executable←in←write←mode 1 si ) 7 (get.Ai.structure 1 %$ 2) (unify.symbol load←integer) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( not←executable←in←write←mode 1 si ) 7 (get.Ai.structure 1 %$ 2) (unify.symbol load←long←integer) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( not←executable←in←write←mode 1 si ) 7 (get.Ai.structure 1 %$ 2) (unify.symbol load←float) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( not←executable←in←write←mode 1 si ) 5 (get.Ai.structure 1 label 1) (unify.void 1) (proceed) ) (ASSEMBLE.CLAUSE ( generate←instruction 3 si ) 52 (get.Ai.structure 1 %= 2) (unify.variable.Xn 4) (unify.variable.Xn 1) (get.Ai.structure 4 %/ 2) (unify.symbol put) (allocate) (unify.variable.Yn 4) (get.Ai.structure 1 occ 3) (unify.void 1) (unify.variable.Xn 1) (unify.variable.Yn 2) (get.Ai.structure 1 var 6) (unify.void 1) (unify.variable.Yn 1) (unify.variable.Yn 5) (unify.void 2) (unify.variable.Xn 4) (put.Ai.value.Xn 1 2) (get.Ai.variable.Yn 3 6) (head.cut) (put.Ai.variable.Yn 3 3) (put.Ai.value.Xn 2 4) (call 9 determine←if←last←goal 3 si) (put.Ai.value.Yn 6 6) (put.Ai.value.Yn 5 5) (put.Ai.value.Yn 4 4) (put.Ai.unsafe.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart put←var←instr 6 si) ) (ASSEMBLE.CLAUSE ( generate←instruction 3 si ) 10 (get.Ai.structure 1 %= 2) (unify.variable.Xn 4) (unify.variable.Xn 1) (head.cut) (put.Ai.value.Xn 2 4) (execute mk←instr 3 si) ) (ASSEMBLE.CLAUSE ( generate←instruction 3 si ) 3 (get.Ai.value.Xn 3 1) (proceed) ) (ASSEMBLE.CLAUSE ( determine←if←last←goal 3 si ) 13 (get.Ai.structure 1 %: 2) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 2 %: 2) (unify.value.Xn 1) (unify.void 1) (get.Ai.symbol 3 dying) (cut.proceed) ) (ASSEMBLE.CLAUSE ( determine←if←last←goal 3 si ) 3 (get.Ai.symbol 3 healthy) (proceed) ) (ASSEMBLE.CLAUSE ( mk←instr 3 si ) 40 (get.Ai.structure 1 occ 3) (unify.void 1) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 var 6) (unify.void 1) (unify.symbol temp) (unify.variable.Xn 4) (unify.void 3) (get.Ai.structure 2 unify 1) (unify.structure %/ 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (head.cut) (put.Ai.structure 2 %/ 2) (unify.symbol get) (unify.value.Xn 4) (put.Ai.structure 4 %/ 2) (unify.value.Xn 5) (unify.value.Xn 1) (put.Ai.structure 1 functor 1) (unify.value.Xn 4) (execute mk←instr 3 si) ) (ASSEMBLE.CLAUSE ( mk←instr 3 si ) 40 (get.Ai.structure 1 occ 3) (unify.void 1) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 1 var 6) (unify.void 1) (unify.symbol temp) (unify.variable.Xn 4) (unify.void 3) (get.Ai.structure 2 write 1) (unify.structure %/ 2) (unify.variable.Xn 5) (unify.variable.Xn 1) (head.cut) (put.Ai.structure 2 %/ 2) (unify.symbol put) (unify.value.Xn 4) (put.Ai.structure 4 %/ 2) (unify.value.Xn 5) (unify.value.Xn 1) (put.Ai.structure 1 functor 1) (unify.value.Xn 4) (execute mk←instr 3 si) ) (ASSEMBLE.CLAUSE ( mk←instr 3 si ) 7 (get.Ai.symbol 2 write) (head.cut) (put.Ai.symbol 2 unify) (execute mk←instr 3 si) ) (ASSEMBLE.CLAUSE ( mk←instr 3 si ) 23 (get.Ai.structure 1 occ 3) (unify.void 1) (unify.variable.Xn 1) (unify.variable.Xn 4) (get.Ai.structure 1 var 6) (unify.void 1) (unify.variable.Xn 6) (unify.variable.Xn 7) (unify.void 3) (put.Ai.value.Xn 1 2) (put.Ai.value.Xn 5 3) (put.Ai.value.Xn 3 7) (put.Ai.value.Xn 2 6) (execute var←instr 5 si) ) (ASSEMBLE.CLAUSE ( mk←instr 3 si ) 21 (get.Ai.structure 1 const 1) (unify.nil) (allocate) (get.Ai.variable.Yn 2 1) (get.Ai.variable.Yn 3 2) (put.Ai.value.Yn 1 1) (call 5 not←get←1 1 si) (body.cut) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart nil←instr 2 si) ) (ASSEMBLE.CLAUSE ( mk←instr 3 si ) 10 (get.Ai.structure 1 const 1) (unify.variable.Xn 4) (put.Ai.value.Xn 1 2) (put.Ai.value.Xn 2 4) (execute const←instr 3 si) ) (ASSEMBLE.CLAUSE ( mk←instr 3 si ) 18 (get.Ai.structure 1 functor 1) (unify.structure %/ 2) (unify.symbol %.) (unify.constant 2) (put.Ai.value.Xn 1 2) (put.Ai.value.Xn 2 3) (head.cut) (execute list←instr 2 si) ) (ASSEMBLE.CLAUSE ( mk←instr 3 si ) 12 (get.Ai.structure 1 functor 1) (unify.variable.Xn 4) (put.Ai.value.Xn 1 2) (put.Ai.structure 2 functor 1) (unify.value.Xn 4) (execute struct←instr 3 si) ) (ASSEMBLE.CLAUSE ( not←get←1 1 si ) 10 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.constant 1) (head.cut) (fail) ) (ASSEMBLE.CLAUSE ( not←get←1 1 si ) 1 (proceed) ) (ASSEMBLE.CLAUSE ( unify←void←optimization 3 si ) 21 (get.Ai.structure 1 %$ 2) (unify.symbol unify←void←n) (unify.variable.Xn 4) (get.Ai.list 3) (unify.variable.Xn 1) (unify.local.Xn 2) (get.Ai.structure 1 %$ 2) (unify.symbol unify←void←n) (unify.variable.Xn 1) (head.cut) (load.value.Xn 4) (add.pos.word 1) (store.value.Xn 1) (proceed) ) (ASSEMBLE.CLAUSE ( unify←void←optimization 3 si ) 15 (get.Ai.list 3) (unify.variable.Xn 4) (unify.variable.Xn 3) (get.Ai.structure 4 %$ 2) (unify.symbol unify←void←n) (unify.constant 1) (get.Ai.list 3) (unify.local.Xn 1) (unify.local.Xn 2) (proceed) ) (ASSEMBLE.CLAUSE ( put←var←instr 6 si ) 10 (get.Ai.constant 1 void) (get.Ai.structure 6 %$ 2) (unify.symbol put←Ai←void) (unify.local.Xn 4) (cut.proceed) ) (ASSEMBLE.CLAUSE ( put←var←instr 6 si ) 13 (get.Ai.constant 1 temp) (get.Ai.symbol 2 undef) (get.Ai.structure 6 %$ 3) (unify.symbol put←Ai←variable←Xn) (unify.local.Xn 4) (unify.local.Xn 5) (cut.proceed) ) (ASSEMBLE.CLAUSE ( put←var←instr 6 si ) 15 (get.Ai.constant 1 perm) (get.Ai.symbol 2 undef) (get.Ai.symbol 3 healthy) (get.Ai.structure 6 %$ 3) (unify.symbol put←Ai←variable←Yn) (unify.local.Xn 4) (unify.local.Xn 5) (cut.proceed) ) (ASSEMBLE.CLAUSE ( put←var←instr 6 si ) 15 (get.Ai.constant 1 perm) (get.Ai.symbol 2 undef) (get.Ai.symbol 3 dying) (get.Ai.structure 6 %$ 3) (unify.symbol put←Ai←dying←variable←Yn) (unify.local.Xn 4) (unify.local.Xn 5) (cut.proceed) ) (ASSEMBLE.CLAUSE ( put←var←instr 6 si ) 15 (get.Ai.constant 1 perm) (get.Ai.symbol 2 unsafe) (get.Ai.symbol 3 dying) (get.Ai.structure 6 %$ 3) (unify.symbol put←Ai←unsafe←Yn) (unify.local.Xn 4) (unify.local.Xn 5) (cut.proceed) ) (ASSEMBLE.CLAUSE ( put←var←instr 6 si ) 11 (get.Ai.constant 1 temp) (get.Ai.structure 6 %$ 3) (unify.symbol put←Ai←value←Xn) (unify.local.Xn 4) (unify.local.Xn 5) (cut.proceed) ) (ASSEMBLE.CLAUSE ( put←var←instr 6 si ) 11 (get.Ai.constant 1 perm) (get.Ai.structure 6 %$ 3) (unify.symbol put←Ai←value←Yn) (unify.local.Xn 4) (unify.local.Xn 5) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 14 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.void 1) (get.Ai.symbol 2 void) (get.Ai.structure 5 %$ 1) (unify.symbol noop) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 18 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (get.Ai.symbol 2 temp) (get.Ai.symbol 4 undef) (get.Ai.structure 5 %$ 3) (unify.symbol get←Ai←variable←Xn) (unify.value.Xn 1) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 18 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (get.Ai.symbol 2 perm) (get.Ai.symbol 4 undef) (get.Ai.structure 5 %$ 3) (unify.symbol get←Ai←variable←Yn) (unify.value.Xn 1) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 16 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (get.Ai.symbol 2 temp) (get.Ai.structure 5 %$ 3) (unify.symbol get←Ai←value←Xn) (unify.value.Xn 1) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 16 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (get.Ai.symbol 2 perm) (get.Ai.structure 5 %$ 3) (unify.symbol get←Ai←value←Yn) (unify.value.Xn 1) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 11 (get.Ai.constant 1 unify) (get.Ai.symbol 2 void) (get.Ai.structure 5 %$ 1) (unify.symbol unify←void) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 14 (get.Ai.constant 1 unify) (get.Ai.symbol 2 temp) (get.Ai.symbol 4 undef) (get.Ai.structure 5 %$ 2) (unify.symbol unify←variable←Xn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 14 (get.Ai.constant 1 unify) (get.Ai.symbol 2 perm) (get.Ai.symbol 4 undef) (get.Ai.structure 5 %$ 2) (unify.symbol unify←variable←Yn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 14 (get.Ai.constant 1 unify) (get.Ai.symbol 2 temp) (get.Ai.symbol 4 global) (get.Ai.structure 5 %$ 2) (unify.symbol unify←value←Xn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 14 (get.Ai.constant 1 unify) (get.Ai.symbol 2 perm) (get.Ai.symbol 4 global) (get.Ai.structure 5 %$ 2) (unify.symbol unify←value←Yn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 12 (get.Ai.constant 1 unify) (get.Ai.symbol 2 temp) (get.Ai.structure 5 %$ 2) (unify.symbol unify←local←Xn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 12 (get.Ai.constant 1 unify) (get.Ai.symbol 2 perm) (get.Ai.structure 5 %$ 2) (unify.symbol unify←local←Yn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 15 (get.Ai.constant 1 load) (get.Ai.symbol 4 undef) (get.Ai.structure 5 %$ 1) (unify.symbol fail) (head.cut) (put.Ai.symbol 1 %[WARNING%:% Unbound% variable% in% arithmetic% expression%]) (execute message 1 si) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 12 (get.Ai.constant 1 load) (get.Ai.symbol 2 temp) (get.Ai.structure 5 %$ 2) (unify.symbol load←value←Xn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 12 (get.Ai.constant 1 load) (get.Ai.symbol 2 perm) (get.Ai.structure 5 %$ 2) (unify.symbol load←value←Yn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 15 (get.Ai.constant 1 store) (get.Ai.symbol 2 void) (get.Ai.structure 5 %$ 1) (unify.symbol noop) (head.cut) (put.Ai.symbol 1 %[WARNING%:% Singleton% variable% as% first% argument% of% %'is%'%]) (execute message 1 si) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 14 (get.Ai.constant 1 store) (get.Ai.symbol 2 temp) (get.Ai.symbol 4 undef) (get.Ai.structure 5 %$ 2) (unify.symbol store←variable←Xn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 14 (get.Ai.constant 1 store) (get.Ai.symbol 2 perm) (get.Ai.symbol 4 undef) (get.Ai.structure 5 %$ 2) (unify.symbol store←variable←Yn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 12 (get.Ai.constant 1 store) (get.Ai.symbol 2 temp) (get.Ai.structure 5 %$ 2) (unify.symbol store←value←Xn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( var←instr 5 si ) 12 (get.Ai.constant 1 store) (get.Ai.symbol 2 perm) (get.Ai.structure 5 %$ 2) (unify.symbol store←value←Yn) (unify.local.Xn 3) (cut.proceed) ) (ASSEMBLE.CLAUSE ( nil←instr 2 si ) 13 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 2) (unify.symbol get←Ai←nil) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( nil←instr 2 si ) 13 (get.Ai.structure 1 %/ 2) (unify.symbol put) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 2) (unify.symbol put←Ai←nil) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( nil←instr 2 si ) 9 (get.Ai.constant 1 unify) (get.Ai.structure 2 %$ 1) (unify.symbol unify←nil) (cut.proceed) ) (ASSEMBLE.CLAUSE ( const←instr 3 si ) 17 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (get.Ai.structure 3 %$ 3) (unify.symbol get←Ai←constant) (unify.value.Xn 1) (unify.structure constant 1) (unify.local.Xn 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( const←instr 3 si ) 17 (get.Ai.structure 1 %/ 2) (unify.symbol put) (unify.variable.Xn 1) (get.Ai.structure 3 %$ 3) (unify.symbol put←Ai←constant) (unify.value.Xn 1) (unify.structure constant 1) (unify.local.Xn 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( const←instr 3 si ) 13 (get.Ai.constant 1 unify) (get.Ai.structure 3 %$ 2) (unify.symbol unify←constant) (unify.structure constant 1) (unify.local.Xn 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( const←instr 3 si ) 19 (get.Ai.constant 1 load) (put.Ai.value.Xn 1 2) (get.Ai.structure 3 %$ 2) (unify.symbol load←integer) (unify.structure short 1) (unify.local.Xn 1) (allocate) (call 3 short←integer 1 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( const←instr 3 si ) 17 (get.Ai.constant 1 load) (put.Ai.value.Xn 1 2) (get.Ai.structure 3 %$ 2) (unify.symbol load←float) (unify.structure float 1) (unify.local.Xn 1) (allocate) (is.a 32) (depart.cut) ) (ASSEMBLE.CLAUSE ( const←instr 3 si ) 13 (get.Ai.constant 1 load) (get.Ai.structure 3 %$ 2) (unify.symbol load←long←integer) (unify.structure address 1) (unify.local.Xn 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( const←instr 3 si ) 17 (get.Ai.constant 1 store) (put.Ai.value.Xn 1 2) (get.Ai.structure 3 %$ 2) (unify.symbol store←float) (unify.structure float 1) (unify.local.Xn 1) (allocate) (is.a 32) (depart.cut) ) (ASSEMBLE.CLAUSE ( const←instr 3 si ) 13 (get.Ai.constant 1 store) (get.Ai.structure 3 %$ 2) (unify.symbol store←integer) (unify.structure address 1) (unify.local.Xn 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( list←instr 2 si ) 13 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 2) (unify.symbol get←Ai←list) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( list←instr 2 si ) 13 (get.Ai.structure 1 %/ 2) (unify.symbol put) (unify.variable.Xn 1) (get.Ai.structure 2 %$ 2) (unify.symbol put←Ai←list) (unify.value.Xn 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( struct←instr 3 si ) 14 (get.Ai.structure 1 %/ 2) (unify.symbol get) (unify.variable.Xn 1) (get.Ai.structure 3 %$ 3) (unify.symbol get←Ai←structure) (unify.value.Xn 1) (unify.local.Xn 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( struct←instr 3 si ) 14 (get.Ai.structure 1 %/ 2) (unify.symbol put) (unify.variable.Xn 1) (get.Ai.structure 3 %$ 3) (unify.symbol put←Ai←structure) (unify.value.Xn 1) (unify.local.Xn 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 get←Ai←variable←Xn) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 get←Ai←value←Xn) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 get←Ai←constant) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 get←Ai←nil) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 get←Ai←structure) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←structure) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 get←Ai←list) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←list) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←void←n) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←vars←Xn←Xn) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←variable←Xn) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←val←X4←var←X3) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←value←Xn) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←local←Xn) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←constant) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 unify←nil) (proceed) ) (ASSEMBLE.CLAUSE ( commutes←with←allocate 1 si ) 4 (get.Ai.constant 1 head←cut) (proceed) ) STOP