(ASSEMBLE.CLAUSE ( db←reference 1 si ) 36
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 1 1)
    (is.a 248)
    (load.choice.point)
    (store.variable.Yn 2)
    (either 5 19)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (load.value.Yn 2)
    (cut.to.choice.point)
    (fail)
    (or 27)
    (put.Ai.value.Yn 1 1)
    (is.a 56)
    (load.value.Yn 2)
    (cut.to.choice.point)
    (fail)
    (or.finally)
    (put.Ai.constant 3 38400)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (progress)
)

(ASSEMBLE.CLAUSE ( assert 1 si ) 6
    (put.Ai.symbol 3 z)
    (put.Ai.symbol 2 user)
    (execute normal←assert 3 si)
)

(ASSEMBLE.CLAUSE ( asserta 1 si ) 6
    (put.Ai.symbol 3 a)
    (put.Ai.symbol 2 user)
    (execute normal←assert 3 si)
)

(ASSEMBLE.CLAUSE ( assertz 1 si ) 6
    (put.Ai.symbol 3 z)
    (put.Ai.symbol 2 user)
    (execute normal←assert 3 si)
)

(ASSEMBLE.CLAUSE ( assert 2 si ) 8
    (put.Ai.value.Xn 4 2)
    (put.Ai.symbol 3 z)
    (put.Ai.symbol 2 user)
    (execute normal←assert 4 si)
)

(ASSEMBLE.CLAUSE ( asserta 2 si ) 8
    (put.Ai.value.Xn 4 2)
    (put.Ai.symbol 3 a)
    (put.Ai.symbol 2 user)
    (execute normal←assert 4 si)
)

(ASSEMBLE.CLAUSE ( assertz 2 si ) 8
    (put.Ai.value.Xn 4 2)
    (put.Ai.symbol 3 z)
    (put.Ai.symbol 2 user)
    (execute normal←assert 4 si)
)

(ASSEMBLE.CLAUSE ( assert←module 2 si ) 4
    (put.Ai.symbol 3 z)
    (execute normal←assert 3 si)
)

(ASSEMBLE.CLAUSE ( asserta←module 2 si ) 4
    (put.Ai.symbol 3 a)
    (execute normal←assert 3 si)
)

(ASSEMBLE.CLAUSE ( assertz←module 2 si ) 4
    (put.Ai.symbol 3 z)
    (execute normal←assert 3 si)
)

(ASSEMBLE.CLAUSE ( normal←assert 3 si ) 68
    (allocate)
    (get.Ai.variable.Yn 2 8)
    (get.Ai.variable.Yn 3 4)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.variable.Yn 2 2)
    (call 11 split←clause 3 si)
    (put.Ai.value.Yn 1 2)
    (is.a 254)
    (put.Ai.variable.Yn 3 7)
    (put.Ai.variable.Yn 2 6)
    (put.Ai.value.Yn 1 2)
    (functor)
    (put.Ai.value.Yn 4 8)
    (put.Ai.value.Yn 3 8)
    (put.Ai.value.Yn 2 7)
    (put.Ai.value.Yn 1 6)
    (call 11 predicate←module 4 si)
    (put.Ai.variable.Yn 4 3)
    (put.Ai.value.Yn 3 8)
    (put.Ai.unsafe.Yn 2 7)
    (put.Ai.unsafe.Yn 1 6)
    (call 8 local←predicate 4 si)
    (put.Ai.value.Yn 1 3)
    (call 8 dynamic←procedure 1 si)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.unsafe.Yn 1 5)
    (call 7 transform←body 2 interp)
    (body.cut)
    (put.Ai.value.Yn 3 4)
    (put.Ai.unsafe.Yn 2 3)
    (put.Ai.structure 1 %:%- 2)
    (unify.local.Yn 2)
    (unify.local.Yn 1)
    (depart assert←clause 3 si)
)

(ASSEMBLE.CLAUSE ( normal←assert 3 si ) 2
    (execute diagnose←error 2 si)
)

(ASSEMBLE.CLAUSE ( normal←assert 4 si ) 72
    (allocate)
    (get.Ai.variable.Yn 2 9)
    (get.Ai.variable.Yn 3 4)
    (get.Ai.variable.Yn 4 5)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.variable.Yn 2 2)
    (call 12 split←clause 3 si)
    (put.Ai.value.Yn 1 2)
    (is.a 254)
    (put.Ai.variable.Yn 3 8)
    (put.Ai.variable.Yn 2 7)
    (put.Ai.value.Yn 1 2)
    (functor)
    (put.Ai.value.Yn 4 9)
    (put.Ai.value.Yn 3 9)
    (put.Ai.value.Yn 2 8)
    (put.Ai.value.Yn 1 7)
    (call 12 predicate←module 4 si)
    (put.Ai.variable.Yn 4 3)
    (put.Ai.value.Yn 3 9)
    (put.Ai.unsafe.Yn 2 8)
    (put.Ai.unsafe.Yn 1 7)
    (call 9 local←predicate 4 si)
    (put.Ai.value.Yn 1 3)
    (call 9 dynamic←procedure 1 si)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.unsafe.Yn 1 6)
    (call 8 transform←body 2 interp)
    (body.cut)
    (put.Ai.value.Yn 4 5)
    (put.Ai.value.Yn 3 4)
    (put.Ai.unsafe.Yn 2 3)
    (put.Ai.structure 1 %:%- 2)
    (unify.local.Yn 2)
    (unify.local.Yn 1)
    (depart assert←clause 4 si)
)

