(ASSEMBLE.CLAUSE ( procedure 4 si ) 27
    (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 254)
    (body.cut)
    (load.value.Yn 1)
    (load.pos.word 0)
    (not.equal.to)
    (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 predicate←parts 4 si)
)

(ASSEMBLE.CLAUSE ( procedure 4 si ) 29
    (allocate)
    (get.Ai.variable.Yn 1 4)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.variable.Yn 3 2)
    (get.Ai.variable.Yn 4 3)
    (put.Ai.value.Yn 1 1)
    (is.a 254)
    (put.Ai.value.Yn 1 2)
    (is.a 254)
    (put.Ai.value.Yn 1 3)
    (is.a 254)
    (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 check←predicate 4 si)
)

(ASSEMBLE.CLAUSE ( procedure 4 si ) 26
    (allocate)
    (get.Ai.variable.Yn 1 4)
    (get.Ai.variable.Yn 2 1)
    (get.Ai.variable.Yn 3 2)
    (get.Ai.variable.Yn 4 3)
    (put.Ai.value.Yn 1 1)
    (is.a 254)
    (put.Ai.value.Yn 1 3)
    (is.a 254)
    (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 comrade←procedure 4 si)
)

(ASSEMBLE.CLAUSE ( procedure 4 si ) 24
    (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)
    (call 7 current←procedure 1 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 predicate←parts 4 si)
)

(ASSEMBLE.CLAUSE ( comrade←predicates 3 si ) 24
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 3)
    (get.Ai.variable.Yn 3 4)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 2)
    (call 7 atom←predicate 2 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 comrade←predicates 4 si)
)

(ASSEMBLE.CLAUSE ( comrade←predicates 4 si ) 49
    (allocate)
    (get.Ai.variable.Yn 1 5)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (get.Ai.list 4)
    (unify.variable.Xn 1)
    (unify.variable.Yn 4)
    (get.Ai.structure 1 %/ 2)
    (unify.local.Yn 2)
    (unify.variable.Xn 3)
    (put.Ai.variable.Yn 5 6)
    (put.Ai.value.Yn 4 3)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 5)
    (call 9 predicate←parts 5 si)
    (load.value.Yn 6)
    (load.pos.word 0)
    (greater.than)
    (body.cut)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 5)
    (get.addr)
    (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 comrade←predicates 4 si)
)

(ASSEMBLE.CLAUSE ( comrade←predicates 4 si ) 33
    (allocate)
    (get.Ai.variable.Yn 1 4)
    (get.Ai.variable.Yn 3 2)
    (get.Ai.variable.Yn 4 3)
    (put.Ai.void 4)
    (put.Ai.void 3)
    (put.Ai.value.Yn 1 4)
    (call 7 predicate←parts 4 si)
    (body.cut)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 4)
    (get.addr)
    (put.Ai.value.Yn 4 3)
    (put.Ai.value.Yn 3 2)
    (put.Ai.unsafe.Yn 2 1)
    (put.Ai.unsafe.Yn 1 1)
    (depart comrade←predicates 4 si)
)

(ASSEMBLE.CLAUSE ( comrade←predicates 4 si ) 2
    (get.Ai.nil 4)
    (proceed)
)

(ASSEMBLE.CLAUSE ( comrade←procedure 4 si ) 28
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 3)
    (get.Ai.variable.Yn 3 4)
    (get.Ai.variable.Yn 4 5)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 2)
    (call 8 atom←predicate 2 si)
    (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.unsafe.Yn 1 1)
    (depart comrade←procedure 5 si)
)

