(ASSEMBLE.CLAUSE ( numbervars 3 si ) 19
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (put.Ai.value.Yn 1 2)
    (is.a 24)
    (body.cut)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart numvars 3 si)
)

(ASSEMBLE.CLAUSE ( numbervars 3 si ) 13
    (put.Ai.value.Xn 4 2)
    (put.Ai.structure 2 numbervars 3)
    (unify.local.Xn 1)
    (unify.local.Xn 4)
    (unify.local.Xn 3)
    (put.Ai.constant 1 370)
    (execute nerror 2 si)
)

(ASSEMBLE.CLAUSE ( numvars 3 si ) 12
    (get.Ai.structure 1 %$VAR 1)
    (unify.variable.Xn 1)
    (get.Ai.value.Xn 2 1)
    (head.cut)
    (load.value.Xn 1)
    (add.pos.word 1)
    (store.value.Xn 3)
    (proceed)
)

(ASSEMBLE.CLAUSE ( numvars 3 si ) 26
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 3)
    (get.Ai.variable.Yn 3 4)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.void 2)
    (put.Ai.value.Yn 1 2)
    (functor)
    (put.Ai.value.Yn 5 4)
    (put.Ai.value.Yn 4 3)
    (put.Ai.value.Yn 3 2)
    (put.Ai.unsafe.Yn 2 1)
    (put.Ai.constant 1 0)
    (depart numvars 5 si)
)

(ASSEMBLE.CLAUSE ( numvars 5 si ) 5
    (get.Ai.value.Xn 2 1)
    (get.Ai.value.Xn 5 4)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( numvars 5 si ) 41
    (allocate)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (get.Ai.variable.Yn 4 7)
    (get.Ai.variable.Yn 5 5)
    (load.value.Xn 1)
    (add.pos.word 1)
    (store.variable.Yn 1)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.value.Yn 2 3)
    (put.Ai.value.Yn 1 1)
    (arg)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.value.Yn 2 7)
    (put.Ai.unsafe.Yn 1 6)
    (call 8 numvars 3 si)
    (put.Ai.value.Yn 5 5)
    (put.Ai.unsafe.Yn 4 4)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart numvars 5 si)
)

(ASSEMBLE.CLAUSE ( listing 0 si ) 4
    (put.Ai.void 2)
    (put.Ai.void 1)
    (execute do←listing 2 si)
)

(ASSEMBLE.CLAUSE ( listing 1 si ) 4
    (allocate)
    (is.a 1)
    (body.cut)
    (fail)
)

(ASSEMBLE.CLAUSE ( listing 1 si ) 12
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (body.cut)
    (put.Ai.void 2)
    (put.Ai.value.Yn 1 1)
    (depart do←listing 2 si)
)

(ASSEMBLE.CLAUSE ( listing 1 si ) 7
    (get.Ai.structure 1 %/ 2)
    (unify.variable.Xn 1)
    (unify.variable.Xn 2)
    (execute do←listing 2 si)
)

(ASSEMBLE.CLAUSE ( listing 1 si ) 9
    (get.Ai.list 1)
    (unify.variable.Xn 3)
    (unify.variable.Xn 2)
    (head.cut)
    (put.Ai.list 1)
    (unify.value.Xn 3)
    (unify.value.Xn 2)
    (execute do←listing 1 si)
)

(ASSEMBLE.CLAUSE ( do←listing 1 si ) 4
    (get.Ai.constant 1 NIL)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( do←listing 1 si ) 11
    (get.Ai.list 1)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (call 4 listing 1 si)
    (put.Ai.value.Yn 1 1)
    (depart do←listing 1 si)
)