(ASSEMBLE.CLAUSE ( normal←assert 4 si ) 2
    (execute diagnose←error 2 si)
)

(ASSEMBLE.CLAUSE ( diagnose←error 2 si ) 46
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 4)
    (put.Ai.variable.Yn 2 5)
    (put.Ai.value.Yn 1 1)
    (call 8 legal←head 2 si)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.variable.Yn 2 2)
    (put.Ai.unsafe.Yn 1 5)
    (functor)
    (put.Ai.value.Yn 3 4)
    (put.Ai.value.Yn 2 3)
    (put.Ai.value.Yn 1 2)
    (call 7 legal←module 3 si)
    (put.Ai.value.Yn 3 4)
    (put.Ai.unsafe.Yn 2 3)
    (put.Ai.unsafe.Yn 1 2)
    (call 4 not←static 3 si)
    (put.Ai.value.Yn 2 1)
    (put.Ai.constant 1 358)
    (call 3 nerror 2 si)
    (fail)
)

(ASSEMBLE.CLAUSE ( legal←head 2 si ) 13
    (allocate)
    (get.Ai.variable.Yn 2 1)
    (put.Ai.void 3)
    (put.Ai.value.Yn 2 1)
    (call 4 split←clause 3 si)
    (put.Ai.value.Yn 1 1)
    (is.a 254)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( legal←head 2 si ) 10
    (allocate)
    (put.Ai.value.Xn 2 1)
    (put.Ai.constant 1 331)
    (call 3 nerror 2 si)
    (fail)
)

(ASSEMBLE.CLAUSE ( legal←module 3 si ) 7
    (allocate)
    (put.Ai.value.Xn 4 3)
    (call 3 predicate←module 4 si)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( legal←module 3 si ) 15
    (put.Ai.value.Xn 4 2)
    (allocate)
    (put.Ai.structure 2 %/ 2)
    (unify.local.Xn 1)
    (unify.local.Xn 4)
    (put.Ai.constant 1 354)
    (call 3 nerror 2 si)
    (fail)
)

(ASSEMBLE.CLAUSE ( not←static 3 si ) 12
    (allocate)
    (put.Ai.variable.Yn 4 1)
    (call 4 local←predicate 4 si)
    (put.Ai.unsafe.Yn 1 1)
    (call 3 dynamic←procedure 1 si)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( not←static 3 si ) 15
    (put.Ai.value.Xn 4 2)
    (allocate)
    (put.Ai.structure 2 %/ 2)
    (unify.local.Xn 1)
    (unify.local.Xn 4)
    (put.Ai.constant 1 330)
    (call 3 nerror 2 si)
    (fail)
)

(ASSEMBLE.CLAUSE ( consult←assert 2 si ) 34
    (allocate)
    (get.Ai.variable.Yn 2 3)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.variable.Yn 2 2)
    (call 7 split←clause 3 si)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.unsafe.Yn 1 4)
    (call 6 transform←body 2 interp)
    (put.Ai.value.Yn 1 3)
    (call 6 interpreted←procedure 1 si)
    (body.cut)
    (put.Ai.symbol 3 z)
    (put.Ai.value.Yn 2 3)
    (put.Ai.structure 1 %:%- 2)
    (unify.local.Yn 2)
    (unify.local.Yn 1)
    (depart assert←clause 3 si)
)

(ASSEMBLE.CLAUSE ( consult←assert 2 si ) 7
    (put.Ai.value.Xn 2 1)
    (put.Ai.constant 1 358)
    (execute nerror 2 si)
)

(ASSEMBLE.CLAUSE ( assert←clause 3 si ) 2
    (execute store←skeleton 1 si)
)

(ASSEMBLE.CLAUSE ( assert←clause 3 si ) 10
    (put.Ai.value.Xn 1 3)
    (load.cur.clause)
    (store.variable.Xn 3)
    (load.value.Xn 3)
    (load.pos.word 0)
    (not.equal.to)
    (execute attach←clause 3 si)
)

(ASSEMBLE.CLAUSE ( assert←clause 4 si ) 2
    (execute store←skeleton 1 si)
)

(ASSEMBLE.CLAUSE ( assert←clause 4 si ) 13
    (put.Ai.value.Xn 1 3)
    (put.Ai.value.Xn 3 4)
    (allocate)
    (load.cur.clause)
    (store.value.Xn 3)
    (load.value.Xn 3)
    (load.pos.word 0)
    (not.equal.to)
    (depart attach←clause 3 si)
)

(ASSEMBLE.CLAUSE ( split←clause 3 si ) 22
    (get.Ai.structure 1 %:%- 2)
    (unify.variable.Xn 1)
    (unify.variable.Xn 4)
    (get.Ai.value.Xn 2 1)
    (get.Ai.value.Xn 3 4)
    (head.cut)
    (allocate)
    (load.choice.point)
    (store.variable.Yn 1)
    (either 4 22)
    (is.a 56)
    (load.value.Yn 1)
    (cut.to.choice.point)
    (fail)
    (or.finally)
    (progress)
)