(ASSEMBLE.CLAUSE ( comrade←procedure 5 si ) 59
    (allocate)
    (get.Ai.variable.Yn 1 6)
    (get.Ai.variable.Yn 2 2)
    (get.Ai.variable.Yn 3 3)
    (get.Ai.variable.Yn 4 4)
    (get.Ai.variable.Yn 5 5)
    (put.Ai.variable.Yn 4 7)
    (put.Ai.variable.Yn 3 8)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 6)
    (call 11 predicate←parts 4 si)
    (either 11 40)
    (put.Ai.value.Yn 1 3)
    (get.Ai.value.Yn 1 8)
    (put.Ai.value.Yn 1 4)
    (get.Ai.value.Yn 1 7)
    (put.Ai.value.Yn 1 6)
    (get.Ai.value.Yn 1 5)
    (progress)
    (or.finally)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 0)
    (put.Ai.value.Yn 1 6)
    (get.addr)
    (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.unsafe.Yn 1 1)
    (depart comrade←procedure 5 si)
)

(ASSEMBLE.CLAUSE ( current←procedure 1 si ) 14
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (put.Ai.variable.Yn 1 1)
    (call 5 first←procedure 1 si)
    (put.Ai.value.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart current←procedure 2 si)
)

(ASSEMBLE.CLAUSE ( current←procedure 2 si ) 5
    (get.Ai.constant 1 0)
    (head.cut)
    (fail)
)

(ASSEMBLE.CLAUSE ( current←procedure 2 si ) 3
    (get.Ai.value.Xn 2 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( current←procedure 2 si ) 15
    (allocate)
    (get.Ai.variable.Yn 2 2)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 0)
    (get.addr)
    (put.Ai.value.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart current←procedure 2 si)
)

(ASSEMBLE.CLAUSE ( current←predicate 1 si ) 5
    (put.Ai.value.Xn 2 1)
    (put.Ai.void 1)
    (execute current←predicate 2 si)
)

(ASSEMBLE.CLAUSE ( current←predicate 2 si ) 27
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 3)
    (put.Ai.value.Yn 1 3)
    (is.a 254)
    (body.cut)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.value.Yn 2 1)
    (put.Ai.value.Yn 1 3)
    (functor)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (put.Ai.symbol 3 user)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart current←predicate 3 si)
)

(ASSEMBLE.CLAUSE ( current←predicate 2 si ) 22
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 1)
    (put.Ai.symbol 3 user)
    (put.Ai.variable.Yn 2 3)
    (put.Ai.value.Yn 1 2)
    (call 6 current←predicate 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←predicate 3 si ) 30
    (put.Ai.value.Xn 4 3)
    (allocate)
    (put.Ai.value.Xn 3 2)
    (put.Ai.value.Xn 2 1)
    (put.Ai.variable.Yn 1 2)
    (call 5 procedure 4 si)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 13)
    (put.Ai.unsafe.Yn 1 2)
    (get.word)
    (load.value.Yn 1)
    (load.pos.word 3)
    (boolean.and)
    (store.variable.Xn 1)
    (load.value.Xn 1)
    (load.pos.word 0)
    (not.equal.to)
    (progress)
)

(ASSEMBLE.CLAUSE ( current←atom 1 si ) 3
    (allocate)
    (is.a 128)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( current←atom 1 si ) 17
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (put.Ai.value.Yn 1 2)
    (is.a 1)
    (put.Ai.variable.Yn 1 1)
    (call 5 first←symbol 1 si)
    (put.Ai.value.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart current←atom 2 si)
)

(ASSEMBLE.CLAUSE ( current←atom 2 si ) 5
    (get.Ai.constant 1 0)
    (head.cut)
    (fail)
)

(ASSEMBLE.CLAUSE ( current←atom 2 si ) 3
    (get.Ai.value.Xn 2 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( current←atom 2 si ) 14
    (allocate)
    (get.Ai.variable.Yn 2 2)
    (put.Ai.variable.Yn 2 1)
    (call 5 next←symbol 2 si)
    (put.Ai.value.Yn 2 2)
    (put.Ai.unsafe.Yn 1 1)
    (depart current←atom 2 si)
)

(ASSEMBLE.CLAUSE ( built←in←predicate 2 si ) 15
    (allocate)
    (put.Ai.variable.Yn 3 1)
    (call 4 user 3 si)
    (put.Ai.symbol 2 user)
    (put.Ai.unsafe.Yn 1 1)
    (compare)
    (load.pos.word 0)
    (not.equal.to)
    (progress)
)

STOP