(ASSEMBLE.CLAUSE ( do←listing 2 si ) 66
    (allocate)
    (get.Ai.variable.Yn 1 4)
    (get.Ai.variable.Yn 2 5)
    (put.Ai.variable.Yn 1 6)
    (call 9 current←module 1 si)
    (put.Ai.variable.Yn 4 3)
    (put.Ai.unsafe.Yn 3 6)
    (put.Ai.value.Yn 2 5)
    (put.Ai.value.Yn 1 4)
    (call 6 has←listable←clauses 4 si)
    (call 6 nl 0 si)
    (put.Ai.void 4)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.variable.Yn 2 2)
    (put.Ai.unsafe.Yn 1 3)
    (call 5 listing←clause 4 si)
    (put.Ai.void 3)
    (put.Ai.constant 2 0)
    (put.Ai.structure 1 %:%- 2)
    (unify.local.Yn 2)
    (unify.local.Yn 1)
    (call 5 numbervars 3 si)
    (put.Ai.unsafe.Yn 1 2)
    (call 4 writeq 1 si)
    (put.Ai.unsafe.Yn 1 1)
    (call 3 show←body 1 si)
    (put.Ai.constant 1 46)
    (call 3 put 1 si)
    (call 3 nl 0 si)
    (fail)
)

(ASSEMBLE.CLAUSE ( do←listing 2 si ) 1
    (proceed)
)

(ASSEMBLE.CLAUSE ( show←body 1 si ) 4
    (get.Ai.constant 1 true)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( show←body 1 si ) 8
    (get.Ai.constant 1 %!)
    (head.cut)
    (put.Ai.symbol 1 % %:%-% %!)
    (execute write 1 si)
)

(ASSEMBLE.CLAUSE ( show←body 1 si ) 29
    (get.Ai.structure 1 %, 2)
    (unify.symbol %!)
    (allocate)
    (unify.variable.Yn 1)
    (head.cut)
    (put.Ai.symbol 1 % %:%-% %!%,)
    (call 4 write 1 si)
    (call 4 nl 0 si)
    (put.Ai.constant 1 8)
    (call 4 tab 1 si)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (depart show←body 2 si)
)

(ASSEMBLE.CLAUSE ( show←body 1 si ) 24
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.symbol 1 % %:%-)
    (call 4 write 1 si)
    (call 4 nl 0 si)
    (put.Ai.constant 1 8)
    (call 4 tab 1 si)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (depart show←body 2 si)
)

(ASSEMBLE.CLAUSE ( show←body 2 si ) 34
    (get.Ai.structure 1 %, 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (get.Ai.variable.Yn 2 2)
    (head.cut)
    (put.Ai.value.Yn 2 2)
    (call 5 show←body 2 si)
    (put.Ai.constant 1 44)
    (call 5 put 1 si)
    (call 5 nl 0 si)
    (put.Ai.value.Yn 1 2)
    (call 5 tab 1 si)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart show←body 2 si)
)

(ASSEMBLE.CLAUSE ( show←body 2 si ) 38
    (get.Ai.structure 1 %; 2)
    (allocate)
    (unify.variable.Yn 2)
    (unify.variable.Yn 1)
    (get.Ai.variable.Yn 2 4)
    (head.cut)
    (load.value.Yn 4)
    (add.pos.word 3)
    (add.pos.word 1)
    (store.variable.Yn 3)
    (put.Ai.constant 1 40)
    (call 7 put 1 si)
    (put.Ai.constant 1 3)
    (call 7 tab 1 si)
    (put.Ai.value.Yn 3 4)
    (put.Ai.value.Yn 2 3)
    (put.Ai.structure 1 %; 2)
    (unify.value.Yn 2)
    (unify.value.Yn 1)
    (depart show←body 3 si)
)

(ASSEMBLE.CLAUSE ( show←body 2 si ) 38
    (get.Ai.structure 1 %-%> 2)
    (allocate)
    (unify.variable.Yn 2)
    (unify.variable.Yn 1)
    (get.Ai.variable.Yn 2 4)
    (head.cut)
    (load.value.Yn 4)
    (add.pos.word 3)
    (add.pos.word 1)
    (store.variable.Yn 3)
    (put.Ai.constant 1 40)
    (call 7 put 1 si)
    (put.Ai.constant 1 3)
    (call 7 tab 1 si)
    (put.Ai.value.Yn 3 4)
    (put.Ai.value.Yn 2 3)
    (put.Ai.structure 1 %-%> 2)
    (unify.value.Yn 2)
    (unify.value.Yn 1)
    (depart show←body 3 si)
)