(ASSEMBLE.CLAUSE ( split←clause 3 si ) 16
    (get.Ai.value.Xn 2 1)
    (get.Ai.symbol 3 true)
    (allocate)
    (load.choice.point)
    (store.variable.Yn 1)
    (either 4 16)
    (is.a 56)
    (load.value.Yn 1)
    (cut.to.choice.point)
    (fail)
    (or.finally)
    (progress)
)

(ASSEMBLE.CLAUSE ( attach←clause 3 si ) 49
    (allocate)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.variable.Yn 3 2)
    (gettopval QP%.FAILURE%.CLAUSE)
    (store.variable.Xn 3)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 1)
    (get.addr)
    (body.cut)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (put.Ai.value.Yn 3 1)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (put.Ai.constant 3 58880)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 2)
    (put.word)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (progress)
)

(ASSEMBLE.CLAUSE ( attach←clause 3 si ) 76
    (get.Ai.constant 1 a)
    (allocate)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.variable.Yn 3 2)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 1)
    (get.addr)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 3)
    (get.addr)
    (put.Ai.unsafe.Yn 3 4)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (put.Ai.value.Yn 3 3)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (put.Ai.constant 3 58368)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 2)
    (put.word)
    (put.Ai.constant 1 1)
    (call 6 block←events 1 si)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 4)
    (put.Ai.unsafe.Yn 1 3)
    (put.addr)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.constant 1 1)
    (depart unblock←events 1 si)
)

(ASSEMBLE.CLAUSE ( attach←clause 3 si ) 146
    (get.Ai.constant 1 z)
    (allocate)
    (get.Ai.variable.Yn 2 5)
    (get.Ai.variable.Yn 3 2)
    (put.Ai.value.Yn 3 5)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (put.Ai.constant 3 58880)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 2)
    (put.word)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 5)
    (get.addr)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 1)
    (get.addr)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 3)
    (get.addr)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 3)
    (get.word)
    (put.Ai.constant 1 1)
    (call 9 block←events 1 si)
    (load.value.Yn 6)
    (load.pos.word 38400)
    (equal.to.else 80)
    (put.Ai.value.Yn 3 3)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (jump.to 118)
    (load.value.Yn 4)
    (load.value.Yn 3)
    (equal.to.else 102)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 5)
    (put.addr)
    (jump.to 118)
    (put.Ai.value.Yn 3 4)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 2)
    (put.Ai.unsafe.Yn 1 4)
    (put.addr)
    (put.Ai.constant 3 58368)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 3)
    (put.word)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 2)
    (put.Ai.unsafe.Yn 1 3)
    (put.addr)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 4)
    (put.Ai.unsafe.Yn 1 1)
    (put.addr)
    (put.Ai.constant 1 1)
    (depart unblock←events 1 si)
)

(ASSEMBLE.CLAUSE ( listing←clause 4 si ) 25
    (allocate)
    (get.Ai.variable.Yn 3 2)
    (get.Ai.nil 4)
    (put.Ai.constant 3 1)
    (put.Ai.structure 4 %:%- 2)
    (unify.local.Xn 2)
    (unify.variable.Yn 1)
    (put.Ai.structure 2 %$ 1)
    (unify.value.Xn 4)
    (call 5 apply 3 si)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( clause 2 si ) 38
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 3)
    (put.Ai.value.Yn 1 2)
    (is.a 254)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.variable.Yn 2 4)
    (put.Ai.value.Yn 1 2)
    (functor)
    (put.Ai.value.Yn 1 4)
    (is.a 128)
    (body.cut)
    (put.Ai.variable.Yn 4 1)
    (put.Ai.symbol 3 user)
    (put.Ai.unsafe.Yn 2 5)
    (put.Ai.unsafe.Yn 1 4)
    (call 6 check←predicate 4 si)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart dynamic←clause 3 si)
)

(ASSEMBLE.CLAUSE ( clause 2 si ) 12
    (put.Ai.value.Xn 3 2)
    (put.Ai.structure 2 clause 2)
    (unify.local.Xn 1)
    (unify.local.Xn 3)
    (put.Ai.constant 1 331)
    (execute nerror 2 si)
)

(ASSEMBLE.CLAUSE ( dynamic←clause 3 si ) 36
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (get.Ai.variable.Yn 2 4)
    (get.Ai.variable.Yn 3 2)
    (put.Ai.value.Yn 1 3)
    (call 7 dynamic←procedure 1 si)
    (body.cut)
    (put.Ai.constant 3 1)
    (put.Ai.structure 1 %:%- 2)
    (unify.local.Yn 4)
    (unify.variable.Yn 1)
    (put.Ai.structure 2 %$ 1)
    (unify.value.Xn 1)
    (put.Ai.value.Yn 1 3)
    (call 5 apply 3 si)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( dynamic←clause 3 si ) 18
    (put.Ai.value.Xn 1 2)
    (allocate)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.variable.Yn 2 2)
    (functor)
    (put.Ai.structure 2 %/ 2)
    (unify.local.Yn 2)
    (unify.local.Yn 1)
    (put.Ai.constant 1 332)
    (depart nerror 2 si)
)

(ASSEMBLE.CLAUSE ( clause←module 3 si ) 33
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 3)
    (get.Ai.variable.Yn 3 6)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.variable.Yn 2 4)
    (put.Ai.value.Yn 1 2)
    (functor)
    (put.Ai.variable.Yn 4 1)
    (put.Ai.value.Yn 3 6)
    (put.Ai.unsafe.Yn 2 5)
    (put.Ai.unsafe.Yn 1 4)
    (call 6 local←check←predicate 4 si)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart dynamic←clause 3 si)
)

