(loader '((title |libcir.lo|)))
(if (not (>= (version) 15.2)) (progn (error 'load 'erricf 'libcir)))
(defvar #:sys-package:colon 'libcir)
(add-feature 'libcir)
(if (not (boundp '#:libcir:package-parano)) (defvar #:libcir:package-parano ()))
(defvar #:libcir:old)
(defvar #:libcir:new)
(defvar #:libcir:seen)
(loader'((fentry cirprint subr1)
(entry cirprint subr1)
(jcall cirprin)
(push (@ 101))
(mov '0 a4)
(jmp print)
101
(eval ())
(return)
))
(loader'((fentry cirprinflush subr1)
(entry cirprinflush subr1)
(jcall cirprin)
(push (@ 101))
(mov '0 a4)
(jmp prinflush)
101
(eval ())
(return)
))
(loader'((fentry cirprin subr1)
(entry cirprin subr1)
(push a1)
(push nil)
(push (cvalq #:libcir:shared))
(mov (& 1) (cvalq #:libcir:shared))
(push '1)
(push '(#:libcir:shared))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push nil)
(push (cvalq #:libcir:seen))
(mov (& 1) (cvalq #:libcir:seen))
(push '1)
(push '(#:libcir:seen))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(call #:libcir:sweep)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:libcir:seen))
(adjstk '8)
(mov (cvalq #:libcir:shared) a1)
(jcall nreverse)
(mov a1 (cvalq #:libcir:shared))
(btnil a1 101)
(push nil)
(push (cvalq #:libcir:seen))
(mov (& 1) (cvalq #:libcir:seen))
(push '1)
(push '(#:libcir:seen))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(mov (& 16) a1)
(call #:libcir:prin)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:libcir:seen))
(adjstk '8)
(bra 102)
101
(push (@ 103))
(push (& 9))
(mov '1 a4)
(jmp prin)
103
(eval ())
102
(mov (& 1) dlink)
(mov (& 6) (cvalq #:libcir:shared))
(adjstk '9)
(return)
))
(loader'((entry #:libcir:sweep subr1)
(push a1)
(bfcons a1 101)
(call #:libcir:unshared)
(btnil a1 101)
(mov (& 0) a1)
(mov (car a1) a1)
(call #:libcir:sweep)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:libcir:sweep)
101
(bfstrg (& 0) 103)
(mov (& 0) a1)
(call #:libcir:unshared)
(btnil a1 103)
(push (@ 105))
(push (& 1))
(mov '1 a4)
(jmp typestring)
105
(eval ())
(adjstk '1)
(bra #:libcir:sweep)
103
(bfvect (& 0) 106)
(mov (& 0) a1)
(call #:libcir:unshared)
(btnil a1 106)
(push '0)
(push (& 1))
(hgsize (& 0) a4)
(push a4)
108
(cnbge (& 2) (& 0) 109)
(hpxmov (& 1) (& 2) a1)
(call #:libcir:sweep)
(mov (& 2) a4)
(plus '1 a4)
(mov a4 (& 2))
(bra 108)
109
(adjstk '3)
(push (@ 112))
(push (& 1))
(mov '1 a4)
(jmp typevector)
112
(eval ())
(cabeq a1 'vector 110)
(push (@ 113))
(push (& 1))
(mov '1 a4)
(jmp typevector)
113
(eval ())
(adjstk '1)
(bra #:libcir:sweep)
110
(mov nil a1)
(adjstk '1)
(return)
106
(btnil (cvalq #:libcir:package-parano) 114)
(bfsymb (& 0) 114)
(mov (& 0) a4)
(btnil (pkgc a4) 114)
(mov a4 a1)
(call #:libcir:unshared)
(btnil a1 114)
(mov (& 0) a1)
(mov (pkgc a1) a1)
(adjstk '1)
(bra #:libcir:sweep)
114
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((entry #:libcir:unshared subr1)
(push a1)
(mov (cvalq #:libcir:seen) a2)
(jcall memq)
(push a1)
(bfnil a1 102)
(mov (cvalq #:libcir:seen) a2)
(mov (& 1) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen))
102
(btnil (& 0) 104)
(mov (cvalq #:libcir:shared) a2)
(mov (& 1) a1)
(jcall memq)
(bfnil a1 104)
(mov (cvalq #:libcir:shared) a2)
(mov (& 1) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:shared))
104
(btnil (& 0) 105)
(mov nil a1)
(bra 106)
105
(mov 't a1)
106
(adjstk '2)
(return)
))
(loader'((entry #:libcir:prin subr1)
(push a1)
(mov (cvalq #:libcir:shared) a2)
(jcall memq)
(btnil a1 101)
(jcall length)
(push a1)
(mov (cvalq #:libcir:seen) a2)
(mov (& 1) a1)
(jcall memq)
(mov a1 a3)
(pop a2)
(mov (& 0) a1)
(adjstk '1)
(bra #:libcir:prin-sharp)
101
(mov (& 0) a1)
(adjstk '1)
(bra #:libcir:prin1)
))
(loader'((entry #:libcir:prin-sharp subr3)
(push a1)
(btnil a3 101)
(mov a2 a1)
(jcall pname)
(mov '35 a2)
(jcall nconc1)
(mov a1 a2)
(mov '35 a1)
(jcall cons)
(adjstk '1)
(bra #:libcir:prin-one)
101
(mov a2 a1)
(jcall pname)
(mov '61 a2)
(jcall nconc1)
(mov a1 a2)
(mov '35 a1)
(jcall cons)
(call #:libcir:prin-one)
(mov (cvalq #:libcir:seen) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen))
(mov (& 0) a1)
(adjstk '1)
(bra #:libcir:prin1)
))
(loader'((entry #:libcir:prin1 subr1)
(push a1)
(jcall tconsp)
(btnil a1 101)
(mov '(35 40) a1)
(call #:libcir:prin-one)
(mov (& 0) a1)
(mov (car a1) a1)
(call #:libcir:prin)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:libcir:prin-cdr)
101
(bfcons (& 0) 103)
(push (@ 105))
(push '40)
(mov '1 a4)
(jmp princn)
105
(eval ())
(mov (& 0) a1)
(mov (car a1) a1)
(call #:libcir:prin)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:libcir:prin-cdr)
103
(bfvect (& 0) 106)
(push (@ 110))
(push (& 1))
(mov '1 a4)
(jmp typevector)
110
(eval ())
(cabeq a1 'vector 109)
(mov '(35 58) a1)
(call #:libcir:prin-one)
(push (@ 111))
(push (& 1))
(mov '1 a4)
(jmp typevector)
111
(eval ())
(call #:libcir:prin)
(mov '(58) a1)
(call #:libcir:prin-one)
109
(mov '(35 91) a1)
(call #:libcir:prin-one)
(push '0)
(push (& 1))
(hgsize (& 0) a4)
(push a4)
112
(cnbge (& 2) (& 0) 113)
(hpxmov (& 1) (& 2) a4)
(mov a4 a1)
(call #:libcir:prin)
(push (@ 114))
(push '32)
(mov '1 a4)
(jmp princn)
114
(eval ())
(mov (& 2) a4)
(plus '1 a4)
(mov a4 (& 2))
(bra 112)
113
(adjstk '3)
(push (@ 115))
(push '93)
(mov '1 a4)
(jmp princn)
115
(eval ())
(adjstk '1)
(return)
106
(bfstrg (& 0) 116)
(push (@ 118))
(push (& 1))
(mov '1 a4)
(jmp typestring)
118
(eval ())
(cabeq a1 'string 116)
(mov '(35 58) a1)
(call #:libcir:prin-one)
(push (@ 119))
(push (& 1))
(mov '1 a4)
(jmp typestring)
119
(eval ())
(call #:libcir:prin)
(mov '(58) a1)
(call #:libcir:prin-one)
(push (@ 120))
(push (@ 121))
(push (& 2))
(push '"")
(mov '2 a4)
(jmp catenate)
121
(eval ())
(push a1)
(mov '1 a4)
(jmp prin)
120
(eval ())
(adjstk '1)
(return)
116
(btnil (cvalq #:libcir:package-parano) 122)
(bfsymb (& 0) 122)
(mov (& 0) a4)
(btnil (pkgc a4) 122)
(mov '(35 58) a1)
(call #:libcir:prin-one)
(mov (& 0) a1)
(mov (pkgc a1) a1)
(call #:libcir:prin)
(push (@ 124))
(push '58)
(mov '1 a4)
(jmp princn)
124
(eval ())
(push (@ 125))
(mov (& 1) a2)
(mov nil a1)
(jcall symbol)
(push a1)
(mov '1 a4)
(jmp prin)
125
(eval ())
(adjstk '1)
(return)
122
(push (@ 126))
(push (& 1))
(mov '1 a4)
(jmp prin)
126
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:libcir:prin-cdr subr1)
(push a1)
(bfnil a1 101)
(push (@ 103))
(push '41)
(mov '1 a4)
(jmp princn)
103
(eval ())
(adjstk '1)
(return)
101
(bfcons a1 106)
(jcall tconsp)
(bfnil a1 106)
(mov (cvalq #:libcir:shared) a2)
(mov (& 0) a1)
(jcall memq)
(btnil a1 104)
106
(mov '(32 46 32) a1)
(call #:libcir:prin-one)
(mov (& 0) a1)
(call #:libcir:prin)
(push (@ 107))
(push '41)
(mov '1 a4)
(jmp princn)
107
(eval ())
(adjstk '1)
(return)
104
(push (@ 108))
(push '32)
(mov '1 a4)
(jmp princn)
108
(eval ())
(mov (& 0) a1)
(mov (car a1) a1)
(call #:libcir:prin)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:libcir:prin-cdr)
))
(loader'((entry #:libcir:prin-one subr1)
(push a1)
(jcall length)
(push a1)
(push (@ 103))
(mov '0 a4)
(jmp rmargin)
103
(eval ())
(push a1)
(push (@ 104))
(mov '0 a4)
(jmp outpos)
104
(eval ())
(pop a4)
(diff a1 a4)
(pop a3)
(cnblt a3 a4 102)
(push (@ 105))
(mov '0 a4)
(jmp terpri)
105
(eval ())
102
(push (& 0))
106
(bfcons (& 0) 107)
(push (@ 108))
(mov (& 1) a4)
(mov (cdr a4) (& 1))
(push (car a4))
(mov '1 a4)
(jmp princn)
108
(eval ())
(bra 106)
107
(mov nil a1)
(adjstk '2)
(return)
))
(defvar #:libcir:shared)
(defvar #:libcir:shared-length)
(defsharp = (#:libcir:n) (ifn (and (boundp '#:libcir:shared) (vectorp #:libcir:shared)) (setq #:libcir:shared #[()] #:libcir:shared-length 1)) (while (>= #:libcir:n #:libcir:shared-length) (#:libcir:double)) (let ((#:libcir:old (ncons #:libcir:n))) (vset #:libcir:shared #:libcir:n #:libcir:old) (let ((#:libcir:new (read)) (#:libcir:seen)) (vset #:libcir:shared #:libcir:n #:libcir:new) (#:libcir:replace #:libcir:new) (list #:libcir:new))))
(defsharp |#| (#:libcir:n) (list (vref #:libcir:shared #:libcir:n)))
(loader'((fentry #:libcir:double subr0)
(entry #:libcir:double subr0)
(push (@ 101))
(push (cvalq #:libcir:shared-length))
(push (cvalq #:libcir:shared-length))
(mov '2 a4)
(jmp +)
101
(eval ())
(mov nil a2)
(jcall makevector)
(push a1)
(push (@ 102))
(push a1)
(push '0)
(push (cvalq #:libcir:shared))
(push '0)
(push (cvalq #:libcir:shared-length))
(mov '5 a4)
(jmp bltvector)
102
(eval ())
(mov (& 0) (cvalq #:libcir:shared))
(push (@ 103))
(push (cvalq #:libcir:shared-length))
(push (cvalq #:libcir:shared-length))
(mov '2 a4)
(jmp +)
103
(eval ())
(mov a1 (cvalq #:libcir:shared-length))
(adjstk '1)
(return)
))
(loader'((fentry #:libcir:replace subr1)
(entry #:libcir:replace subr1)
(push a1)
(mov (cvalq #:libcir:seen) a2)
(jcall memq)
(bfnil a1 101)
(bfcons (& 0) 102)
(mov (cvalq #:libcir:seen) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen))
(mov (& 0) a4)
(cabne (car a4) (cvalq #:libcir:old) 104)
(mov (cvalq #:libcir:new) (car a4))
(bra 105)
104
(mov (car a4) a1)
(jcall #:libcir:replace)
105
(mov (& 0) a4)
(cabne (cdr a4) (cvalq #:libcir:old) 106)
(mov (cvalq #:libcir:new) (cdr a4))
(mov a4 a1)
(adjstk '1)
(return)
106
(mov (cdr a4) a1)
(adjstk '1)
(jmp #:libcir:replace)
102
(btnil (cvalq #:libcir:package-parano) 108)
(bfsymb (& 0) 108)
(mov (& 0) a4)
(btnil (pkgc a4) 108)
(mov (cvalq #:libcir:seen) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen))
(mov (& 0) a4)
(cabne (pkgc a4) (cvalq #:libcir:old) 110)
(mov (cvalq #:libcir:new) (pkgc a4))
(mov (cvalq #:libcir:new) a1)
(adjstk '1)
(return)
110
(mov (pkgc a4) a1)
(adjstk '1)
(jmp #:libcir:replace)
108
(bfstrg (& 0) 112)
(push (@ 114))
(push (& 1))
(mov '1 a4)
(jmp typestring)
114
(eval ())
(cabeq a1 'string 112)
(mov (cvalq #:libcir:seen) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen))
(push (@ 117))
(push (& 1))
(mov '1 a4)
(jmp typestring)
117
(eval ())
(cabne a1 (cvalq #:libcir:old) 115)
(push (@ 118))
(push (& 1))
(push (cvalq #:libcir:new))
(mov '2 a4)
(jmp typestring)
118
(eval ())
(adjstk '1)
(return)
115
(push (@ 119))
(push (& 1))
(mov '1 a4)
(jmp typestring)
119
(eval ())
(adjstk '1)
(jmp #:libcir:replace)
112
(bfvect (& 0) 120)
(mov (cvalq #:libcir:seen) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen))
(push (@ 124))
(push (& 1))
(mov '1 a4)
(jmp typevector)
124
(eval ())
(cabeq a1 'vector 123)
(push (@ 127))
(push (& 1))
(mov '1 a4)
(jmp typevector)
127
(eval ())
(cabne a1 (cvalq #:libcir:old) 125)
(push (@ 128))
(push (& 1))
(push (cvalq #:libcir:new))
(mov '2 a4)
(jmp typevector)
128
(eval ())
(bra 123)
125
(push (@ 129))
(push (& 1))
(mov '1 a4)
(jmp typevector)
129
(eval ())
(jcall #:libcir:replace)
123
(hgsize (& 0) a1)
(jcall 1-)
(push '0)
(push a1)
130
(push (@ 132))
(push (& 2))
(push (& 2))
(mov '2 a4)
(jmp <=)
132
(eval ())
(btnil a1 131)
(hpxmov (& 2) (& 1) a4)
(cabne a4 (cvalq #:libcir:old) 133)
(hpmovx (cvalq #:libcir:new) (& 2) (& 1))
(bra 134)
133
(hpxmov (& 2) (& 1) a1)
(jcall #:libcir:replace)
134
(push (@ 135))
(push (& 2))
(push '1)
(mov '2 a4)
(jmp +)
135
(eval ())
(mov a1 (& 1))
(bra 130)
131
(mov nil a1)
(adjstk '3)
(return)
120
(mov nil a1)
(adjstk '1)
(return)
101
(adjstk '1)
(return)
))
(loader'((fentry cirnequal subr2)
(entry cirnequal subr2)
(jcall cirequal)
(btnil a1 101)
(mov nil a1)
(return)
101
(mov 't a1)
(return)
))
(loader'((fentry cirequal subr2)
(entry cirequal subr2)
(push (@ 101))
(push '#:libcir:no)
(push dlink)
(push tag)
(stack dlink)
(push nil)
(push nil)
(push (cvalq #:libcir:seen2))
(mov (& 1) (cvalq #:libcir:seen2))
(push (cvalq #:libcir:seen1))
(mov (& 3) (cvalq #:libcir:seen1))
(push '2)
(push '(#:libcir:seen2 #:libcir:seen1))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(call #:libcir:equal)
(mov 't a1)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:libcir:seen1))
(mov (& 7) (cvalq #:libcir:seen2))
(adjstk '10)
(mov (& 1) dlink)
(adjstk '4)
101
(eval ())
(return)
))
(loader'((entry #:libcir:equal subr2)
(push a2)
(push a1)
(jcall eq)
(bfnil a1 101)
(mov (cvalq #:libcir:seen1) a2)
(mov (& 0) a1)
(jcall memq)
(btnil a1 102)
(mov (cvalq #:libcir:seen1) a2)
(mov (& 0) a1)
(jcall memq)
(jcall length)
(push a1)
(mov (cvalq #:libcir:seen2) a2)
(mov (& 2) a1)
(jcall memq)
(jcall length)
(pop a4)
(cabeq a4 a1 104)
(mov nil a1)
(mov '#:libcir:no a2)
(jmp #:llcp:exit)
(adjstk '2)
(return)
104
(mov nil a1)
(adjstk '2)
(return)
102
(mov (& 0) a1)
(jcall tconsp)
(btnil a1 106)
(mov (& 1) a1)
(jcall tconsp)
(bfnil a1 109)
(mov nil a1)
(mov '#:libcir:no a2)
(jmp #:llcp:exit)
109
(mov (cvalq #:libcir:seen1) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen1))
(mov (cvalq #:libcir:seen2) a2)
(mov (& 1) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen2))
(mov (& 0) a1)
(mov (& 1) a2)
(mov (car a2) a2)
(mov (car a1) a1)
(call #:libcir:equal)
(mov (& 0) a1)
(mov (& 1) a2)
(mov (cdr a2) a2)
(mov (cdr a1) a1)
(adjstk '2)
(bra #:libcir:equal)
106
(bfcons (& 0) 110)
(bfcons (& 1) 114)
(mov (& 1) a1)
(jcall tconsp)
(btnil a1 113)
114
(mov nil a1)
(mov '#:libcir:no a2)
(jmp #:llcp:exit)
113
(mov (cvalq #:libcir:seen1) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen1))
(mov (cvalq #:libcir:seen2) a2)
(mov (& 1) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen2))
(mov (& 0) a1)
(mov (& 1) a2)
(mov (car a2) a2)
(mov (car a1) a1)
(call #:libcir:equal)
(mov (& 0) a1)
(mov (& 1) a2)
(mov (cdr a2) a2)
(mov (cdr a1) a1)
(adjstk '2)
(bra #:libcir:equal)
110
(bfvect (& 0) 115)
(bfvect (& 1) 119)
(hgsize (& 0) a4)
(hgsize (& 1) a3)
(cabeq a4 a3 118)
119
(mov nil a1)
(mov '#:libcir:no a2)
(jmp #:llcp:exit)
118
(push (@ 122))
(push (& 1))
(mov '1 a4)
(jmp typevector)
122
(eval ())
(push a1)
(push (@ 123))
(push (& 3))
(mov '1 a4)
(jmp typevector)
123
(eval ())
(pop a4)
(cabeq a4 a1 121)
(mov nil a1)
(mov '#:libcir:no a2)
(jmp #:llcp:exit)
121
(mov (cvalq #:libcir:seen1) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen1))
(mov (cvalq #:libcir:seen2) a2)
(mov (& 1) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen2))
(hgsize (& 0) a1)
(jcall 1-)
(push '0)
(push a1)
124
(push (@ 126))
(push (& 2))
(push (& 2))
(mov '2 a4)
(jmp <=)
126
(eval ())
(btnil a1 125)
(hpxmov (& 2) (& 1) a1)
(hpxmov (& 3) (& 1) a2)
(call #:libcir:equal)
(push (@ 127))
(push (& 2))
(push '1)
(mov '2 a4)
(jmp +)
127
(eval ())
(mov a1 (& 1))
(bra 124)
125
(mov nil a1)
(adjstk '4)
(return)
115
(btnil (cvalq #:libcir:package-parano) 128)
(bfsymb (& 0) 128)
(mov (& 0) a4)
(btnil (pkgc a4) 128)
(bfsymb (& 1) 132)
(mov (& 1) a4)
(bfnil (pkgc a4) 131)
132
(mov nil a1)
(mov '#:libcir:no a2)
(jmp #:llcp:exit)
131
(mov (cvalq #:libcir:seen1) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen1))
(mov (cvalq #:libcir:seen2) a2)
(mov (& 1) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen2))
(mov (& 0) a1)
(mov (& 1) a2)
(mov (pkgc a2) a2)
(mov (pkgc a1) a1)
(adjstk '2)
(bra #:libcir:equal)
128
(mov (& 1) a2)
(mov (& 0) a1)
(jcall equal)
(bfnil a1 133)
(mov nil a1)
(mov '#:libcir:no a2)
(jmp #:llcp:exit)
(adjstk '2)
(return)
133
(mov nil a1)
(adjstk '2)
(return)
101
(adjstk '2)
(return)
))
(loader'((fentry circopy subr1)
(entry circopy subr1)
(push nil)
(push nil)
(push (cvalq #:libcir:copied))
(mov (& 1) (cvalq #:libcir:copied))
(push (cvalq #:libcir:seen))
(mov (& 3) (cvalq #:libcir:seen))
(push '2)
(push '(#:libcir:copied #:libcir:seen))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(call #:libcir:copy)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:libcir:seen))
(mov (& 7) (cvalq #:libcir:copied))
(adjstk '10)
(return)
))
(loader'((entry #:libcir:copy subr1)
(push a1)
(mov (cvalq #:libcir:seen) a2)
(jcall memq)
(btnil a1 101)
(mov (cvalq #:libcir:seen) a2)
(mov (& 0) a1)
(jcall memq)
(jcall length)
(mov (cvalq #:libcir:copied) a2)
(jcall lastn)
(mov (car a1) a1)
(adjstk '1)
(return)
101
(mov (& 0) a1)
(jcall tconsp)
(btnil a1 103)
(mov (cvalq #:libcir:seen) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen))
(mov nil a2)
(mov nil a1)
(jcall tcons)
(push a1)
(mov (cvalq #:libcir:copied) a2)
(jcall cons)
(mov a1 (cvalq #:libcir:copied))
(mov (& 1) a1)
(mov (car a1) a1)
(call #:libcir:copy)
(mov (& 0) a4)
(mov a1 (car a4))
(push a4)
(mov (& 2) a1)
(mov (cdr a1) a1)
(call #:libcir:copy)
(pop a4)
(mov a1 (cdr a4))
(mov (& 0) a1)
(adjstk '2)
(return)
103
(bfcons (& 0) 105)
(mov (cvalq #:libcir:seen) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen))
(mov nil a1)
(jcall ncons)
(push a1)
(mov (cvalq #:libcir:copied) a2)
(jcall cons)
(mov a1 (cvalq #:libcir:copied))
(mov (& 1) a1)
(mov (car a1) a1)
(call #:libcir:copy)
(mov (& 0) a4)
(mov a1 (car a4))
(push a4)
(mov (& 2) a1)
(mov (cdr a1) a1)
(call #:libcir:copy)
(pop a4)
(mov a1 (cdr a4))
(mov (& 0) a1)
(adjstk '2)
(return)
105
(bfvect (& 0) 107)
(mov (cvalq #:libcir:seen) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:libcir:seen))
(hgsize (& 0) a1)
(mov nil a2)
(jcall makevector)
(push a1)
(mov (cvalq #:libcir:copied) a2)
(jcall cons)
(mov a1 (cvalq #:libcir:copied))
(hgsize (& 1) a1)
(jcall 1-)
(push '0)
(push a1)
109
(push (@ 111))
(push (& 2))
(push (& 2))
(mov '2 a4)
(jmp <=)
111
(eval ())
(btnil a1 110)
(hpxmov (& 3) (& 1) a1)
(call #:libcir:copy)
(hpmovx a1 (& 2) (& 1))
(push (@ 112))
(push (& 2))
(push '1)
(mov '2 a4)
(jmp +)
112
(eval ())
(mov a1 (& 1))
(bra 109)
110
(adjstk '2)
(push (@ 115))
(push (& 2))
(mov '1 a4)
(jmp typevector)
115
(eval ())
(cabeq a1 'vector 114)
(push (@ 116))
(push (& 1))
(push (@ 117))
(push (& 4))
(mov '1 a4)
(jmp typevector)
117
(eval ())
(push a1)
(mov '2 a4)
(jmp typevector)
116
(eval ())
114
(mov (& 0) a1)
(adjstk '2)
(return)
107
(mov (& 0) a1)
(adjstk '1)
(jmp copy)
))
(loader '((end)))