(ASSEMBLE.CLAUSE ( show←body 2 si ) 93
    (get.Ai.structure 1 %{%} 1)
    (allocate)
    (unify.variable.Yn 4)
    (get.Ai.variable.Yn 2 1)
    (head.cut)
    (put.Ai.constant 1 123)
    (call 7 put 1 si)
    (put.Ai.constant 1 3)
    (call 7 tab 1 si)
    (load.value.Yn 1)
    (add.pos.word 3)
    (add.pos.word 1)
    (store.variable.Xn 2)
    (put.Ai.value.Yn 1 4)
    (call 7 show←body 2 si)
    (load.choice.point)
    (store.variable.Yn 2)
    (either 7 83)
    (put.Ai.constant 3 2)
    (put.Ai.variable.Yn 2 3)
    (put.Ai.value.Yn 1 4)
    (functor)
    (either 6 56)
    (put.Ai.value.Yn 1 3)
    (get.Ai.constant 1 %,)
    (jump.to 71)
    (or 65)
    (put.Ai.value.Yn 1 3)
    (get.Ai.constant 1 %;)
    (jump.to 71)
    (or.finally)
    (put.Ai.unsafe.Yn 1 3)
    (get.Ai.constant 1 %-%>)
    (load.value.Yn 2)
    (cut.to.choice.point)
    (call 4 nl 0 si)
    (put.Ai.value.Yn 1 1)
    (call 3 tab 1 si)
    (jump.to 90)
    (or.finally)
    (put.Ai.constant 1 3)
    (call 3 tab 1 si)
    (put.Ai.constant 1 125)
    (depart put 1 si)
)

(ASSEMBLE.CLAUSE ( show←body 2 si ) 2
    (execute writeq 1 si)
)

(ASSEMBLE.CLAUSE ( show←body 3 si ) 73
    (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.Yn 4)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (head.cut)
    (put.Ai.value.Yn 2 2)
    (call 8 show←body 2 si)
    (load.value.Yn 2)
    (add.pos.word 0)
    (store.variable.Yn 5)
    (put.Ai.symbol 1 % %-%>)
    (call 8 write 1 si)
    (call 8 nl 0 si)
    (put.Ai.value.Yn 1 5)
    (call 8 tab 1 si)
    (put.Ai.value.Yn 2 5)
    (put.Ai.value.Yn 1 4)
    (call 6 show←body 2 si)
    (call 6 nl 0 si)
    (put.Ai.value.Yn 1 3)
    (call 6 tab 1 si)
    (put.Ai.constant 1 59)
    (call 6 put 1 si)
    (put.Ai.constant 1 3)
    (call 6 tab 1 si)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart show←body 3 si)
)

(ASSEMBLE.CLAUSE ( show←body 3 si ) 44
    (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)
    (head.cut)
    (put.Ai.value.Yn 2 2)
    (call 6 show←body 2 si)
    (call 6 nl 0 si)
    (put.Ai.value.Yn 1 3)
    (call 6 tab 1 si)
    (put.Ai.constant 1 59)
    (call 6 put 1 si)
    (put.Ai.constant 1 3)
    (call 6 tab 1 si)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart show←body 3 si)
)

(ASSEMBLE.CLAUSE ( show←body 3 si ) 53
    (get.Ai.structure 1 %-%> 2)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 2)
    (get.Ai.variable.Yn 2 4)
    (get.Ai.variable.Yn 3 1)
    (head.cut)
    (put.Ai.value.Yn 2 4)
    (call 7 show←body 2 si)
    (load.value.Yn 4)
    (add.pos.word 0)
    (store.variable.Yn 3)
    (put.Ai.symbol 1 % %-%>)
    (call 6 write 1 si)
    (call 6 nl 0 si)
    (put.Ai.value.Yn 1 3)
    (call 6 tab 1 si)
    (put.Ai.value.Yn 2 3)
    (put.Ai.value.Yn 1 2)
    (call 4 show←body 2 si)
    (call 4 nl 0 si)
    (put.Ai.value.Yn 1 1)
    (call 3 tab 1 si)
    (put.Ai.constant 1 41)
    (depart put 1 si)
)

(ASSEMBLE.CLAUSE ( show←body 3 si ) 19
    (allocate)
    (get.Ai.variable.Yn 3 1)
    (call 4 show←body 2 si)
    (call 4 nl 0 si)
    (put.Ai.value.Yn 1 1)
    (call 3 tab 1 si)
    (put.Ai.constant 1 41)
    (depart put 1 si)
)

STOP