(ASSEMBLE.CLAUSE ( clause 3 si ) 20
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 1)
    (put.Ai.value.Yn 1 1)
    (is.a 254)
    (body.cut)
    (put.Ai.structure 2 %:%- 2)
    (unify.local.Yn 3)
    (unify.local.Yn 2)
    (put.Ai.value.Yn 1 1)
    (depart instance 2 si)
)

(ASSEMBLE.CLAUSE ( clause 3 si ) 42
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 3)
    (get.Ai.variable.Yn 3 4)
    (put.Ai.value.Yn 1 2)
    (is.a 254)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.variable.Yn 2 5)
    (put.Ai.value.Yn 1 2)
    (functor)
    (put.Ai.value.Yn 1 5)
    (is.a 128)
    (body.cut)
    (put.Ai.variable.Yn 4 1)
    (put.Ai.symbol 3 user)
    (put.Ai.unsafe.Yn 2 6)
    (put.Ai.unsafe.Yn 1 5)
    (call 7 check←predicate 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 dynamic←clause 4 si)
)

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

(ASSEMBLE.CLAUSE ( dynamic←clause 4 si ) 40
    (allocate)
    (get.Ai.variable.Yn 1 4)
    (get.Ai.variable.Yn 2 5)
    (get.Ai.variable.Yn 3 2)
    (get.Ai.variable.Yn 4 3)
    (put.Ai.value.Yn 1 4)
    (call 8 dynamic←procedure 1 si)
    (body.cut)
    (put.Ai.constant 3 1)
    (put.Ai.structure 1 %:%- 2)
    (unify.local.Yn 5)
    (unify.variable.Yn 1)
    (put.Ai.structure 2 %$ 1)
    (unify.value.Xn 1)
    (put.Ai.value.Yn 1 4)
    (call 6 apply 3 si)
    (load.cur.clause)
    (store.value.Yn 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart transform←back←body 2 interp)
)

(ASSEMBLE.CLAUSE ( dynamic←clause 4 si ) 18
    (put.Ai.value.Xn 1 2)
    (allocate)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.variable.Yn 2 2)
    (functor)
    (put.Ai.structure 2 %/ 2)
    (unify.local.Yn 2)
    (unify.local.Yn 1)
    (put.Ai.constant 1 332)
    (depart nerror 2 si)
)

(ASSEMBLE.CLAUSE ( retract 1 si ) 31
    (allocate)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.variable.Yn 2 3)
    (call 7 split←clause 3 si)
    (put.Ai.value.Yn 1 3)
    (is.a 254)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 3)
    (functor)
    (body.cut)
    (put.Ai.unsafe.Yn 5 4)
    (put.Ai.unsafe.Yn 4 3)
    (put.Ai.symbol 3 user)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart retract←clause 5 si)
)

(ASSEMBLE.CLAUSE ( retract 1 si ) 9
    (put.Ai.structure 2 retract 1)
    (unify.local.Xn 1)
    (put.Ai.constant 1 331)
    (execute nerror 2 si)
)

(ASSEMBLE.CLAUSE ( retract←module 2 si ) 29
    (allocate)
    (get.Ai.variable.Yn 2 3)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.variable.Yn 2 4)
    (call 8 split←clause 3 si)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 4)
    (functor)
    (put.Ai.unsafe.Yn 5 5)
    (put.Ai.unsafe.Yn 4 4)
    (put.Ai.value.Yn 3 3)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart retract←clause 5 si)
)

(ASSEMBLE.CLAUSE ( retractall 1 si ) 35
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (put.Ai.value.Yn 1 3)
    (is.a 254)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 3)
    (functor)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (body.cut)
    (either 6 35)
    (put.Ai.void 5)
    (put.Ai.value.Yn 4 3)
    (put.Ai.symbol 3 user)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (call 3 retract←clause 5 si)
    (fail)
    (or.finally)
    (progress)
)

(ASSEMBLE.CLAUSE ( retractall 1 si ) 9
    (put.Ai.structure 2 retractall 1)
    (unify.local.Xn 1)
    (put.Ai.constant 1 331)
    (execute nerror 2 si)
)

(ASSEMBLE.CLAUSE ( retract←clause 5 si ) 25
    (allocate)
    (get.Ai.variable.Yn 4 3)
    (get.Ai.variable.Yn 5 4)
    (put.Ai.variable.Yn 4 2)
    (call 7 check←predicate 4 si)
    (put.Ai.variable.Yn 4 1)
    (put.Ai.value.Yn 3 4)
    (put.Ai.value.Yn 2 3)
    (put.Ai.unsafe.Yn 1 2)
    (call 4 dynamic←clause 4 si)
    (put.Ai.unsafe.Yn 1 1)
    (depart retract←clause 1 si)
)

