4 <ENTRY ARITH-GEN ABS-GEN FLOAT-GEN FIX-GEN MOD-GEN ROT-GEN LSH-GEN 1?-GEN GEN-FLOAT GENFLOAT MIN-MAX 0-TEST FLIP TEST-GEN>
6 <USE "COMPDEC" "CODGEN" "CHKDCL" "STRGEN" "MIMGEN" "ADVMESS">
8 " This file contains analyzers and code generators for arithmetic
9 SUBRs and predicates. For convenience many of the SUBRs that are
10 similar are combined into one analyzer/generator. For more info
11 on analyzers see SYMANA and on generators see CODGEN.
14 "A type TRANS specifies to an inferior node what arithmetic transforms are
15 prohibited, permitted or desired. A transform consists of 3 main elements:
16 a NODE, an input, an output. The input and output are UVECTORS of 7 fixes:
18 1) negative ok 0-no, 1-ok, 2-pref
19 2) + or - const ok 0-no, 1-ok, 2-pref
21 4) * or / const ok 0-no, 1-* ok, 2-* pref, 3-/ ok, 4-/ pref
22 5) hw ok 0-no, 1-ok, 2-pref
23 6) hw swapped also 0-no, 1-ok, 2-pref
26 <SETG SNODES <UVECTOR ,QUOTE-CODE ,LVAL-CODE ,GVAL-CODE>>
28 <SETG SNODES1 <REST ,SNODES>>
30 <GDECL (SNODES SNODES1) <UVECTOR [REST FIX]>>
33 <GFCN
\1aCOMMUTE ("VALUE" LIST <LIST [REST NODE]> ANY LIST) K4 OP5 L6>
34 <TEMP REDO17 KK9:LIST FK8:LIST TEMP24:NODE TYP10 CD114:FIX CD13:FIX N12:NODE TEMP36>
36 <SET REDO17 %<> (TYPE FALSE)>
40 <EMPL? K4 + PHRASE65 (TYPE LIST)>
42 <RESTL FK8 1 = KK9 (TYPE LIST)>
43 <EMPL? KK9 + PHRASE65 (TYPE LIST)>
45 <NTHL KK9 1 = TEMP24 (TYPE NODE)>
46 <NTHUV TEMP24 3 = STACK>
52 <EMPL? KK9 + EXIT25 (TYPE LIST)>
54 <NTHL KK9 1 = TEMP24 (TYPE NODE)>
55 <NTHUV TEMP24 3 = STACK>
56 <CALL '
\1aISTYPE? 1 = TYP10>
57 <VEQUAL? TYP10 TYP10 - PHRASE38>
59 <NTHUV TEMP24 1 = CD114 (TYPE FIX)>
60 <NTHL FK8 1 = N12 (TYPE NODE)>
61 <NTHUV N12 1 = CD13 (TYPE FIX)>
62 <VEQUAL? CD13 2 - PHRASE32 (TYPE FIX)>
63 <VEQUAL? CD114 2 - PHRASE32 (TYPE FIX)>
67 <NTHUV TEMP24 4 = STACK>
69 <ACALL TYP10 2 = TEMP36>
73 <RESTL KK9 1 = KK9 (TYPE LIST)>
75 <SET REDO17 'T (TYPE ATOM)>
78 <VEQUAL? CD13 2 - PHRASE37 (TYPE FIX)>
83 <SET REDO17 'T (TYPE ATOM)>
86 <GVAL 'SNODES = TEMP36>
87 <EMPUU? TEMP36 + TAG40>
88 <LOOP (CD114 VALUE) (TEMP36 LENGTH VALUE)>
90 <NTHUU TEMP36 1 = TYP10>
91 <VEQUAL? TYP10 CD114 + PHRASE38>
93 <RESTUU TEMP36 1 = TEMP36 (TYPE UVECTOR)>
94 <EMPUU? TEMP36 - TAG41>
96 <GVAL 'SNODES = TEMP36>
97 <EMPUU? TEMP36 + PHRASE38>
98 <LOOP (CD13 VALUE) (TEMP36 LENGTH VALUE)>
100 <NTHUU TEMP36 1 = TYP10>
101 <VEQUAL? TYP10 CD13 + TAG43>
103 <RESTUU TEMP36 1 = TEMP36 (TYPE UVECTOR)>
104 <EMPUU? TEMP36 - TAG44>
107 <VEQUAL? CD114 68 + PHRASE38 (TYPE FIX)>
109 <NTHUV TEMP24 8 = TEMP36>
110 <TYPE? TEMP36 <TYPE-CODE FALSE> - PHRASE38>
112 <VEQUAL? CD13 10 - PHRASE47 (TYPE FIX)>
114 <NTHUV N12 7 = REDO17 (TYPE LIST)>
115 <EMPL? REDO17 + PHRASE50>
116 <RESTL REDO17 1 = TEMP36 (TYPE LIST)>
117 <EMPL? TEMP36 + PHRASE50>
118 <RESTL TEMP36 1 = TEMP36 (TYPE LIST)>
119 <EMPL? TEMP36 - PHRASE50>
121 <RESTL REDO17 1 = TEMP36 (TYPE LIST)>
123 <NTHL TEMP36 1 = TEMP36>
124 <TYPE? TEMP36 <TYPE-CODE FALSE> + PHRASE47>
127 <NTHUV N12 4 = REDO17>
128 <TYPE? REDO17 <TYPE-CODE FALSE> + PHRASE47>
129 <SET TEMP36 L6 (TYPE LIST)>
133 <EMPL? TEMP36 + MAPAP56>
134 <NTHL TEMP36 1 = TYP10>
136 <EQUAL? TYP10 REDO17 + PHRASE47>
138 <RESTL TEMP36 1 = TEMP36 (TYPE LIST)>
141 <CONS %<> () = REDO17>
142 <NTHUV N12 4 = TEMP36>
143 <CONS TEMP36 REDO17 = REDO17>
145 <CONS REDO17 L6 = L6>
152 <SET REDO17 'T (TYPE ATOM)>
156 <RESTL FK8 1 = KK9 (TYPE LIST)>
159 <VEQUAL? REDO17 0 + PHRASE65>
161 <SET REDO17 %<> (TYPE FALSE)>
168 " Generate code for +,-,* and /."
171 <GFCN
\1aARITH-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
172 <TEMP K7 TEMP29 TEMP30 TEMP31 ATYP10:FIX (MODE12:FIX 1) (DONE19 %<>) (NEGF20 %<>) ONO21 TEMP3:LBIND TEMP58 TEMP71 REG6 NXT167>
174 <NTHUV NOD4 5 = K7 (TYPE LIST)>
175 <NTHUV NOD4 4 = TEMP29>
176 <SET TEMP30 [/ * - +] (TYPE VECTOR)>
177 <TYPE? TEMP29 <TYPE-CODE ATOM> - TAG25>
178 <LOOP (TEMP29 VALUE) (TEMP30 LENGTH VALUE)>
180 <NTHUV TEMP30 1 = TEMP31>
181 <VEQUAL? TEMP31 TEMP29 + TAG26>
183 <RESTUV TEMP30 1 = TEMP30 (TYPE VECTOR)>
184 <EMPUV? TEMP30 - TAG27>
186 <SET TEMP30 %<> (TYPE FALSE)>
188 <LENUV TEMP30 = ATYP10 (TYPE FIX)>
190 <GEN-LVAL 'NO-KILL = ONO21>
191 <GETS 'BIND = TEMP3 (TYPE LBIND)>
192 <GEN-LVAL 'NO-KILL = TEMP29>
193 <BBIND 'NO-KILL 'LIST 'FIX TEMP29>
196 <NTHUU ![0 1 0 1!] ATYP10 = TEMP29 (TYPE FIX)>
198 <GRTR? TEMP29 0 - RESTL44 (TYPE FIX)>
199 <LOOP (TEMP31 VALUE) (TEMP29 VALUE)>
202 <RESTL TEMP31 1 = TEMP31 (TYPE LIST)>
203 <SUB TEMP29 1 = TEMP29 (TYPE FIX)>
204 <GRTR? TEMP29 0 + RESTL43 (TYPE FIX)>
208 <NTHUV [+ + * *] ATYP10 = STACK (TYPE ATOM)>
209 <NTHR 'NO-KILL 2 = TEMP31 (RECORD-TYPE ATOM) (TYPE LBIND)>
210 <NTHR TEMP31 1 = STACK (RECORD-TYPE LBIND)>
212 <CALL '
\1aCOMMUTE 3 = TEMP31>
213 <NTHR 'NO-KILL 2 = TEMP29 (RECORD-TYPE ATOM) (TYPE LBIND)>
214 <PUTR TEMP29 1 TEMP31 (RECORD-TYPE LBIND)>
216 <NTHUV NOD4 3 = TEMP31>
217 <EQUAL? TEMP31 'FIX - PHRASE85>
219 <EMPL? K7 + PHRASE85>
220 <RESTL K7 1 = TEMP31 (TYPE LIST)>
221 <EMPL? TEMP31 + PHRASE85>
222 <RESTL TEMP31 1 = TEMP31 (TYPE LIST)>
223 <EMPL? TEMP31 - PHRASE85>
225 <RESTL K7 1 = TEMP31 (TYPE LIST)>
226 <NTHL TEMP31 1 = TEMP31 (TYPE NODE)>
227 <NTHUV TEMP31 1 = TEMP31 (TYPE FIX)>
228 <VEQUAL? TEMP31 2 - PHRASE85 (TYPE FIX)>
230 <GEN-ASSIGNED? 'TRANSFORM - PHRASE53>
231 <NTHUV NOD4 2 = TEMP29>
232 <GEN-LVAL 'TRANSFORM = TEMP31>
233 <NTHUV TEMP31 1 = TEMP58 (TYPE NODE)>
234 <EQUAL? TEMP29 TEMP58 - PHRASE53>
236 <NTHUV TEMP31 2 = TEMP30 (TYPE UVECTOR)>
237 <GRTR? ATYP10 2 + PHRASE60 (TYPE FIX)>
238 <NTHUU TEMP30 2 = TEMP58 (TYPE FIX)>
239 <VEQUAL? TEMP58 1 + BOOL62 (TYPE FIX)>
241 <NTHUU TEMP30 2 = TEMP58 (TYPE FIX)>
242 <VEQUAL? TEMP58 2 - PHRASE60 (TYPE FIX)>
244 <NTHUU TEMP30 3 = TEMP58 (TYPE FIX)>
245 <VEQUAL? ATYP10 1 - PHRASE67 (TYPE FIX)>
246 <RESTL K7 1 = TEMP29 (TYPE LIST)>
247 <NTHL TEMP29 1 = TEMP29 (TYPE NODE)>
248 <NTHUV TEMP29 4 = TEMP29>
249 <CHTYPE TEMP29 <TYPE-CODE FIX> = TEMP29>
250 <SUB 0 TEMP29 = TEMP29 (TYPE FIX)>
253 <RESTL K7 1 = TEMP71 (TYPE LIST)>
254 <NTHL TEMP71 1 = TEMP71 (TYPE NODE)>
255 <NTHUV TEMP71 4 = TEMP29>
258 <EQUAL? TEMP58 TEMP29 - PHRASE60>
261 <NTHUV TEMP31 3 = TEMP29 (TYPE UVECTOR)>
264 <VEQUAL? ATYP10 1 - PHRASE73 (TYPE FIX)>
266 <RESTL K7 1 = TEMP58 (TYPE LIST)>
267 <NTHL TEMP58 1 = TEMP58 (TYPE NODE)>
268 <NTHUV TEMP58 4 = TEMP58>
269 <CHTYPE TEMP58 <TYPE-CODE FIX> = TEMP58>
270 <SUB 0 TEMP58 = TEMP58 (TYPE FIX)>
273 <RESTL K7 1 = TEMP71 (TYPE LIST)>
274 <NTHL TEMP71 1 = TEMP71 (TYPE NODE)>
275 <NTHUV TEMP71 4 = TEMP58>
278 <PUTUU TEMP29 3 TEMP58>
282 <VEQUAL? ATYP10 3 - PHRASE53 (TYPE FIX)>
283 <NTHUU TEMP30 4 = TEMP29 (TYPE FIX)>
284 <VEQUAL? TEMP29 1 + BOOL79 (TYPE FIX)>
286 <NTHUU TEMP30 4 = TEMP29 (TYPE FIX)>
287 <VEQUAL? TEMP29 4 - PHRASE53 (TYPE FIX)>
289 <NTHUU TEMP30 5 = TEMP29 (TYPE FIX)>
291 <RESTL K7 1 = TEMP58 (TYPE LIST)>
292 <NTHL TEMP58 1 = TEMP58 (TYPE NODE)>
293 <NTHUV TEMP58 4 = TEMP58>
294 <EQUAL? TEMP29 TEMP58 - PHRASE53>
297 <NTHUV TEMP31 3 = TEMP58 (TYPE UVECTOR)>
300 <RESTL K7 1 = TEMP29 (TYPE LIST)>
301 <NTHL TEMP29 1 = TEMP29 (TYPE NODE)>
302 <NTHUV TEMP29 4 = TEMP29>
303 <PUTUU TEMP58 5 TEMP29>
307 <NTHL K7 1 = STACK (TYPE NODE)>
311 <CALL '
\1aGEN 2 = TEMP58>
314 <NTHL K7 1 = TEMP30 (TYPE NODE)>
315 <NTHUV TEMP30 1 = TEMP29 (TYPE FIX)>
316 <VEQUAL? TEMP29 68 + PHRASE85 (TYPE FIX)>
318 <GETS 'BIND = TEMP29 (TYPE LBIND)>
319 <FRAME '
\1aMAKE-TRANS>
322 <LESS? ATYP10 3 - PHRASE90 (TYPE FIX)>
323 <SET TEMP71 2 (TYPE FIX)>
326 <SET TEMP71 0 (TYPE FIX)>
330 <VEQUAL? ATYP10 1 - PHRASE93 (TYPE FIX)>
331 <RESTL K7 1 = TEMP71 (TYPE LIST)>
332 <NTHL TEMP71 1 = TEMP71 (TYPE NODE)>
333 <NTHUV TEMP71 4 = TEMP71 (TYPE FIX)>
336 <VEQUAL? ATYP10 2 - PHRASE96 (TYPE FIX)>
337 <RESTL K7 1 = TEMP31 (TYPE LIST)>
338 <NTHL TEMP31 1 = TEMP31 (TYPE NODE)>
339 <NTHUV TEMP31 4 = TEMP31>
340 <CHTYPE TEMP31 <TYPE-CODE FIX> = TEMP71>
342 <SUB 0 TEMP71 = TEMP71 (TYPE FIX)>
345 <SET TEMP71 0 (TYPE FIX)>
349 <GRTR? ATYP10 2 - PHRASE100 (TYPE FIX)>
350 <VEQUAL? ATYP10 3 - PHRASE102 (TYPE FIX)>
351 <SET TEMP71 2 (TYPE FIX)>
354 <SET TEMP71 4 (TYPE FIX)>
357 <SET TEMP71 0 (TYPE FIX)>
361 <GRTR? ATYP10 2 - PHRASE106 (TYPE FIX)>
362 <RESTL K7 1 = TEMP71 (TYPE LIST)>
363 <NTHL TEMP71 1 = TEMP71 (TYPE NODE)>
364 <NTHUV TEMP71 4 = TEMP71 (TYPE FIX)>
367 <SET TEMP71 1 (TYPE FIX)>
373 <CALL '
\1aMAKE-TRANS 8 = TEMP71>
374 <BBIND 'TRANSFORM 'TRANS 'FIX TEMP71>
380 <CALL '
\1aGEN 2 = REG6>
381 <SET DONE19 'T (TYPE ATOM)>
382 <NTHR 'TRANSFORM 2 = TEMP71 (RECORD-TYPE ATOM) (TYPE LBIND)>
383 <NTHR TEMP71 1 = TEMP31 (RECORD-TYPE LBIND)>
385 <NTHUV TEMP31 3 = TEMP31 (TYPE UVECTOR)>
389 <EMPUU? TEMP31 + MAPAP114>
390 <NTHUU TEMP31 1 = TEMP30>
391 <VEQUAL? TEMP30 0 + PHRASE125 (TYPE FIX)>
398 <CALL '
\1aMOVE-ARG 2 = TEMP58>
401 <RESTUU TEMP31 1 = TEMP31 (TYPE UVECTOR)>
408 <VEQUAL? DONE19 0 - PHRASE156>
410 <NTHL K7 1 = TEMP30 (TYPE NODE)>
411 <NTHUV TEMP30 1 = TEMP29 (TYPE FIX)>
412 <VEQUAL? TEMP29 68 - PHRASE130 (TYPE FIX)>
415 <NTHUV TEMP30 5 = TEMP29 (TYPE LIST)>
417 <NTHL TEMP29 1 = TEMP30 (TYPE NODE)>
422 <CALL '
\1aGEN-TEMP 1 = STACK>
423 <CALL '
\1aGEN 2 = TEMP31>
429 <EQUAL? WHERE5 'DONT-CARE - PHRASE135>
432 <CALL '
\1aGEN-TEMP 1 = WHERE5>
436 <TYPE? WHERE5 <TYPE-CODE TEMP> - BOOL138>
437 <NTHUV WHERE5 2 = TEMP29 (TYPE FIX)>
438 <GRTR? TEMP29 0 - PHRASE137 (TYPE FIX)>
443 <CALL '
\1aGEN-TEMP 1 = REG6>
453 <NTHUV NOD4 4 = STACK (TYPE ATOM)>
454 <CALL '
\1aGET-DF 1 = STACK>
455 <CALL '
\1aSEGINS 7 = MODE12>
460 <CALL '
\1aGEN 1 = REG6>
461 <EQUAL? WHERE5 'DONT-CARE - PHRASE147>
462 <TYPE? REG6 <TYPE-CODE TEMP> - PHRASE147>
463 <NTHUV REG6 2 = TEMP29 (TYPE FIX)>
464 <LESS? TEMP29 2 - PHRASE147 (TYPE FIX)>
469 <EQUAL? WHERE5 'DONT-CARE - PHRASE149>
472 <CALL '
\1aGEN-TEMP 1 = WHERE5>
474 <TYPE? REG6 <TYPE-CODE TEMP> - PHRASE152>
475 <RESTL K7 1 = TEMP29 (TYPE LIST)>
476 <EMPL? TEMP29 + PHRASE152 (TYPE LIST)>
478 <FRAME '
\1aINTERF-CHANGE>
481 <RESTL K7 1 = TEMP29 (TYPE LIST)>
482 <NTHL TEMP29 1 = STACK (TYPE NODE)>
484 <CALL '
\1aINTERF-CHANGE 2 = REG6>
486 <NTHUV TEMP30 3 = TEMP29>
488 <EQUAL? TEMP29 'FLOAT - PHRASE156>
490 <SET MODE12 2 (TYPE FIX)>
492 <RESTL K7 1 = TEMP71 (TYPE LIST)>
497 <EMPL? TEMP71 + MAPAP161>
499 <GETS 'BIND = TEMP31 (TYPE LBIND)>
500 <BBIND 'TRANSFORM 'TRANS 'FIX>
501 <NTHL K7 1 = TEMP30 (TYPE NODE)>
502 <NTHUV TEMP30 1 = TEMP29 (TYPE FIX)>
503 <VEQUAL? TEMP29 68 - PHRASE169 (TYPE FIX)>
505 <SET DONE19 'T (TYPE ATOM)>
507 <NTHUV TEMP30 5 = TEMP29 (TYPE LIST)>
509 <NTHL TEMP29 1 = TEMP30 (TYPE NODE)>
512 <CALL '
\1aGEN 1 = NXT167>
515 <SET DONE19 %<> (TYPE FALSE)>
516 <FRAME '
\1aMAKE-TRANS>
518 <VEQUAL? NEGF20 0 + PHRASE175>
519 <GRTR? ATYP10 2 - PHRASE175 (TYPE FIX)>
520 <SET TEMP29 2 (TYPE FIX)>
523 <SET TEMP29 1 (TYPE FIX)>
533 <CALL '
\1aMAKE-TRANS 8 = TEMP29>
534 <NTHR 'TRANSFORM 2 = TEMP58 (RECORD-TYPE ATOM) (TYPE LBIND)>
535 <PUTR TEMP58 1 TEMP29 (RECORD-TYPE LBIND)>
540 <CALL '
\1aGEN 2 = NXT167>
542 <RESTL K7 1 = TEMP29 (TYPE LIST)>
544 <EMPL? TEMP29 - TAG184 (TYPE LIST)>
546 <SET K7 'T (TYPE ATOM)>
549 <SET K7 %<> (TYPE FALSE)>
551 <VEQUAL? DONE19 0 + PHRASE187>
553 <TYPE? NXT167 <TYPE-CODE TEMP> - BOOL190>
554 <NTHUV NXT167 2 = TEMP29 (TYPE FIX)>
555 <GRTR? TEMP29 1 - PHRASE189 (TYPE FIX)>
563 <CALL '
\1aGEN-TEMP 1 = STACK>
564 <CALL '
\1aMOVE-ARG 2 = NXT167>
576 <CALL '
\1aSEGINS 7 = MODE12>
577 <FRAME '
\1aFREE-TEMP>
580 <CALL '
\1aFREE-TEMP 1>
583 <NTHR 'TRANSFORM 2 = TEMP29 (RECORD-TYPE ATOM) (TYPE LBIND)>
584 <NTHR TEMP29 1 = TEMP29 (RECORD-TYPE LBIND)>
585 <TYPE? TEMP29 <TYPE-CODE UNBOUND> + TAG208>
587 <NTHR 'TRANSFORM 2 = TEMP29 (RECORD-TYPE ATOM) (TYPE LBIND)>
588 <NTHR TEMP29 1 = TEMP29 (RECORD-TYPE LBIND)>
589 <NTHUV TEMP29 3 = TEMP29 (TYPE UVECTOR)>
590 <NTHUU TEMP29 1 = TEMP29 (TYPE FIX)>
591 <VEQUAL? TEMP29 0 + TAG208 (TYPE FIX)>
593 <VEQUAL? NEGF20 0 - TAG207>
595 <SET NEGF20 'T (TYPE ATOM)>
598 <SET NEGF20 %<> (TYPE FALSE)>
600 <VEQUAL? MODE12 2 - PHRASE210 (TYPE FIX)>
602 <NTHUV TEMP30 3 = STACK>
603 <CALL '
\1aISTYPE? 1 = TEMP58>
604 <VEQUAL? TEMP58 'FIX - PHRASE216>
606 <FRAME '
\1aGEN-FLOAT>
612 <CALL '
\1aPROT 2 = STACK>
613 <CALL '
\1aGEN-FLOAT 2 = NXT167>
617 <NTHUV TEMP30 3 = STACK>
618 <CALL '
\1aISTYPE? 1 = TEMP58>
619 <VEQUAL? TEMP58 'FLOAT - PHRASE216>
621 <FRAME '
\1aGEN-FLOAT>
627 <CALL '
\1aPROT 2 = STACK>
628 <CALL '
\1aGEN-FLOAT 2 = REG6>
629 <SET MODE12 2 (TYPE FIX)>
631 <VEQUAL? ATYP10 3 - PHRASE221 (TYPE FIX)>
632 <VEQUAL? MODE12 1 - PHRASE221 (TYPE FIX)>
633 <NTHUV TEMP30 1 = TEMP58 (TYPE FIX)>
634 <VEQUAL? TEMP58 2 - PHRASE221 (TYPE FIX)>
637 <NTHUV TEMP30 4 = STACK (TYPE FIX)>
639 <CALL '
\1aPOPWR2 1 = TEMP29>
640 <TYPE? TEMP29 <TYPE-CODE FALSE> + PHRASE221>
641 <FRAME '
\1aSHIFT-INS>
650 <CALL '
\1aSHIFT-INS 5 = REG6>
653 <FRAME '
\1aARITH-INS>
654 <VEQUAL? NEGF20 0 + PHRASE230>
655 <LESS? ATYP10 3 - PHRASE230 (TYPE FIX)>
656 <SET NEGF20 %<> (TYPE FALSE)>
657 <SUB 3 ATYP10 = TEMP58 (TYPE FIX)>
671 <CALL '
\1aARITH-INS 6 = REG6>
673 <FRAME '
\1aFREE-TEMP>
676 <CALL '
\1aFREE-TEMP 1>
682 <RESTL TEMP71 1 = TEMP71 (TYPE LIST)>
685 <VEQUAL? NEGF20 0 + PHRASE243>
687 <GEN-ASSIGNED? 'TRANSFORM - PHRASE237>
688 <GEN-LVAL 'TRANSFORM = TEMP31>
689 <NTHUV TEMP31 1 = TEMP29 (TYPE NODE)>
690 <NTHUV NOD4 2 = TEMP58>
692 <EQUAL? TEMP29 TEMP58 - PHRASE237>
694 <NTHUV TEMP31 2 = TEMP58 (TYPE UVECTOR)>
695 <NTHUU TEMP58 1 = TEMP58 (TYPE FIX)>
696 <VEQUAL? TEMP58 0 + PHRASE237 (TYPE FIX)>
698 <NTHUV TEMP31 3 = TEMP58 (TYPE UVECTOR)>
704 <FRAME '
\1aGEN-NEGATE>
706 <CALL '
\1aGEN-NEGATE 1>
708 <FRAME '
\1aDELAY-KILL>
709 <NTHR 'NO-KILL 2 = TEMP58 (RECORD-TYPE ATOM) (TYPE LBIND)>
710 <NTHR TEMP58 1 = STACK (RECORD-TYPE LBIND)>
714 <CALL '
\1aDELAY-KILL 2>
720 <CALL '
\1aMOVE-ARG 2 = TEMP58>
730 <GFCN
\1aPROT ("VALUE" ANY ANY ANY) DAT4 TYP5>
733 <TYPE? DAT4 <TYPE-CODE TEMP> - PHRASE7>
734 <FRAME '
\1aDEALLOCATE-TEMP>
736 <CALL '
\1aDEALLOCATE-TEMP 1>
738 <TYPE? DAT4 <TYPE-CODE TEMP> - PHRASE10>
739 <NTHUV DAT4 2 = TEMP12 (TYPE FIX)>
740 <GRTR? TEMP12 0 + PHRASE10 (TYPE FIX)>
746 <CALL '
\1aUSE-TEMP 2>
750 <TYPE? DAT4 <TYPE-CODE TEMP> - PHRASE16>
754 <CALL '
\1aGEN-TEMP 1 = TEMP12>
763 <GFCN
\1aSHIFT-INS ("VALUE" ANY ANY FIX FIX ANY ANY) REG4 SHFT5 ATYP6 LAST7 W8>
766 <FRAME '
\1aGEN-SHIFT>
768 <VEQUAL? ATYP6 3 - PHRASE11 (TYPE FIX)>
776 <SUB 0 TEMP12 = TEMP12 (TYPE FIX)>
780 <TYPE? LAST7 <TYPE-CODE FALSE> + PHRASE15>
782 <EQUAL? REG4 W8 + PHRASE15>
783 <FRAME '
\1aFREE-TEMP>
787 <CALL '
\1aFREE-TEMP 2>
788 <EQUAL? W8 'DONT-CARE - PHRASE19>
791 <CALL '
\1aGEN-TEMP 1 = REG4>
794 <TYPE? W8 <TYPE-CODE TEMP> - PHRASE21>
798 <CALL '
\1aUSE-TEMP 2>
807 <TYPE? REG4 <TYPE-CODE TEMP> + PHRASE25>
810 <CALL '
\1aGEN-TEMP 1 = REG4>
813 <CALL '
\1aGEN-SHIFT 3>
819 <GFCN
\1aSEGINS ("VALUE" FIX FIX ANY NODE ANY ANY FIX ANY) ATYP4 FD5 N6 REG7 REG28 MD9 DEFLT10>
820 <TEMP STYP14 TG15 LOOP16 TEMP23 TYP13:FIX SL12:FIX>
822 <NTHUV N6 3 = STYP14>
824 <CALL '
\1aMAKE-TAG 0 = TG15>
826 <CALL '
\1aMAKE-TAG 0 = LOOP16>
827 <FRAME '
\1aGET-ELE-TYPE>
830 <CALL '
\1aGET-ELE-TYPE 2 = TEMP23>
831 <EQUAL? TEMP23 'FIX - PHRASE21>
833 <SET TYP13 1 (TYPE FIX)>
836 <SET TYP13 2 (TYPE FIX)>
841 <CALL '
\1aSTRUCTYP 1 = STYP14>
845 <CALL '
\1aMINL 1 = SL12>
846 <TYPE? FD5 <TYPE-CODE FALSE> + PHRASE28>
849 <VEQUAL? TYP13 2 - BOOL29 (TYPE FIX)>
850 <EQUAL? DEFLT10 1 - BOOL29>
851 <SET DEFLT10 1.0 (TYPE FLOAT)>
853 <LESS? SL12 1 - PHRASE31 (TYPE FIX)>
858 <VEQUAL? TYP13 1 - PHRASE36 (TYPE FIX)>
859 <SET TEMP23 'FIX (TYPE ATOM)>
862 <SET TEMP23 'FLOAT (TYPE ATOM)>
864 <CONS TEMP23 () = TEMP23>
865 <CONS '`TYPE TEMP23 = STACK>
867 <CALL '
\1aSET-TEMP 3>
868 <FRAME '
\1aEMPTY-JUMP>
872 <CALL '
\1aEMPTY-JUMP 3>
874 <VEQUAL? ATYP4 2 + BOOL43 (TYPE FIX)>
875 <VEQUAL? ATYP4 4 - PHRASE42 (TYPE FIX)>
882 <CALL '
\1aGETEL 3 = REG7>
887 <SUB SL12 1 = SL12 (TYPE FIX)>
890 <SET SL12 1 (TYPE FIX)>
893 <VEQUAL? MD9 1 - PHRASE47 (TYPE FIX)>
894 <VEQUAL? TYP13 2 - PHRASE47 (TYPE FIX)>
895 <FRAME '
\1aGEN-FLOAT>
901 <CALL '
\1aPROT 2 = STACK>
902 <CALL '
\1aGEN-FLOAT 2 = REG7>
904 <LESS? SL12 1 - PHRASE54 (TYPE FIX)>
906 <FRAME '
\1aEMPTY-JUMP>
910 <CALL '
\1aEMPTY-JUMP 3>
912 <FRAME '
\1aLABEL-TAG>
914 <CALL '
\1aLABEL-TAG 1>
926 <FRAME '
\1aADVANCE-AND-CHECK>
933 <CALL '
\1aADVANCE-AND-CHECK 3>
934 <FRAME '
\1aLABEL-TAG>
937 <CALL '
\1aLABEL-TAG 1>
943 <GFCN
\1aADVANCE ("VALUE" ATOM ATOM ANY) STYP4 SAC5>
946 <VEQUAL? STYP4 'LIST - PHRASE12>
952 <CALL '
\1aNTH-LIST 3 = AMT6>
956 <VEQUAL? STYP4 'UVECTOR - PHRASE14>
958 <FRAME '
\1aNTH-UVECTOR>
963 <CALL '
\1aNTH-UVECTOR 3 = AMT6>
967 <FRAME '
\1aNTH-VECTOR>
972 <CALL '
\1aNTH-VECTOR 3 = AMT6>
978 <GFCN
\1aADVANCE-AND-CHECK ("VALUE" ATOM ATOM ANY ANY) STYP4 SAC5 TG6>
981 <VEQUAL? STYP4 'LIST - PHRASE8>
982 <FRAME '
\1aREST-LIST>
986 <CALL '
\1aREST-LIST 3>
987 <FRAME '
\1aEMPTY-LIST>
993 <CALL '
\1aEMPTY-LIST 3 = TEMP11>
997 <VEQUAL? STYP4 'VECTOR - PHRASE12>
999 <FRAME '
\1aREST-VECTOR>
1003 <CALL '
\1aREST-VECTOR 3>
1004 <FRAME '
\1aEMPTY-VECTOR>
1010 <CALL '
\1aEMPTY-VECTOR 3 = TEMP11>
1014 <FRAME '
\1aREST-UVECTOR>
1018 <CALL '
\1aREST-UVECTOR 3>
1019 <FRAME '
\1aEMPTY-UVECTOR>
1025 <CALL '
\1aEMPTY-UVECTOR 3 = TEMP11>
1028 <END
\1aADVANCE-AND-CHECK>
1031 <GFCN
\1aEMPTY-JUMP ("VALUE" ATOM ATOM ANY ATOM) STYP4 SAC5 TG6>
1034 <VEQUAL? STYP4 'LIST - PHRASE8>
1035 <FRAME '
\1aEMPTY-LIST>
1041 <CALL '
\1aEMPTY-LIST 3 = TEMP10>
1045 <VEQUAL? STYP4 'VECTOR - PHRASE11>
1047 <FRAME '
\1aEMPTY-VECTOR>
1053 <CALL '
\1aEMPTY-VECTOR 3 = TEMP10>
1057 <FRAME '
\1aEMPTY-UVECTOR>
1063 <CALL '
\1aEMPTY-UVECTOR 3 = TEMP10>
1069 <GFCN
\1aEMITSEG ("VALUE" <OR TEMP ANY> ANY ANY ANY FIX FIX FIX) RAC4 SAC5 STYP6 ATYP7 TYP8 MD9>
1072 <FRAME '
\1aGEN-TEMP>
1073 <CALL '
\1aGEN-TEMP 0 = TMP11>
1074 <VEQUAL? MD9 2 - PHRASE14 (TYPE FIX)>
1075 <VEQUAL? TYP8 1 - PHRASE14 (TYPE FIX)>
1084 <FRAME '
\1aGEN-FLOAT>
1087 <CALL '
\1aGEN-FLOAT 2>
1116 <FRAME '
\1aFREE-TEMP>
1119 <CALL '
\1aFREE-TEMP 1 = TMP11>
1125 <GFCN
\1aGENINS ("VALUE" <OR ATOM <LIST ANY>> FIX FIX ANY ANY) ATYP4 MD5 RAC6 ADD7>
1128 <FRAME '
\1aMAKE-TAG>
1129 <CALL '
\1aMAKE-TAG 0 = TG9>
1130 <GRTR? ATYP4 4 - PHRASE12 (TYPE FIX)>
1132 <SUB ATYP4 4 = TEMP14 (TYPE FIX)>
1134 <NTHUV [`GRTR? `LESS?] TEMP14 = STACK (TYPE ATOM)>
1148 <FRAME '
\1aLABEL-TAG>
1151 <CALL '
\1aLABEL-TAG 1 = TEMP14>
1156 <NTHUV TG9 MD5 = TG9 (TYPE VECTOR)>
1157 <NTHUV TG9 ATYP4 = TG9>
1168 <VEQUAL? MD5 1 - PHRASE21 (TYPE FIX)>
1170 <SET TG9 'FIX (TYPE ATOM)>
1173 <SET TG9 'FLOAT (TYPE ATOM)>
1176 <CONS '`TYPE TG9 = STACK>
1178 <CALL '
\1aIEMIT 6 = TEMP14>
1184 <GFCN
\1aGETEL ("VALUE" ANY ANY ANY ANY) RAC4 SAC5 STYP6>
1187 <EQUAL? RAC4 'DONT-CARE - PHRASE8>
1188 <FRAME '
\1aGEN-TEMP>
1189 <CALL '
\1aGEN-TEMP 0 = RAC4>
1191 <EQUAL? STYP6 'LIST - PHRASE11>
1192 <FRAME '
\1aNTH-LIST>
1197 <CALL '
\1aNTH-LIST 3>
1201 <EQUAL? STYP6 'VECTOR - PHRASE13>
1203 <FRAME '
\1aNTH-VECTOR>
1208 <CALL '
\1aNTH-VECTOR 3>
1212 <FRAME '
\1aNTH-UVECTOR>
1217 <CALL '
\1aNTH-UVECTOR 3>
1222 <SETG INS1 [[`ADD `SUB `MUL `DIV] [`ADDF `SUBF `MULF `DIVF]]>
1224 <GDECL (INS1) !<VECTOR [2 !<VECTOR [4 ANY]>]>>
1226 " Do the actual arithmetic code generation here with all args set up."
1229 <GFCN
\1aARITH-INS ("VALUE" ANY FIX ANY ANY FIX ANY ANY) ATYP4 REG5 REG26 MODE7 LAST8 W9>
1232 <GVAL 'INS1 = TEMP11>
1233 <NTHUV TEMP11 MODE7 = TEMP11 (TYPE VECTOR)>
1234 <NTHUV TEMP11 ATYP4 = TEMP11>
1243 <TYPE? LAST8 <TYPE-CODE FALSE> + PHRASE14>
1244 <EQUAL? REG5 W9 + PHRASE14>
1245 <FRAME '
\1aFREE-TEMP>
1249 <CALL '
\1aFREE-TEMP 2>
1250 <EQUAL? W9 'DONT-CARE - PHRASE18>
1251 <FRAME '
\1aGEN-TEMP>
1252 <VEQUAL? MODE7 1 - PHRASE21 (TYPE FIX)>
1253 <SET TEMP11 'FIX (TYPE ATOM)>
1256 <SET TEMP11 'FLOAT (TYPE ATOM)>
1260 <CALL '
\1aGEN-TEMP 1 = REG5>
1263 <TYPE? W9 <TYPE-CODE TEMP> - PHRASE25>
1264 <FRAME '
\1aUSE-TEMP>
1266 <VEQUAL? MODE7 1 - PHRASE28 (TYPE FIX)>
1267 <SET TEMP11 'FIX (TYPE ATOM)>
1270 <SET TEMP11 'FLOAT (TYPE ATOM)>
1274 <CALL '
\1aUSE-TEMP 2>
1283 <TYPE? LAST8 <TYPE-CODE FALSE> + PHRASE33>
1285 <EQUAL? REG5 W9 + PHRASE49>
1287 <TYPE? REG5 <TYPE-CODE TEMP> - PHRASE35>
1288 <NTHUV REG5 2 = TEMP11 (TYPE FIX)>
1289 <GRTR? TEMP11 1 - PHRASE49 (TYPE FIX)>
1292 <TYPE? W9 <TYPE-CODE TEMP> - PHRASE39>
1293 <NTHUV W9 2 = TEMP11 (TYPE FIX)>
1294 <LESS? TEMP11 1 - PHRASE39 (TYPE FIX)>
1296 <FRAME '
\1aUSE-TEMP>
1298 <VEQUAL? MODE7 1 - PHRASE45 (TYPE FIX)>
1299 <SET TEMP11 'FIX (TYPE ATOM)>
1302 <SET TEMP11 'FLOAT (TYPE ATOM)>
1306 <CALL '
\1aUSE-TEMP 2>
1311 <FRAME '
\1aFREE-TEMP>
1314 <CALL '
\1aFREE-TEMP 1>
1315 <FRAME '
\1aGEN-TEMP>
1316 <VEQUAL? MODE7 1 - PHRASE53 (TYPE FIX)>
1317 <SET TEMP11 'FIX (TYPE ATOM)>
1320 <SET TEMP11 'FLOAT (TYPE ATOM)>
1324 <CALL '
\1aGEN-TEMP 1 = REG5>
1327 <VEQUAL? MODE7 2 - PHRASE58 (TYPE FIX)>
1329 <SET TEMP11 (`TYPE FLOAT) (TYPE LIST)>
1332 <SET TEMP11 (`TYPE FIX) (TYPE LIST)>
1342 <GFCN
\1aMIN-MAX ("VALUE" ANY NODE ANY) NOD4 WHERE5>
1343 <TEMP TEMP17 MAX?6 K7 (MODE9:FIX 1) C12:FIX ONO14 TEMP3:LBIND TEMP28 TEM13:NODE REG110 NXT53>
1345 <NTHUV NOD4 4 = TEMP17>
1346 <EQUAL? TEMP17 'MAX - TAG16>
1348 <SET MAX?6 'T (TYPE ATOM)>
1351 <SET MAX?6 %<> (TYPE FALSE)>
1353 <NTHUV NOD4 5 = K7 (TYPE LIST)>
1354 <VEQUAL? MAX?6 0 + BOOL20>
1355 <SET TEMP17 5 (TYPE FIX)>
1358 <SET TEMP17 6 (TYPE FIX)>
1362 <GEN-LVAL 'NO-KILL = ONO14>
1363 <GETS 'BIND = TEMP3 (TYPE LBIND)>
1364 <BBIND 'NO-KILL 'LIST 'FIX ONO14>
1367 <NTHUV NOD4 4 = STACK>
1368 <NTHR 'NO-KILL 2 = TEMP17 (RECORD-TYPE ATOM) (TYPE LBIND)>
1369 <NTHR TEMP17 1 = STACK (RECORD-TYPE LBIND)>
1371 <CALL '
\1aCOMMUTE 3 = TEMP17>
1372 <NTHR 'NO-KILL 2 = TEMP28 (RECORD-TYPE ATOM) (TYPE LBIND)>
1373 <PUTR TEMP28 1 TEMP17 (RECORD-TYPE LBIND)>
1374 <DEAD TEMP28 TEMP17>
1375 <FRAME '
\1aGEN-TEMP>
1377 <CALL '
\1aGEN-TEMP 1 = TEMP28>
1378 <NTHL K7 1 = TEM13 (TYPE NODE)>
1379 <NTHUV TEM13 1 = TEMP17 (TYPE FIX)>
1380 <VEQUAL? TEMP17 68 - PHRASE31 (TYPE FIX)>
1383 <NTHUV TEM13 5 = TEMP17 (TYPE LIST)>
1385 <NTHL TEMP17 1 = TEM13 (TYPE NODE)>
1388 <FRAME '
\1aGEN-TEMP>
1390 <CALL '
\1aGEN-TEMP 1 = STACK>
1391 <CALL '
\1aGEN 2 = REG110>
1401 <VEQUAL? MAX?6 0 + BOOL37>
1402 <SET TEMP17 %<CHTYPE <MAX> FIX> (TYPE FIX)>
1405 <SET TEMP17 %<CHTYPE <MIN> FIX> (TYPE FIX)>
1409 <NTHUV NOD4 3 = STACK (TYPE ATOM)>
1411 <CALL '
\1aCHTYPE 2 = STACK>
1412 <CALL '
\1aSEGINS 7 = MODE9>
1413 <FRAME '
\1aFREE-TEMP>
1416 <CALL '
\1aFREE-TEMP 1>
1423 <CALL '
\1aGEN 2 = TEMP28>
1424 <NTHUV TEM13 3 = TEMP17>
1426 <EQUAL? TEMP17 'FLOAT - BOOL41>
1428 <SET MODE9 2 (TYPE FIX)>
1430 <RESTL K7 1 = TEMP17 (TYPE LIST)>
1435 <EMPL? TEMP17 + MAPAP46>
1436 <NTHL TEMP17 1 = TEM13>
1437 <NTHUV TEM13 1 = REG110 (TYPE FIX)>
1438 <VEQUAL? REG110 68 - PHRASE55 (TYPE FIX)>
1440 <SET K7 'T (TYPE ATOM)>
1442 <NTHUV TEM13 5 = REG110 (TYPE LIST)>
1444 <NTHL REG110 1 = TEM13 (TYPE NODE)>
1447 <FRAME '
\1aGEN-TEMP>
1449 <CALL '
\1aGEN-TEMP 1 = STACK>
1450 <CALL '
\1aGEN 2 = NXT53>
1453 <SET K7 %<> (TYPE FALSE)>
1457 <CALL '
\1aGEN 2 = NXT53>
1459 <VEQUAL? K7 0 + PHRASE63>
1472 <CALL '
\1aSEGINS 7 = MODE9>
1475 <VEQUAL? MODE9 2 - PHRASE67 (TYPE FIX)>
1477 <NTHUV TEM13 3 = STACK>
1479 <CALL '
\1aISTYPE? 1 = REG110>
1480 <VEQUAL? REG110 'FIX - PHRASE73>
1482 <FRAME '
\1aGEN-FLOAT>
1488 <CALL '
\1aPROT 2 = STACK>
1489 <CALL '
\1aGEN-FLOAT 2 = NXT53>
1493 <NTHUV TEM13 3 = STACK>
1495 <CALL '
\1aISTYPE? 1 = REG110>
1496 <VEQUAL? REG110 'FLOAT - PHRASE73>
1498 <FRAME '
\1aGEN-FLOAT>
1504 <CALL '
\1aPROT 2 = STACK>
1505 <CALL '
\1aGEN-FLOAT 2 = TEMP28>
1506 <SET MODE9 2 (TYPE FIX)>
1509 <VEQUAL? MAX?6 0 + PHRASE79>
1510 <SET REG110 '`LESS? (TYPE ATOM)>
1513 <SET REG110 '`GRTR? (TYPE ATOM)>
1520 <FRAME '
\1aMAKE-TAG>
1521 <CALL '
\1aMAKE-TAG 0 = K7>
1524 <FRAME '
\1aSET-TEMP>
1527 <VEQUAL? MODE9 2 - PHRASE84 (TYPE FIX)>
1528 <SET REG110 'FLOAT (TYPE ATOM)>
1531 <SET REG110 'FIX (TYPE ATOM)>
1533 <CONS REG110 () = REG110>
1534 <CONS '`TYPE REG110 = STACK>
1536 <CALL '
\1aSET-TEMP 3>
1537 <FRAME '
\1aFREE-TEMP>
1540 <CALL '
\1aFREE-TEMP 1>
1541 <FRAME '
\1aLABEL-TAG>
1544 <CALL '
\1aLABEL-TAG 1>
1546 <RESTL TEMP17 1 = TEMP17 (TYPE LIST)>
1549 <FRAME '
\1aDELAY-KILL>
1550 <NTHR 'NO-KILL 2 = TEMP17 (RECORD-TYPE ATOM) (TYPE LBIND)>
1551 <NTHR TEMP17 1 = STACK (RECORD-TYPE LBIND)>
1555 <CALL '
\1aDELAY-KILL 2>
1556 <FRAME '
\1aMOVE-ARG>
1561 <CALL '
\1aMOVE-ARG 2 = TEMP17>
1570 <GFCN
\1aABS-GEN ("VALUE" ANY NODE ANY) N4 W5>
1571 <TEMP (TEMP15 %<>) K16 (TRIN8 %<>) ABSFLG9 RT13 TEMP21>
1573 <NTHUV N4 5 = TEMP15 (TYPE LIST)>
1574 <NTHL TEMP15 1 = K16 (TYPE NODE)>
1576 <NTHUV N4 4 = TEMP15>
1577 <EQUAL? TEMP15 'ABS - TAG16>
1579 <SET ABSFLG9 'T (TYPE ATOM)>
1582 <SET ABSFLG9 %<> (TYPE FALSE)>
1585 <GETS 'BIND = TEMP15 (TYPE LBIND)>
1586 <FRAME '
\1aMAKE-TRANS>
1595 <CALL '
\1aMAKE-TRANS 8 = TEMP21>
1596 <BBIND 'TRANSFORM 'TRANS 'FIX TEMP21>
1601 <GVAL 'POP-STACK = TEMP21>
1602 <EQUAL? TEMP21 W5 - PHRASE25>
1604 <SET TEMP21 'DONT-CARE (TYPE ATOM)>
1611 <CALL '
\1aGEN 2 = K16>
1612 <NTHR 'TRANSFORM 2 = TEMP21 (RECORD-TYPE ATOM) (TYPE LBIND)>
1613 <NTHR TEMP21 1 = TEMP21 (RECORD-TYPE LBIND)>
1614 <NTHUV TEMP21 3 = TEMP21 (TYPE UVECTOR)>
1615 <NTHUU TEMP21 1 = TEMP21 (TYPE FIX)>
1616 <VEQUAL? TEMP21 0 + PHRASE28 (TYPE FIX)>
1618 <FRAME '
\1aMOVE-ARG>
1623 <CALL '
\1aMOVE-ARG 2 = TEMP21>
1630 <GEN-ASSIGNED? 'TRANSFORM - PHRASE35>
1631 <GEN-LVAL 'TRANSFORM = TEMP15>
1632 <NTHUV TEMP15 1 = TEMP15 (TYPE NODE)>
1633 <NTHUV N4 2 = TEMP21>
1635 <EQUAL? TEMP15 TEMP21 - PHRASE35>
1636 <DEAD TEMP15 TEMP21>
1637 <VEQUAL? ABSFLG9 0 - PHRASE35>
1638 <GEN-LVAL 'TRANSFORM = TEMP21>
1639 <NTHUV TEMP21 2 = TRIN8 (TYPE UVECTOR)>
1642 <VEQUAL? TRIN8 0 + PHRASE44>
1643 <NTHUU TRIN8 1 = TEMP21 (TYPE FIX)>
1645 <VEQUAL? TEMP21 0 + PHRASE44 (TYPE FIX)>
1647 <GEN-LVAL 'TRANSFORM = TEMP21>
1648 <NTHUV TEMP21 3 = TEMP21 (TYPE UVECTOR)>
1651 <FRAME '
\1aMOVE-ARG>
1656 <CALL '
\1aMOVE-ARG 2 = TEMP21>
1659 <VEQUAL? ABSFLG9 0 + PHRASE53>
1661 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE55>
1662 <FRAME '
\1aUSE-TEMP>
1666 <CALL '
\1aUSE-TEMP 2>
1669 <TYPE? K16 <TYPE-CODE TEMP> - PHRASE57>
1670 <NTHUV K16 2 = TEMP15 (TYPE FIX)>
1671 <GRTR? TEMP15 1 + PHRASE57 (TYPE FIX)>
1676 <FRAME '
\1aGEN-TEMP>
1678 <CALL '
\1aGEN-TEMP 1 = TEMP15>
1680 <EQUAL? K16 TEMP15 + PHRASE64>
1681 <FRAME '
\1aDEALLOCATE-TEMP>
1682 <FRAME '
\1aMOVE-ARG>
1686 <CALL '
\1aMOVE-ARG 2 = K16>
1688 <CALL '
\1aDEALLOCATE-TEMP 1>
1690 <FRAME '
\1aDO-LESS?>
1692 <FRAME '
\1aMAKE-TAG>
1693 <CALL '
\1aMAKE-TAG 0 = TRIN8>
1696 <CALL '
\1aDO-LESS? 3>
1704 <FRAME '
\1aLABEL-TAG>
1707 <CALL '
\1aLABEL-TAG 1>
1708 <FRAME '
\1aMOVE-ARG>
1713 <CALL '
\1aMOVE-ARG 2 = W5>
1716 <EQUAL? W5 'DONT-CARE - PHRASE74>
1717 <TYPE? K16 <TYPE-CODE TEMP> - PHRASE74>
1718 <NTHUV K16 2 = TEMP15 (TYPE FIX)>
1719 <GRTR? TEMP15 1 + PHRASE74 (TYPE FIX)>
1724 <EQUAL? W5 'DONT-CARE - PHRASE78>
1725 <FRAME '
\1aGEN-TEMP>
1727 <CALL '
\1aGEN-TEMP 1 = W5>
1735 <EQUAL? W5 K16 + PHRASE82>
1736 <FRAME '
\1aFREE-TEMP>
1739 <CALL '
\1aFREE-TEMP 1>
1749 <GFCN
\1aDO-SUB ("VALUE" <OR ATOM <LIST ANY>> ANY ANY ANY) NUM4 W5 TY6>
1750 <TEMP TEMP12 TG28:ATOM>
1754 <CALL '
\1aISTYPE? 1 = TEMP12>
1755 <VEQUAL? TEMP12 'FIX - PHRASE10>
1766 <CALL '
\1aIEMIT 6 = TEMP12>
1772 <CALL '
\1aISTYPE? 1 = TEMP12>
1773 <VEQUAL? TEMP12 'FLOAT - PHRASE14>
1783 <PUSH (`TYPE FLOAT)>
1784 <CALL '
\1aIEMIT 6 = TEMP12>
1788 <FRAME '
\1aMAKE-TAG>
1789 <CALL '
\1aMAKE-TAG 0 = TEMP12>
1790 <FRAME '
\1aMAKE-TAG>
1791 <CALL '
\1aMAKE-TAG 0 = TG28>
1792 <FRAME '
\1aGEN-TYPE?>
1797 <CALL '
\1aGEN-TYPE? 4>
1806 <FRAME '
\1aBRANCH-TAG>
1808 <CALL '
\1aBRANCH-TAG 1>
1809 <FRAME '
\1aLABEL-TAG>
1812 <CALL '
\1aLABEL-TAG 1>
1813 <FRAME '
\1aTYPE-OK?>
1816 <PUSH <NOT <OR FIX FLOAT>>>
1817 <CALL '
\1aTYPE-OK? 2 = TEMP12>
1818 <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE26>
1820 <FRAME '
\1aGEN-TYPE?>
1825 <CALL '
\1aGEN-TYPE? 4>
1835 <PUSH (`TYPE FLOAT)>
1837 <FRAME '
\1aLABEL-TAG>
1840 <CALL '
\1aLABEL-TAG 1 = TEMP12>
1846 <GFCN
\1aDO-LESS? ("VALUE" <OR ATOM <LIST ANY>> ANY ANY ANY) NUM4 TG5 TY6>
1847 <TEMP TEMP12 TG28:ATOM>
1851 <CALL '
\1aISTYPE? 1 = TEMP12>
1852 <VEQUAL? TEMP12 'FIX - PHRASE10>
1863 <CALL '
\1aIEMIT 6 = TEMP12>
1869 <CALL '
\1aISTYPE? 1 = TEMP12>
1870 <VEQUAL? TEMP12 'FLOAT - PHRASE14>
1880 <PUSH (`TYPE FLOAT)>
1881 <CALL '
\1aIEMIT 6 = TEMP12>
1885 <FRAME '
\1aMAKE-TAG>
1886 <CALL '
\1aMAKE-TAG 0 = TEMP12>
1887 <FRAME '
\1aMAKE-TAG>
1888 <CALL '
\1aMAKE-TAG 0 = TG28>
1889 <FRAME '
\1aGEN-TYPE?>
1894 <CALL '
\1aGEN-TYPE? 4>
1903 <FRAME '
\1aBRANCH-TAG>
1905 <CALL '
\1aBRANCH-TAG 1>
1906 <FRAME '
\1aLABEL-TAG>
1909 <CALL '
\1aLABEL-TAG 1>
1910 <GEN-LVAL 'CAREFUL = TEMP12>
1911 <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE26>
1913 <FRAME '
\1aTYPE-OK?>
1916 <PUSH <NOT <OR FIX FLOAT>>>
1917 <CALL '
\1aTYPE-OK? 2 = TEMP12>
1918 <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE26>
1920 <FRAME '
\1aGEN-TYPE?>
1925 <CALL '
\1aGEN-TYPE? 4>
1935 <PUSH (`TYPE FLOAT)>
1937 <FRAME '
\1aLABEL-TAG>
1940 <CALL '
\1aLABEL-TAG 1 = TEMP12>
1946 <GFCN
\1aMOD-GEN ("VALUE" ANY NODE ANY) N4 W5>
1947 <TEMP TEMP10 N16:NODE N27:NODE TEMP31 TEMP32>
1949 <NTHUV N4 5 = TEMP10 (TYPE LIST)>
1950 <NTHL TEMP10 1 = N16 (TYPE NODE)>
1952 <NTHUV N4 5 = TEMP10 (TYPE LIST)>
1954 <RESTL TEMP10 1 = TEMP10 (TYPE LIST)>
1955 <NTHL TEMP10 1 = N27 (TYPE NODE)>
1957 <NTHUV N27 1 = TEMP10 (TYPE FIX)>
1958 <VEQUAL? TEMP10 2 - PHRASE12 (TYPE FIX)>
1961 <NTHUV N27 4 = STACK (TYPE FIX)>
1962 <CALL '
\1aPOPWR2 1 = TEMP10>
1963 <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE12>
1965 <FRAME '
\1aFREE-TEMP>
1970 <CALL '
\1aGEN 2 = TEMP10>
1972 <CALL '
\1aFREE-TEMP 1>
1977 <NTHUV N27 4 = TEMP10>
1979 <SUB TEMP10 1 = STACK (TYPE FIX)>
1982 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE19>
1983 <FRAME '
\1aUSE-TEMP>
1986 <CALL '
\1aUSE-TEMP 2>
1990 <EQUAL? W5 'DONT-CARE - PHRASE21>
1991 <FRAME '
\1aGEN-TEMP>
1993 <CALL '
\1aGEN-TEMP 1 = W5>
2005 <NTHUV N16 1 = TEMP10 (TYPE FIX)>
2006 <GVAL 'SNODES = TEMP31>
2007 <EMPUU? TEMP31 + PHRASE26>
2008 <LOOP (TEMP10 VALUE) (TEMP31 LENGTH VALUE)>
2010 <NTHUU TEMP31 1 = TEMP32>
2011 <VEQUAL? TEMP32 TEMP10 + TAG28>
2013 <RESTUU TEMP31 1 = TEMP31 (TYPE UVECTOR)>
2014 <EMPUU? TEMP31 - TAG29>
2017 <NTHUV N27 1 = TEMP31 (TYPE FIX)>
2018 <GVAL 'SNODES = TEMP10>
2019 <EMPUU? TEMP10 + TAG33>
2020 <LOOP (TEMP31 VALUE) (TEMP10 LENGTH VALUE)>
2022 <NTHUU TEMP10 1 = TEMP32>
2023 <VEQUAL? TEMP32 TEMP31 + PHRASE26>
2025 <RESTUU TEMP10 1 = TEMP10 (TYPE UVECTOR)>
2026 <EMPUU? TEMP10 - TAG34>
2028 <NTHUV N27 8 = TEMP10>
2029 <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE26>
2035 <CALL '
\1aGEN 2 = TEMP31>
2036 <FRAME '
\1aINTERF-CHANGE>
2040 <CALL '
\1aINTERF-CHANGE 2 = TEMP31>
2045 <CALL '
\1aGEN 2 = TEMP10>
2052 <CALL '
\1aGEN 2 = TEMP10>
2053 <FRAME '
\1aINTERF-CHANGE>
2057 <CALL '
\1aINTERF-CHANGE 2 = TEMP10>
2062 <CALL '
\1aGEN 2 = TEMP31>
2064 <FRAME '
\1aFREE-TEMP>
2067 <CALL '
\1aFREE-TEMP 2>
2068 <FRAME '
\1aFREE-TEMP>
2071 <CALL '
\1aFREE-TEMP 2>
2072 <EQUAL? W5 'DONT-CARE - PHRASE46>
2073 <FRAME '
\1aGEN-TEMP>
2075 <CALL '
\1aGEN-TEMP 1 = W5>
2078 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE48>
2079 <FRAME '
\1aUSE-TEMP>
2082 <CALL '
\1aUSE-TEMP 2>
2099 <GFCN
\1aROT-GEN ("VALUE" ANY ANY ANY) N4 W5>
2102 <FRAME '
\1aROT-LSH-GEN>
2108 <CALL '
\1aROT-LSH-GEN 3 = TEMP7>
2114 <GFCN
\1aLSH-GEN ("VALUE" ANY ANY ANY) N4 W5>
2117 <FRAME '
\1aROT-LSH-GEN>
2123 <CALL '
\1aROT-LSH-GEN 3 = TEMP7>
2129 <GFCN
\1aROT-LSH-GEN ("VALUE" ANY NODE ANY ANY) N4 W5 INS6>
2130 <TEMP K7 A18:NODE A29:NODE TEMP30 TEMP31>
2132 <NTHUV N4 5 = K7 (TYPE LIST)>
2134 <NTHL K7 1 = A18 (TYPE NODE)>
2135 <RESTL K7 1 = K7 (TYPE LIST)>
2136 <NTHL K7 1 = A29 (TYPE NODE)>
2138 <NTHUV A29 1 = K7 (TYPE FIX)>
2139 <VEQUAL? K7 2 - PHRASE14 (TYPE FIX)>
2145 <CALL '
\1aGEN 2 = K7>
2146 <FRAME '
\1aFREE-TEMP>
2149 <CALL '
\1aFREE-TEMP 2>
2150 <EQUAL? W5 'DONT-CARE - PHRASE18>
2151 <FRAME '
\1aGEN-TEMP>
2153 <CALL '
\1aGEN-TEMP 1 = W5>
2156 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE20>
2157 <FRAME '
\1aUSE-TEMP>
2160 <CALL '
\1aUSE-TEMP 2>
2167 <NTHUV A29 4 = STACK>
2176 <NTHUV A18 1 = K7 (TYPE FIX)>
2177 <GVAL 'SNODES = TEMP30>
2178 <EMPUU? TEMP30 + PHRASE25>
2179 <LOOP (K7 VALUE) (TEMP30 LENGTH VALUE)>
2181 <NTHUU TEMP30 1 = TEMP31>
2182 <VEQUAL? TEMP31 K7 + TAG27>
2184 <RESTUU TEMP30 1 = TEMP30 (TYPE UVECTOR)>
2185 <EMPUU? TEMP30 - TAG28>
2188 <NTHUV A29 1 = TEMP30 (TYPE FIX)>
2191 <LOOP (TEMP30 VALUE) (K7 LENGTH VALUE)>
2193 <NTHUU K7 1 = TEMP31>
2194 <VEQUAL? TEMP31 TEMP30 + PHRASE25>
2196 <RESTUU K7 1 = K7 (TYPE UVECTOR)>
2200 <TYPE? K7 <TYPE-CODE FALSE> - PHRASE25>
2206 <CALL '
\1aGEN 2 = TEMP30>
2207 <FRAME '
\1aINTERF-CHANGE>
2211 <CALL '
\1aINTERF-CHANGE 2 = TEMP30>
2216 <CALL '
\1aGEN 2 = K7>
2223 <CALL '
\1aGEN 2 = K7>
2224 <FRAME '
\1aINTERF-CHANGE>
2228 <CALL '
\1aINTERF-CHANGE 2 = K7>
2233 <CALL '
\1aGEN 2 = TEMP30>
2235 <FRAME '
\1aFREE-TEMP>
2238 <CALL '
\1aFREE-TEMP 2>
2239 <FRAME '
\1aFREE-TEMP>
2242 <CALL '
\1aFREE-TEMP 2>
2243 <EQUAL? W5 'DONT-CARE - PHRASE45>
2244 <FRAME '
\1aGEN-TEMP>
2246 <CALL '
\1aGEN-TEMP 1 = W5>
2249 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE47>
2250 <FRAME '
\1aUSE-TEMP>
2253 <CALL '
\1aUSE-TEMP 2>
2268 <END
\1aROT-LSH-GEN>
2271 <GFCN
\1aFLOAT-GEN ("VALUE" ANY NODE ANY) N4 W5>
2274 <NTHUV N4 5 = TEMP11 (TYPE LIST)>
2275 <NTHL TEMP11 1 = NUM6 (TYPE NODE)>
2277 <NTHUV NUM6 3 = TEMP11>
2278 <EQUAL? TEMP11 'FLOAT - PHRASE13>
2279 <FRAME '
\1aCOMPILE-WARNING>
2280 <PUSH "Unnecessary FLOAT: ">
2283 <CALL '
\1aCOMPILE-WARNING 2>
2289 <CALL '
\1aGEN 2 = TEMP11>
2296 <CALL '
\1aISTYPE? 1 = TEMP11>
2297 <VEQUAL? TEMP11 'FIX - PHRASE16>
2302 <CALL '
\1aGEN 1 = TEMP11>
2303 <FRAME '
\1aFREE-TEMP>
2306 <CALL '
\1aFREE-TEMP 2>
2307 <EQUAL? W5 'DONT-CARE - PHRASE22>
2308 <FRAME '
\1aGEN-TEMP>
2310 <CALL '
\1aGEN-TEMP 1 = W5>
2313 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE24>
2314 <FRAME '
\1aUSE-TEMP>
2317 <CALL '
\1aUSE-TEMP 2>
2319 <FRAME '
\1aGEN-FLOAT>
2323 <CALL '
\1aGEN-FLOAT 2>
2327 <TYPE? W5 <TYPE-CODE TEMP> - BOOL30>
2328 <NTHUV W5 5 = TEMP11>
2329 <TYPE? TEMP11 <TYPE-CODE FALSE> + BOOL30>
2331 <NTHUV W5 5 = TEMP11>
2332 <EQUAL? TEMP11 'ANY + PHRASE29>
2335 <FRAME '
\1aGEN-TEMP>
2337 <CALL '
\1aGEN-TEMP 1 = TEMP11>
2347 <CALL '
\1aGEN 2 = TEMP11>
2348 <FRAME '
\1aMAKE-TAG>
2349 <CALL '
\1aMAKE-TAG 0 = NUM6>
2350 <FRAME '
\1aGEN-TYPE?>
2355 <CALL '
\1aGEN-TYPE? 4>
2356 <FRAME '
\1aGEN-FLOAT>
2359 <CALL '
\1aGEN-FLOAT 2>
2360 <FRAME '
\1aLABEL-TAG>
2363 <CALL '
\1aLABEL-TAG 1>
2364 <EQUAL? TEMP11 W5 + PHRASE39>
2365 <FRAME '
\1aMOVE-ARG>
2370 <CALL '
\1aMOVE-ARG 2 = TEMP11>
2379 <GFCN
\1aFIX-GEN ("VALUE" ANY NODE ANY) N4 W5>
2380 <TEMP TEMP11 NUM6 RT7>
2382 <NTHUV N4 5 = TEMP11 (TYPE LIST)>
2383 <NTHL TEMP11 1 = NUM6 (TYPE NODE)>
2385 <NTHUV NUM6 3 = RT7>
2388 <CALL '
\1aISTYPE? 1 = TEMP11>
2389 <VEQUAL? TEMP11 'FIX - PHRASE13>
2391 <FRAME '
\1aCOMPILE-WARNING>
2392 <PUSH "Unnecessary FIX: ">
2395 <CALL '
\1aCOMPILE-WARNING 2>
2401 <CALL '
\1aGEN 2 = TEMP11>
2405 <EQUAL? RT7 'FLOAT - PHRASE17>
2410 <CALL '
\1aGEN 1 = TEMP11>
2411 <FRAME '
\1aFREE-TEMP>
2414 <CALL '
\1aFREE-TEMP 2>
2415 <EQUAL? W5 'DONT-CARE - PHRASE21>
2416 <FRAME '
\1aGEN-TEMP>
2418 <CALL '
\1aGEN-TEMP 1 = W5>
2421 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE23>
2422 <FRAME '
\1aUSE-TEMP>
2425 <CALL '
\1aUSE-TEMP 2>
2431 <CALL '
\1aGEN-FIX 2>
2435 <TYPE? W5 <TYPE-CODE TEMP> - BOOL29>
2436 <NTHUV W5 5 = TEMP11>
2437 <TYPE? TEMP11 <TYPE-CODE FALSE> + BOOL29>
2439 <NTHUV W5 5 = TEMP11>
2440 <EQUAL? TEMP11 'ANY + PHRASE28>
2443 <FRAME '
\1aGEN-TEMP>
2445 <CALL '
\1aGEN-TEMP 1 = TEMP11>
2455 <CALL '
\1aGEN 2 = TEMP11>
2456 <FRAME '
\1aGEN-TYPE?>
2459 <FRAME '
\1aMAKE-TAG>
2460 <CALL '
\1aMAKE-TAG 0 = NUM6>
2463 <CALL '
\1aGEN-TYPE? 4>
2467 <CALL '
\1aGEN-FIX 2>
2468 <FRAME '
\1aLABEL-TAG>
2471 <CALL '
\1aLABEL-TAG 1>
2472 <EQUAL? TEMP11 W5 + PHRASE39>
2473 <FRAME '
\1aMOVE-ARG>
2478 <CALL '
\1aMOVE-ARG 2 = TEMP11>
2487 <GFCN
\1aGEN-FLOAT ("VALUE" ANY ANY ANY) DAT4 W5>
2490 <TYPE? DAT4 <TYPE-CODE FIX> - PHRASE7>
2491 <FLOAT DAT4 = TEMP8 (TYPE FLOAT)>
2502 <PUSH (`TYPE FLOAT)>
2509 <GFCN
\1aGEN-FIX ("VALUE" ANY ANY "OPTIONAL" ANY) DAT6 W7>
2510 <OPT-DISPATCH 1 %<> OPT4 OPT5>
2516 <TYPE? W7 <TYPE-CODE UNBOUND> - TAG8>
2517 <FRAME '
\1aGEN-TEMP>
2519 <CALL '
\1aGEN-TEMP 1 = W7>
2521 <TYPE? DAT6 <TYPE-CODE FLOAT> - PHRASE12>
2522 <FIX DAT6 = TEMP13 (TYPE FIX)>
2540 <GFCN
\1aFLOP ("VALUE" ATOM ATOM) SUBR4>
2543 <SET TEMP9 [G? L? G? G=? L=? G=? ==? ==? N==? N==? 1? -1? 1? 0? 0?] (TYPE VECTOR)>
2544 <LOOP (SUBR4 VALUE) (TEMP9 LENGTH VALUE)>
2546 <NTHUV TEMP9 1 = TEMP10>
2547 <VEQUAL? TEMP10 SUBR4 + TAG6>
2549 <RESTUV TEMP9 1 = TEMP9 (TYPE VECTOR)>
2550 <EMPUV? TEMP9 - TAG7>
2551 <SET TEMP9 %<> (TYPE FALSE)>
2553 <RESTUV TEMP9 1 = TEMP9 (TYPE VECTOR)>
2554 <NTHUV TEMP9 1 = TEMP9 (TYPE ATOM)>
2560 <GFCN
\1aFLIP ("VALUE" ATOM ATOM) SUBR4>
2561 <TEMP TEMP6:VECTOR N5 TEMP13>
2563 <GVAL '0SUBRS = TEMP6>
2566 <LOOP (SUBR4 VALUE) (N5 LENGTH VALUE)>
2568 <NTHUV N5 1 = TEMP13>
2569 <VEQUAL? TEMP13 SUBR4 + TAG9>
2571 <RESTUV N5 1 = N5 (TYPE VECTOR)>
2574 <SET N5 %<> (TYPE FALSE)>
2576 <LENUV N5 = N5 (TYPE FIX)>
2577 <SUB 13 N5 = TEMP13 (TYPE FIX)>
2579 <VEQUAL? N5 0 - PHRASE15 (TYPE FIX)>
2581 <SET N5 -1 (TYPE FIX)>
2584 <SET N5 1 (TYPE FIX)>
2586 <SUB TEMP13 N5 = TEMP13 (TYPE FIX)>
2588 <NTHUV TEMP6 TEMP13 = TEMP13 (TYPE ATOM)>
2595 <GFCN
\1aPRED? ("VALUE" <OR ATOM !<FALSE>> FIX) N4>
2598 <GVAL 'PREDV = TEMP6>
2599 <NTHUU TEMP6 N4 = TEMP6 (TYPE FIX)>
2601 <VEQUAL? TEMP6 0 + TAG7 (TYPE FIX)>
2609 <GFCN
\1aLN-LST ("VALUE" <OR ATOM FALSE> NODE) N4>
2612 <NTHUV N4 1 = TEMP7 (TYPE FIX)>
2613 <VEQUAL? TEMP7 25 + TAG8 (TYPE FIX)>
2617 <FRAME '
\1aSTRUCTYP>
2618 <NTHUV N4 5 = TEMP7 (TYPE LIST)>
2620 <NTHL TEMP7 1 = TEMP7 (TYPE NODE)>
2621 <NTHUV TEMP7 3 = STACK>
2623 <CALL '
\1aSTRUCTYP 1 = TEMP7>
2624 <EQUAL? TEMP7 'LIST - TAG9>
2632 <GFCN
\1a0-TEST ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY ANY) NOD9 WHERE10 NOTF11 BRANCH12 DIR13 SETF14>
2633 <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
2643 <TEMP REG15 TEMP18 NN16:NODE TEMP3:LBIND>
2645 <GVAL 'NO-DATUM = REG15>
2646 <NTHUV NOD9 5 = TEMP18 (TYPE LIST)>
2647 <NTHL TEMP18 1 = NN16 (TYPE NODE)>
2649 <GETS 'BIND = TEMP3 (TYPE LBIND)>
2650 <FRAME '
\1aMAKE-TRANS>
2659 <NTHUV NOD9 4 = STACK (TYPE ATOM)>
2660 <CALL '
\1aSW? 1 = STACK>
2661 <CALL '
\1aMAKE-TRANS 8 = TEMP18>
2662 <BBIND 'TRANSFORM 'TRANS 'FIX TEMP18>
2666 <CALL '
\1aLN-LST 1 = TEMP18>
2667 <TYPE? TEMP18 <TYPE-CODE FALSE> - PHRASE22>
2673 <CALL '
\1aGEN 2 = REG15>
2675 <FRAME '
\1aTEST-DISP>
2688 <FRAME '
\1aDO-A-TRANS>
2690 <NTHR 'TRANSFORM 2 = TEMP18 (RECORD-TYPE ATOM) (TYPE LBIND)>
2691 <NTHR TEMP18 1 = STACK (RECORD-TYPE LBIND)>
2693 <CALL '
\1aDO-A-TRANS 2 = STACK>
2694 <NTHR 'TRANSFORM 2 = TEMP18 (RECORD-TYPE ATOM) (TYPE LBIND)>
2695 <NTHR TEMP18 1 = TEMP18 (RECORD-TYPE LBIND)>
2696 <NTHUV TEMP18 3 = TEMP18 (TYPE UVECTOR)>
2697 <NTHUU TEMP18 1 = TEMP18 (TYPE FIX)>
2698 <VEQUAL? TEMP18 0 - TAG29 (TYPE FIX)>
2700 <SET TEMP18 %<> (TYPE FALSE)>
2703 <SET TEMP18 'T (TYPE ATOM)>
2709 <CALL '
\1aTEST-DISP 9 = TEMP18>
2718 <GFCN
\1aSW? ("VALUE" FIX ATOM) SBR4>
2719 <TEMP TEMP10 TEMP11>
2721 <SET TEMP10 [0? N0? 1? -1? N1? N-1? ==? N==?] (TYPE VECTOR)>
2722 <LOOP (SBR4 VALUE) (TEMP10 LENGTH VALUE)>
2724 <NTHUV TEMP10 1 = TEMP11>
2725 <VEQUAL? TEMP11 SBR4 + TAG7>
2727 <RESTUV TEMP10 1 = TEMP10 (TYPE VECTOR)>
2728 <EMPUV? TEMP10 - TAG8>
2737 <GFCN
\1aMAKE-TRANS ("VALUE" TRANS NODE FIX FIX FIX FIX FIX FIX FIX) N4 NEG5 +-6 +-V7 */8 */V9 HW10 SW11>
2738 <TEMP TEMP14 TEMP15>
2756 <UBLOCK <TYPE-CODE UVECTOR> 7 = STACK (TYPE UVECTOR)>
2757 <UUBLOCK <TYPE-CODE UVECTOR> 7 = TEMP14>
2759 <LOOP (TEMP15 VALUE LENGTH)>
2761 <EMPUU? TEMP15 + ISTRE17>
2763 <RESTUU TEMP15 1 = TEMP15>
2768 <UBLOCK <TYPE-CODE VECTOR> 3 = TEMP14>
2769 <CHTYPE TEMP14 <TYPE-CODE TRANS> = TEMP14>
2775 <GFCN
\1aDO-A-TRANS ("VALUE" FIX FIX TRANS) N4 TR5>
2776 <TEMP X6:UVECTOR TEMP8 NN7>
2778 <NTHUV TR5 3 = X6 (TYPE UVECTOR)>
2779 <NTHUV TR5 1 = TEMP8 (TYPE NODE)>
2781 <NTHUV TEMP8 4 = NN7>
2783 <VEQUAL? N4 0 + PHRASE20 (TYPE FIX)>
2784 <NTHUU X6 6 = TEMP8 (TYPE FIX)>
2785 <VEQUAL? TEMP8 0 + PHRASE20 (TYPE FIX)>
2787 <NTHUU X6 7 = TEMP8 (TYPE FIX)>
2788 <VEQUAL? TEMP8 0 + PHRASE20 (TYPE FIX)>
2790 <EQUAL? NN7 'G? - PHRASE19>
2791 <SUB N4 1 = N4 (TYPE FIX)>
2794 <EQUAL? NN7 'L=? - PHRASE20>
2796 <SUB N4 1 = N4 (TYPE FIX)>
2798 <NTHUU X6 1 = TEMP8 (TYPE FIX)>
2799 <VEQUAL? TEMP8 0 + PHRASE22 (TYPE FIX)>
2801 <SUB 0 N4 = N4 (TYPE FIX)>
2803 <NTHUU X6 2 = TEMP8 (TYPE FIX)>
2804 <VEQUAL? TEMP8 0 + PHRASE26 (TYPE FIX)>
2806 <NTHUU X6 3 = TEMP8 (TYPE FIX)>
2807 <ADD TEMP8 N4 = N4 (TYPE FIX)>
2810 <NTHUU X6 4 = TEMP8 (TYPE FIX)>
2811 <GRTR? TEMP8 2 - PHRASE30 (TYPE FIX)>
2813 <NTHUU X6 5 = TEMP8 (TYPE FIX)>
2814 <DIV N4 TEMP8 = N4 (TYPE FIX)>
2818 <NTHUU X6 4 = TEMP8 (TYPE FIX)>
2819 <VEQUAL? TEMP8 0 + PHRASE31 (TYPE FIX)>
2821 <NTHUU X6 5 = TEMP8 (TYPE FIX)>
2822 <MUL TEMP8 N4 = N4 (TYPE FIX)>
2825 <NTHUU X6 6 = TEMP8 (TYPE FIX)>
2826 <VEQUAL? TEMP8 0 + PHRASE39 (TYPE FIX)>
2828 <AND N4 #WORD *777777* = N4>
2829 <NTHUU X6 7 = TEMP8 (TYPE FIX)>
2831 <VEQUAL? TEMP8 0 + PHRASE39 (TYPE FIX)>
2833 <PUTBITS 0 18 18 N4 = N4>
2840 <GFCN
\1aUPDATE-TRANS ("VALUE" TRANS ANY TRANS) NOD4 TR5>
2841 <TEMP X6:UVECTOR TEMP11 FLG7>
2843 <NTHUV TR5 3 = X6 (TYPE UVECTOR)>
2845 <FRAME '
\1aMAKE-TRANS>
2848 <NTHUU X6 1 = TEMP11 (TYPE FIX)>
2849 <VEQUAL? TEMP11 0 + PHRASE10 (TYPE FIX)>
2851 <SET TEMP11 2 (TYPE FIX)>
2854 <SET TEMP11 0 (TYPE FIX)>
2858 <NTHUU X6 2 = TEMP11 (TYPE FIX)>
2859 <SET FLG7 'T (TYPE ATOM)>
2860 <VEQUAL? TEMP11 0 - TAG17 (TYPE FIX)>
2862 <SET FLG7 %<> (TYPE FALSE)>
2865 <SET TEMP11 2 (TYPE FIX)>
2868 <SET TEMP11 0 (TYPE FIX)>
2872 <VEQUAL? FLG7 0 + PHRASE22>
2874 <NTHUU X6 3 = TEMP11 (TYPE FIX)>
2877 <SET TEMP11 0 (TYPE FIX)>
2881 <NTHUU X6 4 = TEMP11 (TYPE FIX)>
2882 <SET FLG7 'T (TYPE ATOM)>
2883 <GRTR? TEMP11 2 - PHRASE25 (TYPE FIX)>
2885 <SET TEMP11 4 (TYPE FIX)>
2888 <NTHUU X6 4 = TEMP11 (TYPE FIX)>
2889 <SET FLG7 'T (TYPE ATOM)>
2890 <VEQUAL? TEMP11 0 - TAG29 (TYPE FIX)>
2892 <SET FLG7 %<> (TYPE FALSE)>
2895 <SET TEMP11 2 (TYPE FIX)>
2898 <SET TEMP11 0 (TYPE FIX)>
2902 <VEQUAL? FLG7 0 + PHRASE34>
2904 <NTHUU X6 5 = TEMP11 (TYPE FIX)>
2907 <SET TEMP11 1 (TYPE FIX)>
2911 <NTHUU X6 6 = TEMP11 (TYPE FIX)>
2912 <VEQUAL? TEMP11 0 + PHRASE37 (TYPE FIX)>
2914 <SET TEMP11 2 (TYPE FIX)>
2917 <SET TEMP11 0 (TYPE FIX)>
2921 <NTHUU X6 7 = TEMP11 (TYPE FIX)>
2923 <VEQUAL? TEMP11 0 + PHRASE42 (TYPE FIX)>
2925 <SET TEMP11 2 (TYPE FIX)>
2928 <SET TEMP11 0 (TYPE FIX)>
2932 <CALL '
\1aMAKE-TRANS 8 = TEMP11>
2935 <END
\1aUPDATE-TRANS>
2938 <GFCN
\1aTEST-DISP ("VALUE" ANY NODE ANY ANY ANY ANY ANY <OR FIX FLOAT> ANY ANY) N4 W5 NF6 BR7 DI8 REG9 NUM10 NEG11 SF12>
2941 <GVAL 'NO-DATUM = TEMP15>
2942 <EQUAL? TEMP15 REG9 - PHRASE14>
2944 <FRAME '
\1aLIST-LNT-SPEC>
2959 <CALL '
\1aLIST-LNT-SPEC 7 = TEMP15>
2963 <VEQUAL? NUM10 0 - PHRASE17 (TYPE FIX)>
2981 <CALL '
\1a0-TEST1 8 = TEMP15>
2985 <EQUAL? NUM10 1 + BOOL23>
2986 <EQUAL? NUM10 1.0 + BOOL23>
2987 <EQUAL? NUM10 -1 - PHRASE21>
2989 <NTHUV N4 4 = TEMP15>
2990 <EQUAL? TEMP15 '1? + BOOL24>
2993 <NTHUV N4 5 = TEMP15 (TYPE LIST)>
2994 <NTHL TEMP15 1 = TEMP15 (TYPE NODE)>
2995 <NTHUV TEMP15 3 = STACK>
2997 <CALL '
\1aISTYPE? 1 = TEMP15>
2998 <VEQUAL? TEMP15 'FIX - PHRASE21>
3001 <EQUAL? NUM10 -1 - PHRASE28>
3003 <SET NEG11 'T (TYPE ATOM)>
3022 <CALL '
\1a1?-TEST 8 = TEMP15>
3026 <FRAME '
\1aTEST-GEN2>
3045 <CALL '
\1aTEST-GEN2 9 = TEMP15>
3051 <GFCN
\1a0-TEST1 ("VALUE" ANY NODE ANY ANY ANY ANY ANY ANY ANY) NOD4 WHERE5 NOTF6 BRANCH7 DIR8 REG9 NEG10 SF11>
3052 <TEMP (SBR12 %<>) RW14 TEMP21 SDIR16 ATYP17 TT20>
3054 <NTHUV NOD4 4 = SBR12>
3056 <NTHUV NOD4 5 = TEMP21 (TYPE LIST)>
3057 <NTHL TEMP21 1 = TEMP21 (TYPE NODE)>
3060 <NTHUV TEMP21 3 = STACK>
3062 <CALL '
\1aISTYPE? 1 = ATYP17>
3063 <EQUAL? WHERE5 'DONT-CARE - PHRASE24>
3064 <FRAME '
\1aGEN-TEMP>
3066 <CALL '
\1aGEN-TEMP 1 = WHERE5>
3068 <TYPE? NEG10 <TYPE-CODE FALSE> + PHRASE34>
3070 <NTHUV NOD4 1 = TEMP21 (TYPE FIX)>
3072 <VEQUAL? TEMP21 19 - PHRASE30 (TYPE FIX)>
3077 <CALL '
\1aFLOP 1 = SBR12>
3080 <SET TT20 [G? G=? G? L? L=? L?] (TYPE VECTOR)>
3081 <TYPE? SBR12 <TYPE-CODE ATOM> - PHRASE34>
3082 <LOOP (SBR12 VALUE) (TT20 LENGTH VALUE)>
3084 <NTHUV TT20 1 = TEMP21>
3085 <VEQUAL? TEMP21 SBR12 + TAG36>
3087 <RESTUV TT20 1 = TT20 (TYPE VECTOR)>
3088 <EMPUV? TT20 - TAG37>
3091 <NTHUV TT20 2 = SBR12 (TYPE ATOM)>
3094 <TYPE? BRANCH7 <TYPE-CODE FALSE> + PHRASE40>
3095 <TYPE? NOTF6 <TYPE-CODE FALSE> + TAG43>
3097 <TYPE? DIR8 <TYPE-CODE FALSE> - TAG42>
3099 <SET DIR8 'T (TYPE ATOM)>
3102 <SET DIR8 %<> (TYPE FALSE)>
3104 <TYPE? DIR8 <TYPE-CODE FALSE> + BOOL44>
3109 <CALL '
\1aFLIP 1 = SBR12>
3111 <TYPE? SF11 <TYPE-CODE FALSE> + PHRASE47>
3113 <FRAME '
\1aDEALLOCATE-TEMP>
3114 <FRAME '
\1aMOVE-ARG>
3115 <FRAME '
\1aREFERENCE>
3116 <TYPE? SDIR16 <TYPE-CODE FALSE> - TAG51>
3117 <SET TEMP21 'T (TYPE ATOM)>
3120 <SET TEMP21 %<> (TYPE FALSE)>
3124 <CALL '
\1aREFERENCE 1 = STACK>
3127 <CALL '
\1aMOVE-ARG 2 = STACK>
3128 <CALL '
\1aDEALLOCATE-TEMP 1>
3130 <EQUAL? RW14 'FLUSHED - PHRASE54>
3140 <CALL '
\1aZER-JMP 4>
3141 <GVAL 'NO-DATUM = TEMP21>
3145 <FRAME '
\1aMAKE-TAG>
3146 <CALL '
\1aMAKE-TAG 0 = TEMP21>
3150 <CALL '
\1aFLIP 1 = SBR12>
3159 <CALL '
\1aZER-JMP 4>
3160 <FRAME '
\1aMOVE-ARG>
3161 <FRAME '
\1aREFERENCE>
3164 <CALL '
\1aREFERENCE 1 = STACK>
3165 <EQUAL? RW14 'DONT-CARE - PHRASE63>
3166 <FRAME '
\1aGEN-TEMP>
3168 <CALL '
\1aGEN-TEMP 1 = RW14>
3172 <CALL '
\1aMOVE-ARG 2 = RW14>
3173 <FRAME '
\1aBRANCH-TAG>
3176 <CALL '
\1aBRANCH-TAG 1>
3177 <FRAME '
\1aLABEL-TAG>
3180 <CALL '
\1aLABEL-TAG 1>
3184 <TYPE? NOTF6 <TYPE-CODE FALSE> + BOOL70>
3189 <CALL '
\1aFLIP 1 = SBR12>
3196 <FRAME '
\1aMAKE-TAG>
3197 <CALL '
\1aMAKE-TAG 0 = BRANCH7>
3201 <CALL '
\1aZER-JMP 4>
3202 <FRAME '
\1aMOVE-ARG>
3203 <FRAME '
\1aREFERENCE>
3205 <CALL '
\1aREFERENCE 1 = STACK>
3207 <CALL '
\1aMOVE-ARG 2>
3208 <FRAME '
\1aBRANCH-TAG>
3209 <FRAME '
\1aMAKE-TAG>
3210 <CALL '
\1aMAKE-TAG 0 = TEMP21>
3212 <CALL '
\1aBRANCH-TAG 1>
3213 <FRAME '
\1aLABEL-TAG>
3216 <CALL '
\1aLABEL-TAG 1>
3217 <FRAME '
\1aMOVE-ARG>
3218 <FRAME '
\1aREFERENCE>
3220 <CALL '
\1aREFERENCE 1 = STACK>
3222 <CALL '
\1aMOVE-ARG 2>
3223 <FRAME '
\1aLABEL-TAG>
3226 <CALL '
\1aLABEL-TAG 1>
3227 <FRAME '
\1aMOVE-ARG>
3232 <CALL '
\1aMOVE-ARG 2 = TEMP21>
3238 <GFCN
\1aZER-JMP ("VALUE" <OR TEMP ANY> ANY ANY ANY ANY) SBR4 REG5 BR6 ATYP7>
3239 <TEMP TEMP15 TEMP16 TEM8:FIX>
3241 <GVAL '0SUBRS = TEMP15>
3242 <TYPE? SBR4 <TYPE-CODE ATOM> - TAG11>
3243 <EMPUV? TEMP15 + TAG11>
3244 <LOOP (SBR4 VALUE) (TEMP15 LENGTH VALUE)>
3246 <NTHUV TEMP15 1 = TEMP16>
3247 <VEQUAL? TEMP16 SBR4 + TAG12>
3249 <RESTUV TEMP15 1 = TEMP15 (TYPE VECTOR)>
3250 <EMPUV? TEMP15 - TAG13>
3252 <SET TEMP15 %<> (TYPE FALSE)>
3254 <LENUV TEMP15 = TEM8 (TYPE FIX)>
3256 <FRAME '
\1aMAKE-TAG>
3257 <CALL '
\1aMAKE-TAG 0>
3258 <FRAME '
\1aMAKE-TAG>
3259 <CALL '
\1aMAKE-TAG 0>
3260 <TYPE? ATYP7 <TYPE-CODE FALSE> + PHRASE20>
3262 <GVAL '0SKPS = TEMP15>
3263 <NTHUV TEMP15 TEM8 = STACK (TYPE ATOM)>
3266 <EQUAL? ATYP7 'FIX - PHRASE23>
3267 <SET TEMP15 0 (TYPE FIX)>
3270 <SET TEMP15 0.0 (TYPE FLOAT)>
3274 <GVAL '0JSENS = TEMP15>
3275 <NTHUV TEMP15 TEM8 = STACK (TYPE ATOM)>
3279 <CONS ATYP7 () = TEMP15>
3281 <CONS '`TYPE TEMP15 = STACK>
3284 <FRAME '
\1aFREE-TEMP>
3287 <CALL '
\1aFREE-TEMP 1 = TEMP15>
3291 <GVAL '0SKPS = TEMP16>
3292 <NTHUV TEMP16 TEM8 = TEMP16 (TYPE ATOM)>
3293 <VEQUAL? TEMP16 '`VEQUAL? - PHRASE26>
3299 <GVAL '0JSENS = TEMP16>
3300 <NTHUV TEMP16 TEM8 = STACK (TYPE ATOM)>
3306 <FRAME '
\1aFREE-TEMP>
3309 <CALL '
\1aFREE-TEMP 1 = TEMP15>
3314 <GVAL '0SKPS = TEMP16>
3315 <NTHUV TEMP16 TEM8 = STACK (TYPE ATOM)>
3319 <GVAL '0JSENS = TEMP16>
3320 <NTHUV TEMP16 TEM8 = STACK (TYPE ATOM)>
3325 <FRAME '
\1aFREE-TEMP>
3328 <CALL '
\1aFREE-TEMP 1 = TEMP15>
3333 <SETG 0SKPS [`VEQUAL? `VEQUAL? `LESS? `LESS? `GRTR? `GRTR? `VEQUAL? `VEQUAL?]>
3335 <SETG 0JSENS [+ - + - + - + -]>
3337 <SETG 0SUBRS [1? N1? -1? N-1? 0? N0? G? L=? L? G=? ==? N==?]>
3340 <GFCN
\1a1?-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY ANY) NOD9 WHERE10 NOTF11 BRANCH12 DIR13 SETF14>
3341 <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
3351 <TEMP REG15 TEMP18 NN16:NODE TEMP3:LBIND>
3353 <GVAL 'NO-DATUM = REG15>
3354 <NTHUV NOD9 5 = TEMP18 (TYPE LIST)>
3355 <NTHL TEMP18 1 = NN16 (TYPE NODE)>
3357 <GETS 'BIND = TEMP3 (TYPE LBIND)>
3358 <FRAME '
\1aMAKE-TRANS>
3367 <NTHUV NOD9 4 = STACK (TYPE ATOM)>
3368 <CALL '
\1aSW? 1 = STACK>
3369 <CALL '
\1aMAKE-TRANS 8 = TEMP18>
3370 <BBIND 'TRANSFORM 'TRANS 'FIX TEMP18>
3374 <CALL '
\1aLN-LST 1 = TEMP18>
3375 <TYPE? TEMP18 <TYPE-CODE FALSE> - PHRASE22>
3381 <CALL '
\1aGEN 2 = REG15>
3383 <FRAME '
\1aTEST-DISP>
3396 <FRAME '
\1aDO-A-TRANS>
3398 <NTHR 'TRANSFORM 2 = TEMP18 (RECORD-TYPE ATOM) (TYPE LBIND)>
3399 <NTHR TEMP18 1 = STACK (RECORD-TYPE LBIND)>
3401 <CALL '
\1aDO-A-TRANS 2 = STACK>
3402 <NTHR 'TRANSFORM 2 = TEMP18 (RECORD-TYPE ATOM) (TYPE LBIND)>
3403 <NTHR TEMP18 1 = TEMP18 (RECORD-TYPE LBIND)>
3404 <NTHUV TEMP18 3 = TEMP18 (TYPE UVECTOR)>
3405 <NTHUU TEMP18 1 = TEMP18 (TYPE FIX)>
3406 <VEQUAL? TEMP18 0 - TAG29 (TYPE FIX)>
3408 <SET TEMP18 %<> (TYPE FALSE)>
3411 <SET TEMP18 'T (TYPE ATOM)>
3417 <CALL '
\1aTEST-DISP 9 = TEMP18>
3426 <GFCN
\1a1?-TEST ("VALUE" ANY NODE ANY ANY ANY ANY ANY ANY ANY) NOD4 WHERE5 NOTF6 BRANCH7 DIR8 REG9 NEG10 SF11>
3427 <TEMP SBR12 RW14 TEMP19 SDIR16 (NM17:FALSE %<>) ATYP18>
3429 <NTHUV NOD4 4 = SBR12>
3431 <NTHUV NOD4 5 = TEMP19 (TYPE LIST)>
3433 <NTHL TEMP19 1 = TEMP19 (TYPE NODE)>
3436 <NTHUV TEMP19 3 = STACK>
3438 <CALL '
\1aISTYPE? 1 = ATYP18>
3439 <EQUAL? WHERE5 'DONT-CARE - PHRASE22>
3440 <FRAME '
\1aGEN-TEMP>
3442 <CALL '
\1aGEN-TEMP 1 = WHERE5>
3444 <TYPE? BRANCH7 <TYPE-CODE FALSE> + PHRASE26>
3445 <TYPE? NOTF6 <TYPE-CODE FALSE> + TAG29>
3447 <TYPE? DIR8 <TYPE-CODE FALSE> - TAG28>
3449 <SET DIR8 'T (TYPE ATOM)>
3452 <SET DIR8 %<> (TYPE FALSE)>
3454 <TYPE? SF11 <TYPE-CODE FALSE> + PHRASE31>
3456 <FRAME '
\1aDEALLOCATE-TEMP>
3457 <FRAME '
\1aMOVE-ARG>
3458 <FRAME '
\1aREFERENCE>
3459 <TYPE? SDIR16 <TYPE-CODE FALSE> - TAG35>
3460 <SET TEMP19 'T (TYPE ATOM)>
3463 <SET TEMP19 %<> (TYPE FALSE)>
3467 <CALL '
\1aREFERENCE 1 = STACK>
3469 <CALL '
\1aMOVE-ARG 2 = STACK>
3470 <CALL '
\1aDEALLOCATE-TEMP 1>
3472 <EQUAL? RW14 'FLUSHED - PHRASE38>
3473 <FRAME '
\1aGEN-COMP>
3488 <CALL '
\1aGEN-COMP 7>
3489 <GVAL 'NO-DATUM = TEMP19>
3493 <FRAME '
\1aMAKE-TAG>
3494 <CALL '
\1aMAKE-TAG 0 = TEMP19>
3495 <FRAME '
\1aGEN-COMP>
3500 <TYPE? DIR8 <TYPE-CODE FALSE> - TAG43>
3502 <SET ATYP18 'T (TYPE ATOM)>
3505 <SET ATYP18 %<> (TYPE FALSE)>
3516 <CALL '
\1aGEN-COMP 7>
3517 <FRAME '
\1aMOVE-ARG>
3518 <FRAME '
\1aMOVE-ARG>
3519 <FRAME '
\1aREFERENCE>
3522 <CALL '
\1aREFERENCE 1 = STACK>
3525 <CALL '
\1aMOVE-ARG 2 = STACK>
3528 <CALL '
\1aMOVE-ARG 2 = RW14>
3529 <FRAME '
\1aBRANCH-TAG>
3532 <CALL '
\1aBRANCH-TAG 1>
3533 <FRAME '
\1aLABEL-TAG>
3536 <CALL '
\1aLABEL-TAG 1>
3540 <EQUAL? WHERE5 'DONT-CARE - PHRASE53>
3541 <FRAME '
\1aGEN-TEMP>
3543 <CALL '
\1aGEN-TEMP 1 = WHERE5>
3545 <FRAME '
\1aGEN-COMP>
3552 <FRAME '
\1aMAKE-TAG>
3553 <CALL '
\1aMAKE-TAG 0 = BRANCH7>
3561 <CALL '
\1aGEN-COMP 7>
3562 <FRAME '
\1aMOVE-ARG>
3563 <FRAME '
\1aREFERENCE>
3565 <CALL '
\1aREFERENCE 1 = STACK>
3567 <CALL '
\1aMOVE-ARG 2>
3568 <FRAME '
\1aBRANCH-TAG>
3569 <FRAME '
\1aMAKE-TAG>
3570 <CALL '
\1aMAKE-TAG 0 = TEMP19>
3572 <CALL '
\1aBRANCH-TAG 1>
3573 <FRAME '
\1aLABEL-TAG>
3576 <CALL '
\1aLABEL-TAG 1>
3577 <FRAME '
\1aMOVE-ARG>
3578 <FRAME '
\1aREFERENCE>
3580 <CALL '
\1aREFERENCE 1 = STACK>
3582 <CALL '
\1aMOVE-ARG 2>
3583 <FRAME '
\1aLABEL-TAG>
3586 <CALL '
\1aLABEL-TAG 1>
3587 <FRAME '
\1aMOVE-ARG>
3592 <CALL '
\1aMOVE-ARG 2 = TEMP19>
3598 <GFCN
\1aGEN-COMP ("VALUE" <OR TEMP ANY> ANY ANY ANY ATOM ANY ANY ANY) TYP4 REG5 DIR6 BR7 SBR8 NEG9 NM10>
3599 <TEMP LBL12 LBL213 TEMP23>
3601 <FRAME '
\1aMAKE-TAG>
3602 <CALL '
\1aMAKE-TAG 0 = LBL12>
3603 <FRAME '
\1aMAKE-TAG>
3604 <CALL '
\1aMAKE-TAG 0 = LBL213>
3605 <EQUAL? TYP4 'FIX + BOOL18>
3606 <EQUAL? TYP4 'FLOAT - PHRASE17>
3608 <TYPE? DIR6 <TYPE-CODE FALSE> + PHRASE20>
3613 <CALL '
\1aFLIP 1 = SBR8>
3616 <GVAL 'SKIPS = TEMP23>
3617 <GVAL 'CMSUBRS = LBL12>
3618 <TYPE? SBR8 <TYPE-CODE ATOM> - TAG24>
3619 <EMPUV? LBL12 + TAG24>
3620 <LOOP (SBR8 VALUE) (LBL12 LENGTH VALUE)>
3622 <NTHUV LBL12 1 = LBL213>
3623 <VEQUAL? LBL213 SBR8 + TAG25>
3625 <RESTUV LBL12 1 = LBL12 (TYPE VECTOR)>
3626 <EMPUV? LBL12 - TAG26>
3628 <SET LBL12 %<> (TYPE FALSE)>
3630 <LENUV LBL12 = LBL12 (TYPE FIX)>
3631 <NTHUV TEMP23 LBL12 = LBL213 (TYPE LIST)>
3633 <NTHL LBL213 1 = STACK (TYPE ATOM)>
3635 <EQUAL? TYP4 'FIX - PHRASE31>
3636 <TYPE? NEG9 <TYPE-CODE FALSE> + PHRASE33>
3638 <SET LBL12 -1 (TYPE FIX)>
3641 <SET LBL12 1 (TYPE FIX)>
3644 <TYPE? NEG9 <TYPE-CODE FALSE> + PHRASE37>
3646 <SET LBL12 -1.0 (TYPE FLOAT)>
3649 <SET LBL12 1.0 (TYPE FLOAT)>
3653 <RESTL LBL213 1 = LBL12 (TYPE LIST)>
3655 <NTHL LBL12 1 = STACK (TYPE ATOM)>
3659 <CONS TYP4 () = LBL12>
3661 <CONS '`TYPE LBL12 = STACK>
3664 <FRAME '
\1aFREE-TEMP>
3667 <CALL '
\1aFREE-TEMP 1 = LBL12>
3671 <FRAME '
\1aGEN-TYPE?>
3676 <CALL '
\1aGEN-TYPE? 4>
3680 <TYPE? NEG9 <TYPE-CODE FALSE> + PHRASE44>
3681 <SET TEMP23 -1.0 (TYPE FLOAT)>
3684 <SET TEMP23 1.0 (TYPE FLOAT)>
3689 <TYPE? DIR6 <TYPE-CODE FALSE> + PHRASE47>
3697 <PUSH (`TYPE FLOAT)>
3699 <TYPE? DIR6 <TYPE-CODE FALSE> - PHRASE50>
3700 <FRAME '
\1aBRANCH-TAG>
3702 <CALL '
\1aBRANCH-TAG 1>
3705 <FRAME '
\1aBRANCH-TAG>
3707 <CALL '
\1aBRANCH-TAG 1>
3709 <FRAME '
\1aLABEL-TAG>
3712 <CALL '
\1aLABEL-TAG 1>
3713 <FRAME '
\1aGEN-TYPE?>
3718 <CALL '
\1aGEN-TYPE? 4>
3722 <TYPE? NEG9 <TYPE-CODE FALSE> + PHRASE58>
3724 <SET TEMP23 -1 (TYPE FIX)>
3727 <SET TEMP23 1 (TYPE FIX)>
3731 <TYPE? DIR6 <TYPE-CODE FALSE> + PHRASE61>
3733 <SET TEMP23 '+ (TYPE ATOM)>
3736 <SET TEMP23 '- (TYPE ATOM)>
3744 <FRAME '
\1aLABEL-TAG>
3747 <CALL '
\1aLABEL-TAG 1>
3748 <FRAME '
\1aFREE-TEMP>
3751 <CALL '
\1aFREE-TEMP 1 = LBL12>
3757 <GFCN
\1aTEST-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY ANY) NOD9 WHERE10 NOTF11 BRANCH12 DIR13 SETF14>
3758 <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
3768 <TEMP TEMP32 K15 K216:NODE S19:FIX TEMP3:LBIND SDIR24 RW25 FLS27 ONO29 TEMP50 TEMP51 ATYP222 B223>
3770 <NTHUV NOD9 5 = TEMP32 (TYPE LIST)>
3771 <NTHL TEMP32 1 = K15 (TYPE NODE)>
3773 <NTHUV NOD9 5 = TEMP32 (TYPE LIST)>
3774 <RESTL TEMP32 1 = TEMP32 (TYPE LIST)>
3775 <NTHL TEMP32 1 = K216 (TYPE NODE)>
3778 <NTHUV NOD9 4 = STACK (TYPE ATOM)>
3779 <CALL '
\1aSW? 1 = S19>
3780 <GETS 'BIND = TEMP3 (TYPE LBIND)>
3781 <BBIND 'TRANSFORM 'TRANS 'FIX>
3784 <EQUAL? RW25 'FLUSHED - TAG34>
3785 <SET FLS27 'T (TYPE ATOM)>
3788 <SET FLS27 %<> (TYPE FALSE)>
3790 <GEN-LVAL 'NO-KILL = ONO29>
3791 <BBIND 'NO-KILL 'LIST 'FIX ONO29>
3792 <EQUAL? WHERE10 'FLUSHED - PHRASE39>
3793 <SET WHERE10 'FLUSHED (TYPE ATOM)>
3796 <EQUAL? WHERE10 'DONT-CARE - PHRASE40>
3797 <FRAME '
\1aGEN-TEMP>
3799 <CALL '
\1aGEN-TEMP 1 = WHERE10>
3801 <NTHUV K216 1 = TEMP32 (TYPE FIX)>
3802 <VEQUAL? TEMP32 2 + TAG52 (TYPE FIX)>
3804 <NTHUV K15 1 = TEMP32 (TYPE FIX)>
3805 <GVAL 'SNODES = TEMP50>
3806 <EMPUU? TEMP50 + TAG47>
3807 <LOOP (TEMP32 VALUE) (TEMP50 LENGTH VALUE)>
3809 <NTHUU TEMP50 1 = TEMP51>
3810 <VEQUAL? TEMP51 TEMP32 + PHRASE44>
3812 <RESTUU TEMP50 1 = TEMP50 (TYPE UVECTOR)>
3813 <EMPUU? TEMP50 - TAG48>
3815 <NTHUV NOD9 8 = TEMP50>
3816 <TYPE? TEMP50 <TYPE-CODE FALSE> - PHRASE44>
3818 <NTHUV K216 1 = TEMP50 (TYPE FIX)>
3819 <GVAL 'SNODES = TEMP32>
3820 <EMPUU? TEMP32 + PHRASE44>
3821 <LOOP (TEMP50 VALUE) (TEMP32 LENGTH VALUE)>
3823 <NTHUU TEMP32 1 = TEMP51>
3824 <VEQUAL? TEMP51 TEMP50 + TAG52>
3826 <RESTUU TEMP32 1 = TEMP32 (TYPE UVECTOR)>
3827 <EMPUU? TEMP32 - TAG53>
3830 <NTHUV K15 1 = TEMP32 (TYPE FIX)>
3831 <VEQUAL? TEMP32 10 - PHRASE56 (TYPE FIX)>
3833 <NTHUV K15 7 = TEMP50 (TYPE LIST)>
3834 <EMPL? TEMP50 + PHRASE59>
3835 <RESTL TEMP50 1 = TEMP32 (TYPE LIST)>
3836 <EMPL? TEMP32 + PHRASE59>
3837 <RESTL TEMP32 1 = TEMP32 (TYPE LIST)>
3838 <EMPL? TEMP32 - PHRASE59>
3840 <RESTL TEMP50 1 = TEMP32 (TYPE LIST)>
3842 <NTHL TEMP32 1 = TEMP32>
3843 <TYPE? TEMP32 <TYPE-CODE FALSE> + PHRASE56>
3846 <NTHUV K15 4 = TEMP50>
3847 <TYPE? TEMP50 <TYPE-CODE FALSE> + PHRASE56>
3848 <NTHR 'NO-KILL 2 = TEMP51 (RECORD-TYPE ATOM) (TYPE LBIND)>
3849 <NTHR TEMP51 1 = TEMP32 (RECORD-TYPE LBIND)>
3854 <EMPL? TEMP32 + MAPAP65>
3855 <NTHL TEMP32 1 = TEMP51>
3856 <NTH1 TEMP51 = TEMP51>
3857 <EQUAL? TEMP51 TEMP50 + PHRASE56>
3859 <RESTL TEMP32 1 = TEMP32 (TYPE LIST)>
3862 <NTHR 'NO-KILL 2 = TEMP51 (RECORD-TYPE ATOM) (TYPE LBIND)>
3863 <NTHR TEMP51 1 = TEMP32 (RECORD-TYPE LBIND)>
3865 <CONS %<> () = TEMP51>
3866 <NTHUV K15 4 = TEMP50>
3868 <CONS TEMP50 TEMP51 = TEMP51>
3870 <CONS TEMP51 TEMP32 = TEMP32>
3872 <NTHR 'NO-KILL 2 = TEMP51 (RECORD-TYPE ATOM) (TYPE LBIND)>
3873 <PUTR TEMP51 1 TEMP32 (RECORD-TYPE LBIND)>
3874 <DEAD TEMP51 TEMP32>
3878 <NTHUV NOD9 5 = TEMP32 (TYPE LIST)>
3879 <NTHL TEMP32 1 = K216 (TYPE NODE)>
3882 <NTHUV NOD9 4 = STACK (TYPE ATOM)>
3883 <CALL '
\1aFLOP 1 = TEMP32>
3884 <PUTUV NOD9 4 TEMP32>
3888 <NTHUV K216 3 = STACK>
3889 <CALL '
\1aISTYPE? 1 = TEMP50>
3890 <FRAME '
\1aISTYPE-GOOD?>
3891 <NTHUV K15 3 = STACK>
3892 <CALL '
\1aISTYPE-GOOD? 1 = ATYP222>
3893 <NTHUV K15 1 = TEMP32 (TYPE FIX)>
3894 <VEQUAL? TEMP32 2 + PHRASE83 (TYPE FIX)>
3899 <VEQUAL? TEMP50 ATYP222 + PHRASE86>
3900 <VEQUAL? ATYP222 'FIX - PHRASE86>
3901 <FRAME '
\1aGEN-TEMP>
3903 <CALL '
\1aGEN-TEMP 1 = TEMP32>
3906 <SET TEMP32 'DONT-CARE (TYPE ATOM)>
3910 <CALL '
\1aGEN 2 = K15>
3911 <NTHR 'TRANSFORM 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
3912 <NTHR TEMP32 1 = TEMP32 (RECORD-TYPE LBIND)>
3913 <TYPE? TEMP32 <TYPE-CODE UNBOUND> + PHRASE91>
3915 <NTHR 'TRANSFORM 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
3916 <NTHR TEMP32 1 = TEMP32 (RECORD-TYPE LBIND)>
3917 <FRAME '
\1aUPDATE-TRANS>
3921 <CALL '
\1aUPDATE-TRANS 2 = TEMP32>
3922 <NTHR 'TRANSFORM 2 = TEMP51 (RECORD-TYPE ATOM) (TYPE LBIND)>
3923 <PUTR TEMP51 1 TEMP32 (RECORD-TYPE LBIND)>
3924 <DEAD TEMP51 TEMP32>
3926 <FRAME '
\1aINTERF-CHANGE>
3930 <CALL '
\1aINTERF-CHANGE 2 = K15>
3934 <VEQUAL? TEMP50 ATYP222 + PHRASE100>
3935 <VEQUAL? TEMP50 'FIX - PHRASE100>
3936 <FRAME '
\1aGEN-TEMP>
3938 <CALL '
\1aGEN-TEMP 1 = TEMP32>
3941 <SET TEMP32 'DONT-CARE (TYPE ATOM)>
3945 <CALL '
\1aGEN 2 = TEMP32>
3948 <VEQUAL? TEMP50 'FIX + BOOL107>
3949 <NTHUV K15 4 = TEMP32>
3950 <EQUAL? TEMP32 0 - PHRASE106>
3953 <FRAME '
\1aMAKE-TRANS>
3960 <SUB 0 S19 = TEMP32 (TYPE FIX)>
3961 <ADD TEMP32 2 = STACK (TYPE FIX)>
3965 <CALL '
\1aMAKE-TRANS 8 = TEMP32>
3966 <NTHR 'TRANSFORM 2 = TEMP51 (RECORD-TYPE ATOM) (TYPE LBIND)>
3967 <PUTR TEMP51 1 TEMP32 (RECORD-TYPE LBIND)>
3968 <DEAD TEMP51 TEMP32>
3970 <VEQUAL? TEMP50 'FIX - PHRASE112>
3972 <NTHR 'TRANSFORM 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
3973 <NTHR TEMP32 1 = TEMP32 (RECORD-TYPE LBIND)>
3974 <NTHUV TEMP32 2 = TEMP32 (TYPE UVECTOR)>
3976 <NTHUV K15 4 = TEMP51>
3977 <TYPE? TEMP51 <TYPE-CODE FIX> + TAG115>
3978 <FIX TEMP51 = TEMP51 (TYPE FIX)>
3980 <PUTUU TEMP32 3 TEMP51>
3981 <DEAD TEMP32 TEMP51>
3985 <CALL '
\1aLN-LST 1 = TEMP32>
3986 <TYPE? TEMP32 <TYPE-CODE FALSE> + PHRASE117>
3988 <GVAL 'NO-DATUM = TEMP32>
3994 <CALL '
\1aGEN 1 = TEMP32>
3996 <FRAME '
\1aTEST-DISP>
4009 <NTHR 'TRANSFORM 2 = TEMP51 (RECORD-TYPE ATOM) (TYPE LBIND)>
4010 <NTHR TEMP51 1 = TEMP51 (RECORD-TYPE LBIND)>
4011 <TYPE? TEMP51 <TYPE-CODE UNBOUND> + PHRASE123>
4013 <FRAME '
\1aDO-A-TRANS>
4014 <NTHUV K15 4 = TEMP51>
4016 <TYPE? TEMP51 <TYPE-CODE FIX> + TAG125>
4017 <FIX TEMP51 = TEMP51 (TYPE FIX)>
4021 <NTHR 'TRANSFORM 2 = TEMP51 (RECORD-TYPE ATOM) (TYPE LBIND)>
4022 <NTHR TEMP51 1 = STACK (RECORD-TYPE LBIND)>
4024 <CALL '
\1aDO-A-TRANS 2 = TEMP51>
4027 <NTHUV K15 4 = TEMP51>
4032 <NTHR 'TRANSFORM 2 = TEMP50 (RECORD-TYPE ATOM) (TYPE LBIND)>
4033 <NTHR TEMP50 1 = TEMP50 (RECORD-TYPE LBIND)>
4034 <TYPE? TEMP50 <TYPE-CODE UNBOUND> - TAG130>
4036 <SET TEMP51 %<> (TYPE FALSE)>
4039 <NTHR 'TRANSFORM 2 = TEMP50 (RECORD-TYPE ATOM) (TYPE LBIND)>
4040 <NTHR TEMP50 1 = TEMP50 (RECORD-TYPE LBIND)>
4041 <NTHUV TEMP50 3 = TEMP50 (TYPE UVECTOR)>
4042 <NTHUU TEMP50 1 = TEMP50 (TYPE FIX)>
4043 <VEQUAL? TEMP50 0 - TAG132 (TYPE FIX)>
4045 <SET TEMP51 %<> (TYPE FALSE)>
4048 <SET TEMP51 'T (TYPE ATOM)>
4054 <CALL '
\1aTEST-DISP 9 = TEMP32>
4057 <FRAME '
\1aDELAY-KILL>
4058 <NTHR 'NO-KILL 2 = TEMP51 (RECORD-TYPE ATOM) (TYPE LBIND)>
4059 <NTHR TEMP51 1 = STACK (RECORD-TYPE LBIND)>
4063 <CALL '
\1aDELAY-KILL 2>
4064 <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE143>
4065 <TYPE? NOTF11 <TYPE-CODE FALSE> + TAG146>
4067 <TYPE? DIR13 <TYPE-CODE FALSE> - TAG145>
4069 <SET DIR13 'T (TYPE ATOM)>
4072 <SET DIR13 %<> (TYPE FALSE)>
4074 <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE148>
4076 <FRAME '
\1aDEALLOCATE-TEMP>
4077 <FRAME '
\1aMOVE-ARG>
4078 <FRAME '
\1aREFERENCE>
4079 <TYPE? SDIR24 <TYPE-CODE FALSE> - TAG152>
4080 <SET TEMP51 'T (TYPE ATOM)>
4083 <SET TEMP51 %<> (TYPE FALSE)>
4087 <CALL '
\1aREFERENCE 1 = STACK>
4089 <CALL '
\1aMOVE-ARG 2 = STACK>
4090 <CALL '
\1aDEALLOCATE-TEMP 1>
4092 <FRAME '
\1aGEN-COMP2>
4094 <NTHUV NOD9 4 = STACK (TYPE ATOM)>
4096 <CALL '
\1aFLOP 1 = STACK>
4105 <VEQUAL? FLS27 0 + PHRASE157>
4110 <TYPE? DIR13 <TYPE-CODE FALSE> - TAG159>
4112 <SET TEMP51 'T (TYPE ATOM)>
4115 <SET TEMP51 %<> (TYPE FALSE)>
4119 <VEQUAL? FLS27 0 + PHRASE162>
4120 <SET TEMP51 BRANCH12>
4123 <FRAME '
\1aMAKE-TAG>
4124 <CALL '
\1aMAKE-TAG 0 = B223>
4129 <CALL '
\1aGEN-COMP2 7>
4130 <VEQUAL? FLS27 0 + TAG167>
4132 <SET TEMP51 %<> (TYPE FALSE)>
4135 <FRAME '
\1aMOVE-ARG>
4136 <FRAME '
\1aMOVE-ARG>
4137 <FRAME '
\1aREFERENCE>
4140 <CALL '
\1aREFERENCE 1 = STACK>
4143 <CALL '
\1aMOVE-ARG 2 = STACK>
4146 <CALL '
\1aMOVE-ARG 2 = RW25>
4147 <FRAME '
\1aBRANCH-TAG>
4150 <CALL '
\1aBRANCH-TAG 1>
4151 <FRAME '
\1aLABEL-TAG>
4154 <CALL '
\1aLABEL-TAG 1>
4159 <FRAME '
\1aGEN-COMP2>
4161 <NTHUV NOD9 4 = STACK (TYPE ATOM)>
4163 <CALL '
\1aFLOP 1 = STACK>
4174 <FRAME '
\1aMAKE-TAG>
4175 <CALL '
\1aMAKE-TAG 0 = BRANCH12>
4177 <CALL '
\1aGEN-COMP2 7>
4178 <FRAME '
\1aDEALLOCATE-TEMP>
4179 <FRAME '
\1aMOVE-ARG>
4180 <FRAME '
\1aREFERENCE>
4182 <CALL '
\1aREFERENCE 1 = STACK>
4184 <CALL '
\1aMOVE-ARG 2 = STACK>
4185 <CALL '
\1aDEALLOCATE-TEMP 1>
4186 <FRAME '
\1aBRANCH-TAG>
4187 <FRAME '
\1aMAKE-TAG>
4188 <CALL '
\1aMAKE-TAG 0 = B223>
4190 <CALL '
\1aBRANCH-TAG 1>
4191 <FRAME '
\1aLABEL-TAG>
4194 <CALL '
\1aLABEL-TAG 1>
4195 <FRAME '
\1aMOVE-ARG>
4196 <FRAME '
\1aREFERENCE>
4198 <CALL '
\1aREFERENCE 1 = STACK>
4200 <CALL '
\1aMOVE-ARG 2>
4201 <FRAME '
\1aLABEL-TAG>
4204 <CALL '
\1aLABEL-TAG 1>
4205 <FRAME '
\1aMOVE-ARG>
4210 <CALL '
\1aMOVE-ARG 2 = TEMP51>
4223 <GFCN
\1aTEST-GEN2 ("VALUE" ANY NODE ANY ANY ANY ANY ANY <OR FIX FLOAT> ANY ANY) NOD4 WHERE5 NOTF6 BRANCH7 DIR8 REG9 NUM10 NEG11 SF12>
4224 <TEMP SDIR13 RW14 FLS15 SBR17 TEMP40 B216>
4228 <EQUAL? RW14 'FLUSHED - TAG18>
4229 <SET FLS15 'T (TYPE ATOM)>
4232 <SET FLS15 %<> (TYPE FALSE)>
4234 <NTHUV NOD4 4 = SBR17>
4236 <EQUAL? WHERE5 'FLUSHED - PHRASE21>
4237 <SET WHERE5 'FLUSHED (TYPE ATOM)>
4240 <EQUAL? WHERE5 'DONT-CARE - PHRASE22>
4241 <FRAME '
\1aGEN-TEMP>
4243 <CALL '
\1aGEN-TEMP 1 = WHERE5>
4245 <TYPE? BRANCH7 <TYPE-CODE FALSE> + PHRASE26>
4246 <TYPE? NEG11 <TYPE-CODE FALSE> + PHRASE28>
4251 <CALL '
\1aFLOP 1 = SBR17>
4253 <TYPE? NOTF6 <TYPE-CODE FALSE> + TAG32>
4255 <TYPE? DIR8 <TYPE-CODE FALSE> - TAG31>
4257 <SET DIR8 'T (TYPE ATOM)>
4260 <SET DIR8 %<> (TYPE FALSE)>
4262 <TYPE? SF12 <TYPE-CODE FALSE> + PHRASE34>
4264 <FRAME '
\1aDEALLOCATE-TEMP>
4265 <FRAME '
\1aMOVE-ARG>
4266 <FRAME '
\1aREFERENCE>
4267 <TYPE? SDIR13 <TYPE-CODE FALSE> - TAG38>
4268 <SET TEMP40 'T (TYPE ATOM)>
4271 <SET TEMP40 %<> (TYPE FALSE)>
4275 <CALL '
\1aREFERENCE 1 = STACK>
4277 <CALL '
\1aMOVE-ARG 2 = STACK>
4278 <CALL '
\1aDEALLOCATE-TEMP 1>
4280 <FRAME '
\1aGEN-COMP2>
4285 <CALL '
\1aTYPE 1 = STACK>
4287 <FRAME '
\1aREFERENCE>
4290 <CALL '
\1aREFERENCE 1 = STACK>
4293 <VEQUAL? FLS15 0 + PHRASE45>
4298 <TYPE? DIR8 <TYPE-CODE FALSE> - TAG47>
4300 <SET TEMP40 'T (TYPE ATOM)>
4303 <SET TEMP40 %<> (TYPE FALSE)>
4307 <VEQUAL? FLS15 0 + PHRASE50>
4308 <SET TEMP40 BRANCH7>
4311 <FRAME '
\1aMAKE-TAG>
4312 <CALL '
\1aMAKE-TAG 0 = B216>
4317 <CALL '
\1aGEN-COMP2 7>
4318 <VEQUAL? FLS15 0 + TAG55>
4322 <FRAME '
\1aMOVE-ARG>
4323 <FRAME '
\1aMOVE-ARG>
4324 <FRAME '
\1aREFERENCE>
4327 <CALL '
\1aREFERENCE 1 = STACK>
4330 <CALL '
\1aMOVE-ARG 2 = STACK>
4333 <CALL '
\1aMOVE-ARG 2 = RW14>
4334 <FRAME '
\1aBRANCH-TAG>
4337 <CALL '
\1aBRANCH-TAG 1>
4338 <FRAME '
\1aLABEL-TAG>
4341 <CALL '
\1aLABEL-TAG 1>
4345 <TYPE? NEG11 <TYPE-CODE FALSE> + PHRASE66>
4350 <CALL '
\1aFLOP 1 = SBR17>
4352 <FRAME '
\1aGEN-COMP2>
4357 <CALL '
\1aTYPE 1 = STACK>
4359 <FRAME '
\1aREFERENCE>
4362 <CALL '
\1aREFERENCE 1 = STACK>
4367 <FRAME '
\1aMAKE-TAG>
4368 <CALL '
\1aMAKE-TAG 0 = BRANCH7>
4370 <CALL '
\1aGEN-COMP2 7>
4371 <FRAME '
\1aMOVE-ARG>
4372 <FRAME '
\1aREFERENCE>
4374 <CALL '
\1aREFERENCE 1 = STACK>
4376 <CALL '
\1aMOVE-ARG 2>
4377 <FRAME '
\1aBRANCH-TAG>
4378 <FRAME '
\1aMAKE-TAG>
4379 <CALL '
\1aMAKE-TAG 0 = B216>
4381 <CALL '
\1aBRANCH-TAG 1>
4382 <FRAME '
\1aLABEL-TAG>
4385 <CALL '
\1aLABEL-TAG 1>
4386 <FRAME '
\1aMOVE-ARG>
4387 <FRAME '
\1aREFERENCE>
4389 <CALL '
\1aREFERENCE 1 = STACK>
4391 <CALL '
\1aMOVE-ARG 2>
4392 <FRAME '
\1aLABEL-TAG>
4395 <CALL '
\1aLABEL-TAG 1>
4396 <FRAME '
\1aMOVE-ARG>
4401 <CALL '
\1aMOVE-ARG 2 = TEMP40>
4407 <GFCN
\1aGEN-COMP2 ("VALUE" ATOM ATOM ANY ANY ANY ANY ANY ATOM) SB4 T15 T26 R17 R28 D9 BR10>
4408 <TEMP TEMP30 TEMP35 TEMP36>
4410 <TYPE? D9 <TYPE-CODE FALSE> + BOOL12>
4415 <CALL '
\1aFLIP 1 = SB4>
4417 <TYPE? T15 <TYPE-CODE FALSE> + PHRASE21>
4418 <TYPE? T26 <TYPE-CODE FALSE> + PHRASE21>
4419 <EQUAL? T15 T26 + PHRASE21>
4420 <TYPE? R17 <TYPE-CODE TEMP> - PHRASE21>
4421 <TYPE? R28 <TYPE-CODE TEMP> - PHRASE21>
4422 <EQUAL? T15 'FIX - PHRASE18>
4423 <SET T15 'FLOAT (TYPE ATOM)>
4424 <FRAME '
\1aGEN-FLOAT>
4428 <CALL '
\1aGEN-FLOAT 2 = R28>
4430 <EQUAL? T26 'FIX - PHRASE21>
4431 <SET T26 'FLOAT (TYPE ATOM)>
4432 <FRAME '
\1aGEN-FLOAT>
4436 <CALL '
\1aGEN-FLOAT 2 = R17>
4438 <TYPE? R17 <TYPE-CODE TEMP> - PHRASE24>
4439 <FRAME '
\1aFREE-TEMP>
4442 <CALL '
\1aFREE-TEMP 2>
4444 <TYPE? R28 <TYPE-CODE TEMP> - PHRASE27>
4445 <FRAME '
\1aFREE-TEMP>
4448 <CALL '
\1aFREE-TEMP 2>
4451 <GVAL 'SKIPS = TEMP30>
4452 <GVAL 'CMSUBRS = TEMP35>
4453 <EMPUV? TEMP35 + TAG31>
4454 <LOOP (SB4 VALUE) (TEMP35 LENGTH VALUE)>
4456 <NTHUV TEMP35 1 = TEMP36>
4457 <VEQUAL? TEMP36 SB4 + TAG32>
4459 <RESTUV TEMP35 1 = TEMP35 (TYPE VECTOR)>
4460 <EMPUV? TEMP35 - TAG33>
4462 <SET TEMP35 %<> (TYPE FALSE)>
4464 <LENUV TEMP35 = TEMP35 (TYPE FIX)>
4465 <NTHUV TEMP30 TEMP35 = TEMP30 (TYPE LIST)>
4467 <NTHL TEMP30 1 = STACK (TYPE ATOM)>
4472 <RESTL TEMP30 1 = TEMP35 (TYPE LIST)>
4474 <NTHL TEMP35 1 = STACK (TYPE ATOM)>
4480 <TYPE? TEMP35 <TYPE-CODE FALSE> - BOOL37>
4484 <CONS TEMP35 () = TEMP35>
4485 <CONS '`TYPE TEMP35 = STACK>
4487 <CALL '
\1aIEMIT 6 = TEMP35>
4493 <GFCN
\1aGET-DF ("VALUE" ANY ATOM) S4>
4494 <TEMP TEMP5:VECTOR TEMP10 TEMP11>
4496 <GVAL 'DF-VALS = TEMP5>
4497 <SET TEMP10 [MAX MIN * / - +] (TYPE VECTOR)>
4498 <LOOP (S4 VALUE) (TEMP10 LENGTH VALUE)>
4500 <NTHUV TEMP10 1 = TEMP11>
4501 <VEQUAL? TEMP11 S4 + TAG7>
4503 <RESTUV TEMP10 1 = TEMP10 (TYPE VECTOR)>
4504 <EMPUV? TEMP10 - TAG8>
4505 <SET TEMP10 %<> (TYPE FALSE)>
4507 <LENUV TEMP10 = TEMP10 (TYPE FIX)>
4508 <NTHUV TEMP5 TEMP10 = TEMP10>
4515 <GFCN
\1aPOPWR2 ("VALUE" <OR FALSE FIX> FIX) X4>
4518 <VEQUAL? X4 0 - PHRASE6 (TYPE FIX)>
4521 <SUB 0 X4 = TEMP9 (TYPE FIX)>
4522 <AND TEMP9 X4 = TEMP9>
4523 <VEQUAL? X4 TEMP9 + TAG12 (TYPE FIX)>
4527 <SET TEMP9 0 (TYPE FIX)>
4531 <VEQUAL? X4 1 - PHRASE17 (TYPE FIX)>
4535 <LSH X4 -1 = X4 (TYPE FIX)>
4536 <ADD TEMP9 1 = TEMP9 (TYPE FIX)>
4540 <SETG DF-VALS [0 0 1 1 <MIN> <MAX>]>
4542 <GDECL (SKIPS) <VECTOR [REST <LIST ATOM ATOM>]> (0SUBRS 0SKPS 0JSENS CMSUBRS) <VECTOR [REST ATOM]> (DF-VALS) VECTOR>
4544 <SETG CMSUBRS '[0? N0? 1? N1? -1? N-1? ==? N==? G? G=? L? L=?]>
4546 <SETG SKIPS '[(`LESS? +) (`GRTR? -) (`GRTR? +) (`LESS? -) (`VEQUAL? +) (`VEQUAL? -) (`EQUAL? +) (`VEQUAL? -) (`VEQUAL? +) (`VEQUAL? -) (`VEQUAL? +) (`VEQUAL? -)]>