(ASSEMBLE.CLAUSE ( compare 3 si ) 37 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.value.Xn 1 2) (put.Ai.value.Xn 2 3) (compare) (store.variable.Yn 2) (load.value.Yn 2) (load.pos.word 0) (less.than.else 22) (put.Ai.value.Yn 1 1) (get.Ai.constant 1 %<) (progress) (load.value.Yn 2) (load.pos.word 0) (greater.than.else 33) (put.Ai.value.Yn 1 1) (get.Ai.constant 1 %>) (progress) (put.Ai.value.Yn 1 1) (get.Ai.constant 1 %=) (progress) ) (ASSEMBLE.CLAUSE ( %@%< 2 si ) 5 (compare) (load.pos.word 0) (less.than) (proceed) ) (ASSEMBLE.CLAUSE ( %@%> 2 si ) 5 (compare) (load.pos.word 0) (greater.than) (proceed) ) (ASSEMBLE.CLAUSE ( %@%=%< 2 si ) 5 (compare) (load.pos.word 0) (not.greater.than) (proceed) ) (ASSEMBLE.CLAUSE ( %@%>%= 2 si ) 5 (compare) (load.pos.word 0) (not.less.than) (proceed) ) (ASSEMBLE.CLAUSE ( comprise 6 si ) 15 (get.Ai.list 1) (unify.variable.Xn 7) (unify.variable.Xn 1) (get.Ai.value.Xn 2 7) (get.Ai.value.Xn 3 1) (get.Ai.list 4) (unify.variable.Xn 2) (unify.variable.Xn 1) (get.Ai.value.Xn 5 2) (get.Ai.value.Xn 6 1) (proceed) ) (ASSEMBLE.CLAUSE ( proper←length 3 si ) 6 (get.Ai.constant 1 NIL) (get.Ai.value.Xn 3 2) (proceed) ) (ASSEMBLE.CLAUSE ( proper←length 3 si ) 21 (get.Ai.list 1) (unify.void 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 3) (get.Ai.variable.Yn 3 2) (put.Ai.value.Yn 1 1) (is.a 254) (load.value.Yn 3) (add.pos.word 1) (store.variable.Xn 2) (put.Ai.value.Yn 3 2) (put.Ai.value.Yn 1 1) (depart proper←length 3 si) ) (ASSEMBLE.CLAUSE ( sort 2 si ) 34 (allocate) (get.Ai.variable.Yn 1 4) (get.Ai.variable.Yn 2 1) (put.Ai.value.Yn 1 4) (is.a 254) (put.Ai.variable.Yn 3 3) (put.Ai.constant 2 0) (put.Ai.value.Yn 1 4) (call 7 proper←length 3 si) (body.cut) (put.Ai.variable.Yn 4 2) (put.Ai.void 3) (put.Ai.value.Yn 2 4) (put.Ai.unsafe.Yn 1 3) (call 5 sort 4 si) (put.Ai.unsafe.Yn 1 2) (get.Ai.value.Yn 1 1) (progress) ) (ASSEMBLE.CLAUSE ( sort 2 si ) 12 (put.Ai.value.Xn 3 2) (put.Ai.structure 2 sort 2) (unify.local.Xn 1) (unify.local.Xn 3) (put.Ai.constant 1 521) (execute nerror 2 si) ) (ASSEMBLE.CLAUSE ( sort 4 si ) 52 (get.Ai.constant 1 2) (get.Ai.list 2) (allocate) (unify.variable.Yn 1) (unify.list) (unify.variable.Yn 3) (unify.variable.Xn 1) (get.Ai.value.Xn 3 1) (get.Ai.variable.Yn 4 2) (head.cut) (put.Ai.value.Yn 2 3) (put.Ai.value.Yn 1 1) (compare) (store.variable.Yn 4) (load.value.Yn 4) (load.pos.word 0) (less.than.else 35) (put.Ai.value.Yn 1 2) (get.Ai.list 1) (unify.value.Yn 1) (unify.list) (unify.value.Yn 3) (unify.nil) (progress) (load.value.Yn 4) (load.pos.word 0) (greater.than.else 48) (put.Ai.value.Yn 1 2) (get.Ai.list 1) (unify.value.Yn 3) (unify.list) (unify.value.Yn 1) (unify.nil) (progress) (put.Ai.value.Yn 1 2) (get.Ai.list 1) (unify.value.Yn 1) (unify.nil) (progress) ) (ASSEMBLE.CLAUSE ( sort 4 si ) 12 (get.Ai.constant 1 1) (get.Ai.list 2) (unify.variable.Xn 1) (unify.variable.Xn 2) (get.Ai.value.Xn 3 2) (get.Ai.list 4) (unify.value.Xn 1) (unify.nil) (cut.proceed) ) (ASSEMBLE.CLAUSE ( sort 4 si ) 7 (get.Ai.constant 1 0) (get.Ai.value.Xn 3 2) (get.Ai.nil 4) (cut.proceed) ) (ASSEMBLE.CLAUSE ( sort 4 si ) 42 (allocate) (get.Ai.variable.Yn 3 6) (get.Ai.variable.Yn 4 3) (load.value.Xn 1) (load.pos.word 1) (right.shift) (store.variable.Xn 5) (load.value.Xn 1) (load.value.Xn 5) (subtract) (store.variable.Yn 4) (put.Ai.variable.Yn 4 1) (put.Ai.variable.Yn 3 5) (put.Ai.value.Xn 1 5) (call 9 sort 4 si) (put.Ai.variable.Yn 4 2) (put.Ai.value.Yn 3 6) (put.Ai.unsafe.Yn 2 5) (put.Ai.value.Yn 1 4) (call 6 sort 4 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart merge 3 si) ) (ASSEMBLE.CLAUSE ( merge 3 si ) 6 (get.Ai.constant 1 NIL) (get.Ai.value.Xn 3 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( merge 3 si ) 4 (get.Ai.nil 2) (get.Ai.value.Xn 3 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( merge 3 si ) 75 (allocate) (get.Ai.variable.Yn 1 6) (get.Ai.variable.Yn 2 9) (get.Ai.list 3) (unify.variable.Yn 4) (unify.variable.Yn 3) (put.Ai.variable.Yn 6 2) (put.Ai.variable.Yn 5 7) (put.Ai.value.Yn 4 9) (put.Ai.variable.Yn 3 1) (put.Ai.variable.Yn 2 5) (put.Ai.value.Yn 1 6) (call 12 comprise 6 si) (put.Ai.value.Yn 2 7) (put.Ai.value.Yn 1 5) (compare) (store.variable.Yn 8) (load.value.Yn 8) (load.pos.word 0) (less.than.else 48) (put.Ai.value.Yn 1 5) (get.Ai.value.Yn 1 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 9) (put.Ai.value.Yn 1 1) (depart merge 3 si) (load.value.Yn 8) (load.pos.word 0) (greater.than.else 65) (put.Ai.unsafe.Yn 1 7) (get.Ai.value.Yn 1 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 6) (depart merge 3 si) (put.Ai.unsafe.Yn 1 5) (get.Ai.value.Yn 1 4) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart merge 3 si) ) (ASSEMBLE.CLAUSE ( keysort 2 si ) 34 (allocate) (get.Ai.variable.Yn 1 4) (get.Ai.variable.Yn 2 1) (put.Ai.value.Yn 1 4) (is.a 254) (put.Ai.variable.Yn 3 3) (put.Ai.constant 2 0) (put.Ai.value.Yn 1 4) (call 7 proper←length 3 si) (body.cut) (put.Ai.variable.Yn 4 2) (put.Ai.void 3) (put.Ai.value.Yn 2 4) (put.Ai.unsafe.Yn 1 3) (call 5 keysort 4 si) (put.Ai.unsafe.Yn 1 2) (get.Ai.value.Yn 1 1) (progress) ) (ASSEMBLE.CLAUSE ( keysort 2 si ) 12 (put.Ai.value.Xn 3 2) (put.Ai.structure 2 keysort 2) (unify.local.Xn 1) (unify.local.Xn 3) (put.Ai.constant 1 521) (execute nerror 2 si) ) (ASSEMBLE.CLAUSE ( keysort 4 si ) 45 (get.Ai.constant 1 2) (get.Ai.list 2) (allocate) (unify.variable.Yn 2) (unify.list) (unify.variable.Yn 1) (unify.variable.Xn 1) (get.Ai.value.Xn 3 1) (get.Ai.variable.Yn 4 3) (head.cut) (load.choice.point) (store.variable.Yn 4) (either 7 38) (put.Ai.value.Yn 2 1) (put.Ai.value.Yn 1 2) (call 7 key←greater 2 si) (load.value.Yn 4) (cut.to.choice.point) (put.Ai.value.Yn 1 3) (get.Ai.list 1) (unify.value.Yn 1) (unify.list) (unify.value.Yn 2) (unify.nil) (progress) (or.finally) (put.Ai.value.Yn 1 3) (get.Ai.list 1) (unify.value.Yn 2) (unify.list) (unify.value.Yn 1) (unify.nil) (progress) ) (ASSEMBLE.CLAUSE ( keysort 4 si ) 12 (get.Ai.constant 1 1) (get.Ai.list 2) (unify.variable.Xn 1) (unify.variable.Xn 2) (get.Ai.value.Xn 3 2) (get.Ai.list 4) (unify.value.Xn 1) (unify.nil) (cut.proceed) ) (ASSEMBLE.CLAUSE ( keysort 4 si ) 7 (get.Ai.constant 1 0) (get.Ai.value.Xn 3 2) (get.Ai.nil 4) (cut.proceed) ) (ASSEMBLE.CLAUSE ( keysort 4 si ) 42 (allocate) (get.Ai.variable.Yn 3 6) (get.Ai.variable.Yn 4 3) (load.value.Xn 1) (load.pos.word 1) (right.shift) (store.variable.Xn 5) (load.value.Xn 1) (load.value.Xn 5) (subtract) (store.variable.Yn 4) (put.Ai.variable.Yn 4 1) (put.Ai.variable.Yn 3 5) (put.Ai.value.Xn 1 5) (call 9 keysort 4 si) (put.Ai.variable.Yn 4 2) (put.Ai.value.Yn 3 6) (put.Ai.unsafe.Yn 2 5) (put.Ai.value.Yn 1 4) (call 6 keysort 4 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart keymerge 3 si) ) (ASSEMBLE.CLAUSE ( keymerge 3 si ) 6 (get.Ai.constant 1 NIL) (get.Ai.value.Xn 3 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( keymerge 3 si ) 4 (get.Ai.nil 2) (get.Ai.value.Xn 3 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( keymerge 3 si ) 62 (allocate) (get.Ai.variable.Yn 1 6) (get.Ai.variable.Yn 2 2) (get.Ai.list 3) (unify.variable.Yn 4) (unify.variable.Yn 3) (put.Ai.variable.Yn 6 7) (put.Ai.variable.Yn 5 8) (put.Ai.value.Yn 4 2) (put.Ai.variable.Yn 3 1) (put.Ai.variable.Yn 2 5) (put.Ai.value.Yn 1 6) (call 12 comprise 6 si) (load.choice.point) (store.variable.Yn 9) (either 12 51) (put.Ai.value.Yn 2 8) (put.Ai.value.Yn 1 5) (call 12 key←greater 2 si) (load.value.Yn 9) (cut.to.choice.point) (put.Ai.unsafe.Yn 1 8) (get.Ai.value.Yn 1 4) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 7) (put.Ai.value.Yn 1 6) (depart keymerge 3 si) (or.finally) (put.Ai.unsafe.Yn 1 5) (get.Ai.value.Yn 1 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart keymerge 3 si) ) (ASSEMBLE.CLAUSE ( key←greater 2 si ) 15 (get.Ai.structure 1 %- 2) (unify.variable.Xn 1) (unify.void 1) (get.Ai.structure 2 %- 2) (unify.variable.Xn 2) (unify.void 1) (compare) (load.pos.word 0) (greater.than) (proceed) ) STOP