(ASSEMBLE.CLAUSE ( retract←clause 1 si ) 157
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (put.Ai.constant 3 57344)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 3)
    (put.word)
    (put.Ai.constant 1 1)
    (call 12 block←events 1 si)
    (load.choice.point)
    (store.variable.Yn 9)
    (either 12 38)
    (put.Ai.constant 3 58880)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 3)
    (get.word)
    (load.value.Yn 9)
    (cut.to.choice.point)
    (jump.to 106)
    (or.finally)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 3)
    (get.addr)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 3)
    (get.addr)
    (load.choice.point)
    (store.variable.Yn 8)
    (either 11 89)
    (put.Ai.constant 3 58880)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 6)
    (get.word)
    (load.value.Yn 8)
    (cut.to.choice.point)
    (put.Ai.variable.Yn 3 7)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 6)
    (get.addr)
    (put.Ai.value.Yn 3 5)
    (put.Ai.constant 2 10)
    (put.Ai.unsafe.Yn 1 7)
    (put.addr)
    (jump.to 98)
    (or.finally)
    (put.Ai.value.Yn 3 5)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 6)
    (put.addr)
    (put.Ai.unsafe.Yn 3 6)
    (put.Ai.constant 2 4)
    (put.Ai.unsafe.Yn 1 5)
    (put.addr)
    (gettopval QP%.DUMMY%.CLAUSE)
    (store.variable.Yn 1)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (get.addr)
    (put.Ai.unsafe.Yn 3 4)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 3)
    (put.addr)
    (put.Ai.value.Yn 3 3)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 7)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (add.pos.word 1)
    (store.variable.Xn 3)
    (put.Ai.constant 2 7)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (put.Ai.constant 1 1)
    (call 3 unblock←events 1 si)
    (depart maybe←clean←up 0 si)
)

(ASSEMBLE.CLAUSE ( next←interpreted←choice←point 3 si ) 8
    (start.calling QP%.NXTICP 1)
    (send.direct.Ai 1)
    (call.lisp 2)
    (unify.local.Xn 2)
    (unify.local.Xn 3)
    (proceed)
)

(ASSEMBLE.CLAUSE ( time←to←prune 2 si ) 8
    (start.calling QP%.PRUNEP 2)
    (send.direct.Ai 1)
    (send.direct.Ai 2)
    (call.lisp 1)
    (unify.void 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( traverse←stack 1 si ) 23
    (allocate)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.variable.Yn 2 2)
    (call 5 next←interpreted←choice←point 3 si)
    (load.value.Yn 2)
    (load.pos.word 0)
    (not.equal.to.else 24)
    (put.Ai.unsafe.Yn 1 2)
    (call 4 handle 1 si)
    (put.Ai.unsafe.Yn 1 1)
    (depart traverse←stack 1 si)
    (progress)
)

(ASSEMBLE.CLAUSE ( maybe←clean←up 0 si ) 41
    (allocate)
    (load.choice.point)
    (store.variable.Yn 2)
    (gettopval QP%.DUMMY%.CLAUSE)
    (store.variable.Yn 1)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 7)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.choice.point)
    (store.variable.Yn 3)
    (either 7 41)
    (put.Ai.unsafe.Yn 2 4)
    (put.Ai.value.Yn 1 2)
    (call 6 time←to←prune 2 si)
    (load.value.Yn 3)
    (cut.to.choice.point)
    (put.Ai.value.Yn 1 2)
    (call 4 traverse←stack 1 si)
    (put.Ai.value.Yn 2 1)
    (put.Ai.value.Yn 1 1)
    (depart traverse←chain 2 si)
    (or.finally)
    (progress)
)

(ASSEMBLE.CLAUSE ( clean←up←clauses 0 si ) 31
    (allocate)
    (load.choice.point)
    (store.variable.Yn 2)
    (gettopval QP%.DUMMY%.CLAUSE)
    (store.variable.Yn 1)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.constant 2 7)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 3)
    (load.pos.word 0)
    (greater.than.else 32)
    (put.Ai.value.Yn 1 2)
    (call 4 traverse←stack 1 si)
    (put.Ai.value.Yn 2 1)
    (put.Ai.value.Yn 1 1)
    (depart traverse←chain 2 si)
    (progress)
)

(ASSEMBLE.CLAUSE ( handle 1 si ) 69
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.constant 3 57344)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (either 6 31)
    (load.value.Yn 3)
    (load.pos.word 58368)
    (equal.to)
    (jump.to 36)
    (or.finally)
    (load.value.Yn 3)
    (load.pos.word 58880)
    (equal.to)
    (body.cut)
    (load.choice.point)
    (store.variable.Yn 2)
    (either 5 55)
    (put.Ai.constant 3 58880)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (cut.to.choice.point)
    (jump.to 61)
    (or.finally)
    (put.Ai.value.Yn 1 1)
    (call 4 handle←next 1 si)
    (put.Ai.constant 3 57856)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (progress)
)

(ASSEMBLE.CLAUSE ( handle 1 si ) 1
    (proceed)
)

(ASSEMBLE.CLAUSE ( handle←next 1 si ) 72
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 1)
    (get.addr)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 3)
    (get.word)
    (load.value.Yn 5)
    (load.pos.word 57344)
    (not.equal.to.else 27)
    (progress)
    (load.choice.point)
    (store.variable.Yn 4)
    (either 7 53)
    (put.Ai.constant 3 58880)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 3)
    (get.word)
    (load.value.Yn 4)
    (cut.to.choice.point)
    (put.Ai.constant 3 57856)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (progress)
    (or.finally)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 2)
    (put.Ai.unsafe.Yn 1 3)
    (get.addr)
    (put.Ai.unsafe.Yn 3 2)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.value.Yn 1 1)
    (depart handle←next 1 si)
)

(ASSEMBLE.CLAUSE ( traverse←chain 2 si ) 195
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (get.Ai.variable.Yn 2 2)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 3)
    (get.addr)
    (load.value.Yn 4)
    (load.pos.word 0)
    (not.equal.to.else 196)
    (load.choice.point)
    (store.variable.Yn 11)
    (either 14 51)
    (put.Ai.constant 3 57856)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 4)
    (get.word)
    (load.value.Yn 11)
    (cut.to.choice.point)
    (put.Ai.constant 3 57344)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 4)
    (put.word)
    (put.Ai.value.Yn 1 4)
    (get.Ai.variable.Yn 1 1)
    (jump.to 190)
    (or.finally)
    (put.Ai.constant 1 1)
    (call 13 block←events 1 si)
    (load.choice.point)
    (store.variable.Yn 10)
    (either 13 140)
    (put.Ai.constant 3 58880)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 4)
    (get.word)
    (load.value.Yn 10)
    (cut.to.choice.point)
    (put.Ai.variable.Yn 3 8)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 4)
    (get.addr)
    (put.Ai.variable.Yn 3 9)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 4)
    (get.addr)
    (put.Ai.variable.Yn 3 7)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 9)
    (get.addr)
    (load.value.Yn 7)
    (load.value.Yn 4)
    (equal.to.else 113)
    (gettopval QP%.FAILURE%.CLAUSE)
    (store.variable.Xn 3)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 9)
    (put.addr)
    (jump.to 141)
    (put.Ai.constant 3 58880)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 8)
    (put.word)
    (put.Ai.unsafe.Yn 3 9)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 8)
    (put.addr)
    (put.Ai.unsafe.Yn 3 8)
    (put.Ai.constant 2 4)
    (put.Ai.unsafe.Yn 1 7)
    (put.addr)
    (jump.to 141)
    (or.finally)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.constant 2 7)
    (put.Ai.value.Yn 1 2)
    (get.word)
    (load.value.Yn 6)
    (add.neg.word -1)
    (store.variable.Xn 3)
    (put.Ai.constant 2 7)
    (put.Ai.value.Yn 1 2)
    (put.word)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 4)
    (get.addr)
    (put.Ai.unsafe.Yn 3 5)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 3)
    (put.addr)
    (put.Ai.constant 1 1)
    (call 7 unblock←events 1 si)
    (put.Ai.unsafe.Yn 1 4)
    (call 6 free←clause 1 si)
    (put.Ai.value.Yn 1 3)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart traverse←chain 2 si)
    (progress)
)

(ASSEMBLE.CLAUSE ( collect←clauses 1 si ) 147
    (allocate)
    (get.Ai.variable.Yn 1 9)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 9)
    (get.addr)
    (gettopval QP%.FAILURE%.CLAUSE)
    (store.variable.Yn 10)
    (load.value.Yn 6)
    (load.value.Yn 10)
    (equal.to.else 21)
    (progress)
    (put.Ai.variable.Yn 3 8)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 6)
    (get.addr)
    (put.Ai.variable.Yn 3 11)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 9)
    (get.word)
    (load.value.Yn 11)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Xn 6)
    (put.Ai.variable.Yn 5 4)
    (put.Ai.constant 4 0)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.value.Yn 2 8)
    (put.Ai.value.Yn 1 6)
    (call 13 make←dead←list 6 si)
    (put.Ai.constant 1 1)
    (call 13 block←events 1 si)
    (put.Ai.value.Yn 3 10)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 9)
    (put.addr)
    (put.Ai.constant 3 58368)
    (put.Ai.constant 2 1)
    (put.Ai.value.Yn 1 8)
    (put.word)
    (gettopval QP%.DUMMY%.CLAUSE)
    (store.variable.Yn 1)
    (put.Ai.value.Yn 3 1)
    (put.Ai.constant 2 2)
    (put.Ai.unsafe.Yn 1 8)
    (put.addr)
    (load.value.Yn 4)
    (load.pos.word 0)
    (equal.to.else 97)
    (jump.to 141)
    (put.Ai.variable.Yn 3 7)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (get.addr)
    (put.Ai.unsafe.Yn 3 7)
    (put.Ai.constant 2 8)
    (put.Ai.unsafe.Yn 1 6)
    (put.addr)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.constant 2 7)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 5)
    (load.value.Yn 4)
    (add)
    (store.variable.Yn 2)
    (put.Ai.unsafe.Yn 3 3)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.value.Yn 3 2)
    (put.Ai.constant 2 7)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (put.Ai.constant 1 1)
    (call 3 unblock←events 1 si)
    (depart maybe←clean←up 0 si)
)

(ASSEMBLE.CLAUSE ( make←dead←list 6 si ) 13
    (get.Ai.value.Xn 2 1)
    (put.Ai.value.Xn 2 3)
    (put.Ai.value.Xn 3 4)
    (put.Ai.value.Xn 4 5)
    (put.Ai.value.Xn 5 6)
    (head.cut)
    (execute check←already←dead 5 si)
)

(ASSEMBLE.CLAUSE ( make←dead←list 6 si ) 62
    (allocate)
    (get.Ai.variable.Yn 1 7)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (get.Ai.variable.Yn 4 6)
    (get.Ai.variable.Yn 5 4)
    (get.Ai.variable.Yn 6 5)
    (put.Ai.variable.Yn 3 8)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 7)
    (get.addr)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 2)
    (put.Ai.value.Yn 1 7)
    (get.addr)
    (put.Ai.constant 3 57344)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 7)
    (put.word)
    (put.Ai.unsafe.Yn 3 8)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 7)
    (put.addr)
    (load.value.Yn 6)
    (add.pos.word 1)
    (store.variable.Xn 4)
    (put.Ai.value.Yn 6 5)
    (put.Ai.value.Yn 5 4)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart make←dead←list 6 si)
)

(ASSEMBLE.CLAUSE ( check←already←dead 5 si ) 49
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (get.Ai.value.Yn 2 3)
    (get.Ai.variable.Yn 3 2)
    (get.Ai.variable.Yn 4 1)
    (put.Ai.constant 3 38400)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 3)
    (get.word)
    (body.cut)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 4)
    (put.Ai.value.Yn 1 3)
    (get.addr)
    (put.Ai.constant 3 57344)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 3)
    (put.word)
    (put.Ai.unsafe.Yn 3 4)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 3)
    (put.addr)
    (load.value.Yn 2)
    (add.pos.word 1)
    (store.value.Yn 1)
    (progress)
)

(ASSEMBLE.CLAUSE ( check←already←dead 5 si ) 9
    (get.Ai.value.Xn 4 3)
    (put.Ai.value.Xn 3 2)
    (put.Ai.constant 2 4)
    (get.addr)
    (proceed)
)

(ASSEMBLE.CLAUSE ( recorda 3 si ) 6
    (put.Ai.value.Xn 4 3)
    (put.Ai.symbol 3 a)
    (execute record 4 si)
)

(ASSEMBLE.CLAUSE ( recordz 3 si ) 6
    (put.Ai.value.Xn 4 3)
    (put.Ai.symbol 3 z)
    (execute record 4 si)
)

(ASSEMBLE.CLAUSE ( record 4 si ) 44
    (allocate)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.variable.Yn 3 3)
    (get.Ai.variable.Yn 4 4)
    (put.Ai.variable.Yn 4 7)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.variable.Yn 2 5)
    (call 10 principal←functor 4 si)
    (put.Ai.variable.Yn 4 2)
    (put.Ai.unsafe.Yn 3 7)
    (put.Ai.unsafe.Yn 2 6)
    (put.Ai.unsafe.Yn 1 5)
    (call 7 local←predicate 4 si)
    (put.Ai.value.Yn 1 2)
    (call 7 dynamic←procedure 1 si)
    (put.Ai.value.Yn 4 4)
    (put.Ai.value.Yn 3 3)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.structure 1 %$record 1)
    (unify.local.Yn 1)
    (depart assert←clause 4 si)
)

(ASSEMBLE.CLAUSE ( recorded 3 si ) 44
    (allocate)
    (get.Ai.variable.Yn 2 3)
    (get.Ai.variable.Yn 3 1)
    (put.Ai.variable.Yn 4 6)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.variable.Yn 2 4)
    (call 9 principal←functor 4 si)
    (put.Ai.variable.Yn 4 2)
    (put.Ai.unsafe.Yn 3 6)
    (put.Ai.unsafe.Yn 2 5)
    (put.Ai.unsafe.Yn 1 4)
    (call 6 local←check←predicate 4 si)
    (put.Ai.constant 3 1)
    (put.Ai.structure 1 %$record 1)
    (unify.local.Yn 3)
    (put.Ai.structure 2 %$ 1)
    (unify.value.Xn 1)
    (put.Ai.unsafe.Yn 1 2)
    (call 4 apply 3 si)
    (load.cur.clause)
    (store.value.Yn 1)
    (progress)
)

(ASSEMBLE.CLAUSE ( principal←functor 4 si ) 23
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.variable.Yn 3 3)
    (get.Ai.symbol 4 %$record)
    (put.Ai.value.Yn 1 2)
    (is.a 254)
    (put.Ai.value.Yn 3 3)
    (put.Ai.value.Yn 2 1)
    (put.Ai.value.Yn 1 2)
    (functor)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( principal←functor 4 si ) 30
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.constant 3 0)
    (get.Ai.symbol 4 %$record% on% int)
    (put.Ai.value.Yn 1 3)
    (is.a 24)
    (body.cut)
    (put.Ai.variable.Yn 2 2)
    (put.Ai.value.Yn 1 3)
    (call 5 name 2 si)
    (put.Ai.list 2)
    (unify.constant 36)
    (unify.local.Yn 2)
    (put.Ai.value.Yn 1 1)
    (depart name 2 si)
)

(ASSEMBLE.CLAUSE ( principal←functor 4 si ) 7
    (put.Ai.value.Xn 2 1)
    (put.Ai.constant 1 511)
    (execute nerror 2 si)
)

(ASSEMBLE.CLAUSE ( instance 2 si ) 56
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (get.Ai.variable.Yn 2 2)
    (put.Ai.value.Yn 1 3)
    (is.a 248)
    (load.choice.point)
    (store.variable.Yn 4)
    (either 7 21)
    (put.Ai.value.Yn 1 3)
    (is.a 128)
    (load.value.Yn 4)
    (cut.to.choice.point)
    (fail)
    (or 29)
    (put.Ai.value.Yn 1 3)
    (is.a 56)
    (load.value.Yn 4)
    (cut.to.choice.point)
    (fail)
    (or.finally)
    (put.Ai.constant 3 38400)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 3)
    (get.word)
    (put.Ai.constant 3 2)
    (put.Ai.structure 2 %$ 1)
    (unify.variable.Yn 1)
    (put.Ai.value.Yn 1 3)
    (call 5 apply 3 si)
    (body.cut)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart unwrap 2 si)
)

(ASSEMBLE.CLAUSE ( unwrap 2 si ) 7
    (get.Ai.structure 1 %$record 1)
    (unify.variable.Xn 1)
    (get.Ai.value.Xn 2 1)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( unwrap 2 si ) 2
    (execute transform←back 2 interp)
)

(ASSEMBLE.CLAUSE ( erase 1 si ) 39
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 1 1)
    (is.a 248)
    (load.choice.point)
    (store.variable.Yn 2)
    (either 5 19)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (load.value.Yn 2)
    (cut.to.choice.point)
    (fail)
    (or 27)
    (put.Ai.value.Yn 1 1)
    (is.a 56)
    (load.value.Yn 2)
    (cut.to.choice.point)
    (fail)
    (or.finally)
    (put.Ai.constant 3 38400)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (put.Ai.value.Yn 1 1)
    (depart retract←clause 1 si)
)

(ASSEMBLE.CLAUSE ( current←key 2 si ) 56
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 1)
    (is.a 1)
    (body.cut)
    (put.Ai.value.Yn 4 1)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.variable.Yn 2 4)
    (put.Ai.value.Yn 1 2)
    (call 8 valid←name←arg 4 si)
    (put.Ai.value.Yn 4 5)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.value.Yn 2 4)
    (put.Ai.void 1)
    (call 8 procedure 4 si)
    (put.Ai.value.Yn 3 2)
    (put.Ai.value.Yn 2 4)
    (put.Ai.value.Yn 1 5)
    (call 8 work←out←name 3 si)
    (put.Ai.unsafe.Yn 3 5)
    (put.Ai.value.Yn 2 3)
    (put.Ai.unsafe.Yn 1 4)
    (call 6 key←in←use 3 si)
    (put.Ai.unsafe.Yn 3 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (functor)
    (progress)
)

(ASSEMBLE.CLAUSE ( current←key 2 si ) 33
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (get.Ai.variable.Yn 2 4)
    (put.Ai.value.Yn 1 4)
    (is.a 248)
    (body.cut)
    (put.Ai.value.Yn 1 4)
    (get.Ai.value.Yn 1 3)
    (put.Ai.value.Yn 4 4)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 3)
    (call 5 valid←name←arg 4 si)
    (put.Ai.unsafe.Yn 3 2)
    (put.Ai.constant 2 0)
    (put.Ai.unsafe.Yn 1 1)
    (depart key←in←use 3 si)
)

(ASSEMBLE.CLAUSE ( current←key 2 si ) 18
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Xn 1 2)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.value.Yn 2 1)
    (functor)
    (put.Ai.symbol 3 %$record)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart key←in←use 3 si)
)

(ASSEMBLE.CLAUSE ( valid←name←arg 4 si ) 3
    (allocate)
    (is.a 1)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( valid←name←arg 4 si ) 7
    (get.Ai.value.Xn 2 1)
    (get.Ai.symbol 3 %$record)
    (allocate)
    (is.a 128)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( valid←name←arg 4 si ) 27
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.symbol 3 %$record% on% int)
    (put.Ai.value.Yn 1 3)
    (is.a 24)
    (body.cut)
    (put.Ai.variable.Yn 2 2)
    (put.Ai.value.Yn 1 3)
    (call 5 name 2 si)
    (put.Ai.list 2)
    (unify.constant 36)
    (unify.local.Yn 2)
    (put.Ai.value.Yn 1 1)
    (depart name 2 si)
)

(ASSEMBLE.CLAUSE ( valid←name←arg 4 si ) 12
    (put.Ai.value.Xn 3 1)
    (put.Ai.structure 2 current←key 2)
    (unify.local.Xn 1)
    (unify.local.Xn 4)
    (put.Ai.constant 1 510)
    (execute nerror2 3 si)
)

(ASSEMBLE.CLAUSE ( work←out←name 3 si ) 6
    (get.Ai.constant 1 %$record)
    (get.Ai.value.Xn 3 2)
    (proceed)
)

(ASSEMBLE.CLAUSE ( work←out←name 3 si ) 22
    (get.Ai.constant 1 %$record% on% int)
    (put.Ai.value.Xn 1 2)
    (allocate)
    (get.Ai.variable.Yn 3 1)
    (put.Ai.list 2)
    (unify.constant 36)
    (unify.variable.Yn 2)
    (call 5 name 2 si)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart name 2 si)
)

(ASSEMBLE.CLAUSE ( key←in←use 3 si ) 36
    (allocate)
    (put.Ai.variable.Yn 4 2)
    (call 6 local←check←predicate 4 si)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 2)
    (get.word)
    (load.value.Yn 3)
    (load.pos.word 3)
    (boolean.and)
    (store.integer 3)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 10)
    (put.Ai.unsafe.Yn 1 2)
    (get.addr)
    (gettopval QP%.FAILURE%.CLAUSE)
    (store.variable.Xn 1)
    (load.value.Yn 1)
    (load.value.Xn 1)
    (not.equal.to)
    (progress)
)

STOP