Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / mimc / strgen.mima
1
2 <PACKAGE "STRGEN">
3
4 <ENTRY NTH-GEN REST-GEN PUT-GEN LNTH-GEN MT-GEN PUTREST-GEN IPUT-GEN IREMAS-GEN COMMUTE-STRUC DEFER-IT LIST-LNT-SPEC EMPTY-CHECK NTH-DO REST-DO RECTYPE? MONAD?-GEN BACK-GEN TOP-GEN>
5
6 <USE "COMPDEC" "CODGEN" "CHKDCL" "SPCGEN" "CARGEN" "MIMGEN" "ADVMESS">
7
8 <SETG MAX-IN-ROW 4>
9
10 <SETG CMAX-IN-ROW 2>
11
12 <MANIFEST MAX-IN-ROW CMAX-IN-ROW>
13
14 #WORD *33201625647*
15 <GFCN \1aLIST-LNT-SPEC ("VALUE" ANY NODE ANY ANY ANY ANY FIX ANY) N4 W5 NF6 BR7 DI8 NUM9 SF10>
16                     <TEMP K11 FLS14 B215 SDIR16 (B317 %<>) SBR22 TEMP34 F119 F220 F321 RAC13:TEMP>
17                     <INTGO>
18                     <NTHUV N4 5 = K11 (TYPE LIST)>
19                     <EQUAL? W5 'FLUSHED - TAG24>
20                     <SET FLS14 'T (TYPE ATOM)>
21                     <JUMP + TAG25>
22 TAG24
23                     <SET FLS14 %<> (TYPE FALSE)>
24 TAG25
25                     <TYPE? BR7 <TYPE-CODE FALSE> + PHRASE27>
26                     <VEQUAL? FLS14 0 + PHRASE27>
27                     <SET B215 BR7>
28                     <JUMP + PHRASE29>
29 PHRASE27
30                     <FRAME '\1aMAKE-TAG>
31                     <CALL '\1aMAKE-TAG 0 = B215>
32 PHRASE29
33                     <SET SDIR16 DI8>
34                     <NTHUV N4 4 = SBR22>
35                     <FRAME '\1aGEN>
36                     <NTHL K11 1 = TEMP34 (TYPE NODE)>
37                     <NTHUV TEMP34 1 = TEMP34 (TYPE FIX)>
38                     <VEQUAL? TEMP34 2 - PHRASE33 (TYPE FIX)>
39                     <DEAD TEMP34>
40                     <RESTL K11 1 = TEMP34 (TYPE LIST)>
41                     <DEAD K11>
42                     <NTHL TEMP34 1 = TEMP34 (TYPE NODE)>
43                     <JUMP + PHRASE35>
44 PHRASE33
45                     <NTHL K11 1 = TEMP34 (TYPE NODE)>
46                     <DEAD K11>
47 PHRASE35
48                     <NTHUV TEMP34 5 = TEMP34 (TYPE LIST)>
49                     <NTHL TEMP34 1 = K11 (TYPE NODE)>
50                     <DEAD TEMP34>
51                     <PUSH K11>
52                     <DEAD K11>
53                     <CALL '\1aGEN 1 = K11>
54                     <TYPE? NF6 <TYPE-CODE FALSE> + TAG38>
55                     <DEAD NF6>
56                     <TYPE? DI8 <TYPE-CODE FALSE> - TAG37>
57                     <DEAD DI8>
58                     <SET DI8 'T (TYPE ATOM)>
59                     <JUMP + TAG38>
60 TAG37
61                     <SET DI8 %<> (TYPE FALSE)>
62 TAG38
63                     <TYPE? SF10 <TYPE-CODE FALSE> + PHRASE40>
64                     <DEAD SF10>
65                     <FRAME '\1aDEALLOCATE-TEMP>
66                     <FRAME '\1aMOVE-ARG>
67                     <FRAME '\1aREFERENCE>
68                     <TYPE? SDIR16 <TYPE-CODE FALSE> - TAG44>
69                     <SET TEMP34 'T (TYPE ATOM)>
70                     <JUMP + TAG45>
71 TAG44
72                     <SET TEMP34 %<> (TYPE FALSE)>
73 TAG45
74                     <PUSH TEMP34>
75                     <DEAD TEMP34>
76                     <CALL '\1aREFERENCE 1 = STACK>
77                     <PUSH W5>
78                     <CALL '\1aMOVE-ARG 2 = STACK>
79                     <CALL '\1aDEALLOCATE-TEMP 1>
80 PHRASE40
81                     <TYPE? BR7 <TYPE-CODE FALSE> + PHRASE47>
82                     <VEQUAL? FLS14 0 - PHRASE47>
83                     <TYPE? DI8 <TYPE-CODE FALSE> - TAG49>
84                     <DEAD DI8>
85                     <SET DI8 'T (TYPE ATOM)>
86                     <JUMP + PHRASE47>
87 TAG49
88                     <SET DI8 %<> (TYPE FALSE)>
89 PHRASE47
90                     <TYPE? DI8 <TYPE-CODE FALSE> + BOOL52>
91                     <DEAD DI8>
92                     <FRAME '\1aFLIP>
93                     <PUSH SBR22>
94                     <DEAD SBR22>
95                     <CALL '\1aFLIP 1 = SBR22>
96 BOOL52
97                     <SET F119 [==? G? G=? 1? 0?] (TYPE VECTOR)>
98                     <TYPE? SBR22 <TYPE-CODE ATOM> - TAG54>
99                     <LOOP (SBR22 VALUE) (F119 LENGTH VALUE)>
100 TAG56
101                     <NTHUV F119 1 = TEMP34>
102                     <VEQUAL? TEMP34 SBR22 + TAG55>
103                     <DEAD TEMP34>
104                     <RESTUV F119 1 = F119 (TYPE VECTOR)>
105                     <EMPUV? F119 - TAG56>
106 TAG54
107                     <SET F119 %<> (TYPE FALSE)>
108 TAG55
109                     <SET F220 [G? G=?] (TYPE VECTOR)>
110                     <TYPE? SBR22 <TYPE-CODE ATOM> - TAG58>
111                     <LOOP (SBR22 VALUE) (F220 LENGTH VALUE)>
112 TAG60
113                     <NTHUV F220 1 = TEMP34>
114                     <VEQUAL? TEMP34 SBR22 + TAG59>
115                     <DEAD TEMP34>
116                     <RESTUV F220 1 = F220 (TYPE VECTOR)>
117                     <EMPUV? F220 - TAG60>
118 TAG58
119                     <SET F220 %<> (TYPE FALSE)>
120 TAG59
121                     <SET F321 [L? L=?] (TYPE VECTOR)>
122                     <TYPE? SBR22 <TYPE-CODE ATOM> - TAG62>
123                     <LOOP (SBR22 VALUE) (F321 LENGTH VALUE)>
124 TAG64
125                     <NTHUV F321 1 = TEMP34>
126                     <VEQUAL? TEMP34 SBR22 + TAG63>
127                     <DEAD TEMP34>
128                     <RESTUV F321 1 = F321 (TYPE VECTOR)>
129                     <EMPUV? F321 - TAG64>
130 TAG62
131                     <SET F321 %<> (TYPE FALSE)>
132 TAG63
133                     <EQUAL? SBR22 'L=? + BOOL68>
134                     <EQUAL? SBR22 'G? - PHRASE67>
135                     <DEAD SBR22>
136 BOOL68
137                     <SUB NUM9 1 = NUM9 (TYPE FIX)>
138 PHRASE67
139                     <GRTR? NUM9 2 + PHRASE70 (TYPE FIX)>
140                     <LOOP>
141 AGAIN73
142                     <INTGO>
143                     <FRAME '\1aEMPTY-LIST>
144                     <PUSH K11>
145                     <GRTR? NUM9 0 + PHRASE76 (TYPE FIX)>
146                     <SET SBR22 B215>
147                     <JUMP + PHRASE85>
148 PHRASE76
149                     <TYPE? F321 <TYPE-CODE FALSE> + PHRASE80>
150                     <SET SBR22 B215>
151                     <JUMP + PHRASE85>
152 PHRASE80
153                     <TYPE? F220 <TYPE-CODE FALSE> - BOOL82>
154                     <TYPE? F119 <TYPE-CODE FALSE> - PHRASE81>
155 BOOL82
156                     <SET SBR22 B317>
157                     <TYPE? SBR22 <TYPE-CODE FALSE> - PHRASE85>
158                     <FRAME '\1aMAKE-TAG>
159                     <CALL '\1aMAKE-TAG 0 = B317>
160                     <SET SBR22 B317>
161                     <JUMP + PHRASE85>
162 PHRASE81
163                     <SET SBR22 B215>
164 PHRASE85
165                     <PUSH SBR22>
166                     <DEAD SBR22>
167                     <VEQUAL? NUM9 0 + TAG87 (TYPE FIX)>
168                     <SET SBR22 'T (TYPE ATOM)>
169                     <JUMP + TAG91>
170 TAG87
171                     <TYPE? F119 <TYPE-CODE FALSE> - TAG90>
172                     <SET SBR22 'T (TYPE ATOM)>
173                     <JUMP + TAG91>
174 TAG90
175                     <SET SBR22 %<> (TYPE FALSE)>
176 TAG91
177                     <PUSH SBR22>
178                     <DEAD SBR22>
179                     <CALL '\1aEMPTY-LIST 3>
180                     <SUB NUM9 1 = NUM9 (TYPE FIX)>
181                     <LESS? NUM9 0 - PHRASE93 (TYPE FIX)>
182                     <TYPE? B317 <TYPE-CODE FALSE> + EXIT71>
183                     <FRAME '\1aLABEL-TAG>
184                     <PUSH B317>
185                     <DEAD B317>
186                     <CALL '\1aLABEL-TAG 1>
187                     <JUMP + EXIT71>
188 PHRASE93
189                     <FRAME '\1aREST-LIST>
190                     <PUSH K11>
191                     <TYPE? K11 <TYPE-CODE TEMP> - BOOL101>
192                     <NTHUV K11 2 = SBR22 (TYPE FIX)>
193                     <LESS? SBR22 2 + PHRASE100 (TYPE FIX)>
194                     <DEAD SBR22>
195 BOOL101
196                     <FRAME '\1aFREE-TEMP>
197                     <PUSH K11>
198                     <DEAD K11>
199                     <PUSH %<>>
200                     <CALL '\1aFREE-TEMP 2>
201                     <FRAME '\1aGEN-TEMP>
202                     <PUSH 'LIST>
203                     <CALL '\1aGEN-TEMP 1 = K11>
204                     <SET SBR22 K11>
205                     <JUMP + PHRASE104>
206 PHRASE100
207                     <SET SBR22 K11>
208 PHRASE104
209                     <PUSH SBR22>
210                     <DEAD SBR22>
211                     <PUSH 1>
212                     <CALL '\1aREST-LIST 3>
213                     <JUMP + AGAIN73>
214 EXIT71
215                     <FRAME '\1aFREE-TEMP>
216                     <PUSH K11>
217                     <DEAD K11>
218                     <CALL '\1aFREE-TEMP 1>
219                     <JUMP + PHRASE106>
220 PHRASE70
221                     <TYPE? K11 <TYPE-CODE TEMP> - BOOL109>
222                     <NTHUV K11 2 = SBR22 (TYPE FIX)>
223                     <LESS? SBR22 2 + PHRASE108 (TYPE FIX)>
224                     <DEAD SBR22>
225 BOOL109
226                     <FRAME '\1aMOVE-ARG>
227                     <PUSH K11>
228                     <DEAD K11>
229                     <FRAME '\1aGEN-TEMP>
230                     <PUSH %<>>
231                     <CALL '\1aGEN-TEMP 1 = STACK>
232                     <CALL '\1aMOVE-ARG 2 = K11>
233 PHRASE108
234                     <FRAME '\1aSET-TEMP>
235                     <FRAME '\1aGEN-TEMP>
236                     <PUSH 'FIX>
237                     <CALL '\1aGEN-TEMP 1 = RAC13>
238                     <PUSH RAC13>
239                     <TYPE? F220 <TYPE-CODE FALSE> - BOOL116>
240                     <TYPE? F321 <TYPE-CODE FALSE> + PHRASE115>
241 BOOL116
242                     <ADD NUM9 1 = SBR22 (TYPE FIX)>
243                     <DEAD NUM9>
244                     <JUMP + PHRASE117>
245 PHRASE115
246                     <SET SBR22 NUM9>
247                     <DEAD NUM9>
248 PHRASE117
249                     <PUSH SBR22>
250                     <DEAD SBR22>
251                     <PUSH (`TYPE FIX)>
252                     <CALL '\1aSET-TEMP 3>
253                     <FRAME '\1aIEMIT>
254                     <PUSH '`LOOP>
255                     <CONS 'VALUE () = SBR22>
256                     <NTHUV K11 1 = TEMP34 (TYPE ATOM)>
257                     <CONS TEMP34 SBR22 = STACK>
258                     <DEAD TEMP34 SBR22>
259                     <CONS 'VALUE () = SBR22>
260                     <NTHUV RAC13 1 = TEMP34 (TYPE ATOM)>
261                     <CONS TEMP34 SBR22 = STACK>
262                     <DEAD TEMP34 SBR22>
263                     <CALL '\1aIEMIT 3>
264                     <FRAME '\1aLABEL-TAG>
265                     <FRAME '\1aMAKE-TAG>
266                     <CALL '\1aMAKE-TAG 0 = TEMP34>
267                     <PUSH TEMP34>
268                     <CALL '\1aLABEL-TAG 1>
269                     <FRAME '\1aEMPTY-LIST>
270                     <PUSH K11>
271                     <TYPE? F321 <TYPE-CODE FALSE> - PHRASE124>
272                     <TYPE? F220 <TYPE-CODE FALSE> - BOOL126>
273                     <TYPE? F119 <TYPE-CODE FALSE> - PHRASE124>
274 BOOL126
275                     <FRAME '\1aMAKE-TAG>
276                     <CALL '\1aMAKE-TAG 0 = B317>
277                     <SET SBR22 B317>
278                     <JUMP + PHRASE129>
279 PHRASE124
280                     <SET SBR22 B215>
281 PHRASE129
282                     <PUSH SBR22>
283                     <DEAD SBR22>
284                     <PUSH 'T>
285                     <CALL '\1aEMPTY-LIST 3>
286                     <FRAME '\1aREST-LIST>
287                     <PUSH K11>
288                     <PUSH K11>
289                     <PUSH 1>
290                     <CALL '\1aREST-LIST 3>
291                     <FRAME '\1aIEMIT>
292                     <PUSH '`SUB>
293                     <PUSH RAC13>
294                     <PUSH 1>
295                     <PUSH '=>
296                     <PUSH RAC13>
297                     <PUSH (`TYPE FIX)>
298                     <CALL '\1aIEMIT 6>
299                     <FRAME '\1aIEMIT>
300                     <PUSH '`GRTR?>
301                     <PUSH RAC13>
302                     <PUSH 0>
303                     <PUSH '+>
304                     <PUSH TEMP34>
305                     <DEAD TEMP34>
306                     <PUSH (`TYPE FIX)>
307                     <CALL '\1aIEMIT 6>
308                     <TYPE? F321 <TYPE-CODE FALSE> - BOOL135>
309                     <DEAD F321>
310                     <TYPE? F220 <TYPE-CODE FALSE> + PHRASE134>
311                     <DEAD F220>
312 BOOL135
313                     <TYPE? B317 <TYPE-CODE FALSE> + PHRASE138>
314                     <FRAME '\1aBRANCH-TAG>
315                     <PUSH B215>
316                     <CALL '\1aBRANCH-TAG 1>
317                     <JUMP + PHRASE138>
318 PHRASE134
319                     <FRAME '\1aEMPTY-LIST>
320                     <PUSH K11>
321                     <PUSH B215>
322                     <TYPE? F119 <TYPE-CODE FALSE> - TAG140>
323                     <DEAD F119>
324                     <SET SBR22 'T (TYPE ATOM)>
325                     <JUMP + TAG141>
326 TAG140
327                     <SET SBR22 %<> (TYPE FALSE)>
328 TAG141
329                     <PUSH SBR22>
330                     <DEAD SBR22>
331                     <CALL '\1aEMPTY-LIST 3>
332 PHRASE138
333                     <TYPE? B317 <TYPE-CODE FALSE> + PHRASE143>
334                     <FRAME '\1aLABEL-TAG>
335                     <PUSH B317>
336                     <DEAD B317>
337                     <CALL '\1aLABEL-TAG 1>
338 PHRASE143
339                     <FRAME '\1aFREE-TEMP>
340                     <PUSH K11>
341                     <DEAD K11>
342                     <CALL '\1aFREE-TEMP 1>
343                     <FRAME '\1aFREE-TEMP>
344                     <PUSH RAC13>
345                     <DEAD RAC13>
346                     <CALL '\1aFREE-TEMP 1>
347 PHRASE106
348                     <TYPE? BR7 <TYPE-CODE FALSE> - PHRASE148>
349                     <FRAME '\1aTRUE-FALSE>
350                     <PUSH N4>
351                     <DEAD N4>
352                     <PUSH B215>
353                     <DEAD B215>
354                     <PUSH W5>
355                     <DEAD W5>
356                     <CALL '\1aTRUE-FALSE 3 = SBR22>
357                     <RETURN SBR22>
358                     <DEAD SBR22>
359 PHRASE148
360                     <VEQUAL? FLS14 0 + TAG151>
361                     <DEAD FLS14>
362                     <RETURN %<>>
363 TAG151
364                     <FRAME '\1aMOVE-ARG>
365                     <FRAME '\1aREFERENCE>
366                     <PUSH SDIR16>
367                     <DEAD SDIR16>
368                     <CALL '\1aREFERENCE 1 = STACK>
369                     <PUSH W5>
370                     <DEAD W5>
371                     <CALL '\1aMOVE-ARG 2 = W5>
372                     <FRAME '\1aBRANCH-TAG>
373                     <PUSH BR7>
374                     <DEAD BR7>
375                     <CALL '\1aBRANCH-TAG 1>
376                     <FRAME '\1aLABEL-TAG>
377                     <PUSH B215>
378                     <DEAD B215>
379                     <CALL '\1aLABEL-TAG 1>
380                     <RETURN W5>
381                     <DEAD W5>
382                     <END \1aLIST-LNT-SPEC>
383 #WORD *11374734625*
384 <GFCN \1aLNTH-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
385                     <TEMP TEMP12 ITYP10 TYP11>
386                     <INTGO>
387                     <NTHUV NOD4 5 = TEMP12 (TYPE LIST)>
388                     <DEAD NOD4>
389                     <NTHL TEMP12 1 = TEMP12 (TYPE NODE)>
390                     <NTHUV TEMP12 3 = ITYP10>
391                     <FRAME '\1aSTRUCTYP>
392                     <PUSH ITYP10>
393                     <CALL '\1aSTRUCTYP 1 = TYP11>
394                     <FRAME '\1aGEN>
395                     <PUSH TEMP12>
396                     <DEAD TEMP12>
397                     <PUSH 'DONT-CARE>
398                     <CALL '\1aGEN 2 = TEMP12>
399                     <FRAME '\1aFREE-TEMP>
400                     <PUSH TEMP12>
401                     <PUSH %<>>
402                     <CALL '\1aFREE-TEMP 2>
403                     <EQUAL? WHERE5 'DONT-CARE - PHRASE17>
404                     <FRAME '\1aGEN-TEMP>
405                     <PUSH 'FIX>
406                     <CALL '\1aGEN-TEMP 1 = WHERE5>
407                     <JUMP + PHRASE19>
408 PHRASE17
409                     <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE19>
410                     <FRAME '\1aUSE-TEMP>
411                     <PUSH WHERE5>
412                     <PUSH 'FIX>
413                     <CALL '\1aUSE-TEMP 2>
414 PHRASE19
415                     <EQUAL? TYP11 'LIST - PHRASE22>
416                     <FRAME '\1aLENGTH-LIST>
417                     <PUSH TEMP12>
418                     <DEAD TEMP12>
419                     <PUSH WHERE5>
420                     <CALL '\1aLENGTH-LIST 2>
421                     <RETURN WHERE5>
422                     <DEAD WHERE5>
423 PHRASE22
424                     <EQUAL? TYP11 'VECTOR + BOOL25>
425                     <EQUAL? TYP11 'TUPLE - PHRASE24>
426 BOOL25
427                     <FRAME '\1aLENGTH-VECTOR>
428                     <PUSH TEMP12>
429                     <DEAD TEMP12>
430                     <PUSH WHERE5>
431                     <CALL '\1aLENGTH-VECTOR 2>
432                     <RETURN WHERE5>
433                     <DEAD WHERE5>
434 PHRASE24
435                     <EQUAL? TYP11 'STRING - PHRASE27>
436                     <FRAME '\1aLENGTH-STRING>
437                     <PUSH TEMP12>
438                     <DEAD TEMP12>
439                     <PUSH WHERE5>
440                     <CALL '\1aLENGTH-STRING 2>
441                     <RETURN WHERE5>
442                     <DEAD WHERE5>
443 PHRASE27
444                     <EQUAL? TYP11 'BYTES - PHRASE29>
445                     <FRAME '\1aLENGTH-BYTES>
446                     <PUSH TEMP12>
447                     <DEAD TEMP12>
448                     <PUSH WHERE5>
449                     <CALL '\1aLENGTH-BYTES 2>
450                     <RETURN WHERE5>
451                     <DEAD WHERE5>
452 PHRASE29
453                     <EQUAL? TYP11 'UVECTOR - PHRASE31>
454                     <FRAME '\1aLENGTH-UVECTOR>
455                     <PUSH TEMP12>
456                     <DEAD TEMP12>
457                     <PUSH WHERE5>
458                     <CALL '\1aLENGTH-UVECTOR 2>
459                     <RETURN WHERE5>
460                     <DEAD WHERE5>
461 PHRASE31
462                     <EQUAL? TYP11 'TEMPLATE - PHRASE33>
463                     <FRAME '\1aLENGTH-RECORD>
464                     <PUSH TEMP12>
465                     <DEAD TEMP12>
466                     <PUSH WHERE5>
467                     <PUSH ITYP10>
468                     <DEAD ITYP10>
469                     <CALL '\1aLENGTH-RECORD 3>
470                     <RETURN WHERE5>
471                     <DEAD WHERE5>
472 PHRASE33
473                     <FRAME '\1aLENGTH-RECORD>
474                     <PUSH TEMP12>
475                     <DEAD TEMP12>
476                     <PUSH WHERE5>
477                     <PUSH TYP11>
478                     <DEAD TYP11>
479                     <CALL '\1aLENGTH-RECORD 3>
480                     <RETURN WHERE5>
481                     <DEAD WHERE5>
482                     <END \1aLNTH-GEN>
483 #WORD *7517407330*
484 <GFCN \1aMONAD?-GEN ("VALUE" ANY ANY ANY) NOD4 WHERE5>
485                     <TEMP TEMP7>
486                     <INTGO>
487                     <FRAME '\1aMT-GEN>
488                     <PUSH NOD4>
489                     <DEAD NOD4>
490                     <PUSH WHERE5>
491                     <DEAD WHERE5>
492                     <CALL '\1aMT-GEN 2 = TEMP7>
493                     <RETURN TEMP7>
494                     <DEAD TEMP7>
495                     <END \1aMONAD?-GEN>
496 #WORD *25373513110*
497                     <GFCN \1aMT-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY <OR ATOM FALSE> ANY ANY) NOD9 WHERE10 NOTF11 BRANCH12 DIR13 SETF14>
498                     <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
499 OPT4
500                     <PUSH %<>>
501 OPT5
502                     <PUSH %<>>
503 OPT6
504                     <PUSH %<>>
505 OPT7
506                     <PUSH %<>>
507 OPT8
508                     <TEMP TEMP23 STRN15 ITYP17 SDIR18 TYP19 TY20 FLS21 B2-22>
509                     <INTGO>
510                     <NTHUV NOD9 5 = TEMP23 (TYPE LIST)>
511                     <NTHL TEMP23 1 = STRN15 (TYPE NODE)>
512                     <DEAD TEMP23>
513                     <NTHUV STRN15 3 = ITYP17>
514                     <SET SDIR18 DIR13>
515                     <FRAME '\1aSTRUCTYP>
516                     <PUSH ITYP17>
517                     <CALL '\1aSTRUCTYP 1 = TYP19>
518                     <FRAME '\1aISTYPE?>
519                     <PUSH ITYP17>
520                     <CALL '\1aISTYPE? 1 = TY20>
521                     <EQUAL? WHERE10 'FLUSHED - TAG26>
522                     <SET FLS21 'T (TYPE ATOM)>
523                     <JUMP + TAG27>
524 TAG26
525                     <SET FLS21 %<> (TYPE FALSE)>
526 TAG27
527                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE29>
528                     <VEQUAL? FLS21 0 + PHRASE29>
529                     <SET TEMP23 BRANCH12>
530                     <JUMP + PHRASE31>
531 PHRASE29
532                     <FRAME '\1aMAKE-TAG>
533                     <CALL '\1aMAKE-TAG 0 = TEMP23>
534 PHRASE31
535                     <SET B2-22 TEMP23>
536                     <DEAD TEMP23>
537                     <EQUAL? WHERE10 'DONT-CARE - PHRASE34>
538                     <FRAME '\1aGEN-TEMP>
539                     <PUSH %<>>
540                     <CALL '\1aGEN-TEMP 1 = WHERE10>
541 PHRASE34
542                     <TYPE? NOTF11 <TYPE-CODE FALSE> + TAG38>
543                     <DEAD NOTF11>
544                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG37>
545                     <DEAD DIR13>
546                     <SET DIR13 'T (TYPE ATOM)>
547                     <JUMP + TAG38>
548 TAG37
549                     <SET DIR13 %<> (TYPE FALSE)>
550 TAG38
551                     <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE40>
552                     <DEAD SETF14>
553                     <FRAME '\1aDEALLOCATE-TEMP>
554                     <FRAME '\1aMOVE-ARG>
555                     <FRAME '\1aREFERENCE>
556                     <TYPE? SDIR18 <TYPE-CODE FALSE> - TAG44>
557                     <SET TEMP23 'T (TYPE ATOM)>
558                     <JUMP + TAG45>
559 TAG44
560                     <SET TEMP23 %<> (TYPE FALSE)>
561 TAG45
562                     <PUSH TEMP23>
563                     <DEAD TEMP23>
564                     <CALL '\1aREFERENCE 1 = STACK>
565                     <PUSH WHERE10>
566                     <CALL '\1aMOVE-ARG 2 = STACK>
567                     <CALL '\1aDEALLOCATE-TEMP 1>
568 PHRASE40
569                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE47>
570                     <VEQUAL? FLS21 0 - PHRASE47>
571                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG49>
572                     <DEAD DIR13>
573                     <SET DIR13 'T (TYPE ATOM)>
574                     <JUMP + PHRASE47>
575 TAG49
576                     <SET DIR13 %<> (TYPE FALSE)>
577 PHRASE47
578                     <FRAME '\1aGEN>
579                     <PUSH STRN15>
580                     <DEAD STRN15>
581                     <CALL '\1aGEN 1 = STRN15>
582                     <NTHUV NOD9 1 = TEMP23 (TYPE FIX)>
583                     <VEQUAL? TEMP23 91 - PHRASE54 (TYPE FIX)>
584                     <DEAD TEMP23>
585                     <FRAME '\1aIEMIT>
586                     <PUSH '`MONAD?>
587                     <PUSH STRN15>
588                     <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE57>
589                     <DEAD DIR13>
590                     <SET TEMP23 '+ (TYPE ATOM)>
591                     <JUMP + PHRASE58>
592 PHRASE57
593                     <SET TEMP23 '- (TYPE ATOM)>
594 PHRASE58
595                     <PUSH TEMP23>
596                     <DEAD TEMP23>
597                     <PUSH B2-22>
598                     <CALL '\1aIEMIT 4>
599                     <JUMP + PHRASE75>
600 PHRASE54
601                     <EQUAL? TYP19 'LIST - PHRASE59>
602                     <FRAME '\1aEMPTY-LIST>
603                     <PUSH STRN15>
604                     <PUSH B2-22>
605                     <PUSH DIR13>
606                     <DEAD DIR13>
607                     <PUSH TY20>
608                     <DEAD TY20>
609                     <CALL '\1aEMPTY-LIST 4>
610                     <JUMP + PHRASE75>
611 PHRASE59
612                     <EQUAL? TYP19 'VECTOR + BOOL62>
613                     <EQUAL? TYP19 'TUPLE - PHRASE61>
614 BOOL62
615                     <FRAME '\1aEMPTY-VECTOR>
616                     <PUSH STRN15>
617                     <PUSH B2-22>
618                     <PUSH DIR13>
619                     <DEAD DIR13>
620                     <PUSH TY20>
621                     <DEAD TY20>
622                     <CALL '\1aEMPTY-VECTOR 4>
623                     <JUMP + PHRASE75>
624 PHRASE61
625                     <EQUAL? TYP19 'UVECTOR - PHRASE64>
626                     <FRAME '\1aEMPTY-UVECTOR>
627                     <PUSH STRN15>
628                     <PUSH B2-22>
629                     <PUSH DIR13>
630                     <DEAD DIR13>
631                     <PUSH TY20>
632                     <DEAD TY20>
633                     <CALL '\1aEMPTY-UVECTOR 4>
634                     <JUMP + PHRASE75>
635 PHRASE64
636                     <EQUAL? TYP19 'STRING - PHRASE66>
637                     <FRAME '\1aEMPTY-STRING>
638                     <PUSH STRN15>
639                     <PUSH B2-22>
640                     <PUSH DIR13>
641                     <DEAD DIR13>
642                     <PUSH TY20>
643                     <DEAD TY20>
644                     <CALL '\1aEMPTY-STRING 4>
645                     <JUMP + PHRASE75>
646 PHRASE66
647                     <EQUAL? TYP19 'BYTES - PHRASE68>
648                     <FRAME '\1aEMPTY-BYTES>
649                     <PUSH STRN15>
650                     <PUSH B2-22>
651                     <PUSH DIR13>
652                     <DEAD DIR13>
653                     <PUSH TY20>
654                     <DEAD TY20>
655                     <CALL '\1aEMPTY-BYTES 4>
656                     <JUMP + PHRASE75>
657 PHRASE68
658                     <EQUAL? TYP19 'TEMPLATE - PHRASE70>
659                     <FRAME '\1aEMPTY-RECORD>
660                     <PUSH STRN15>
661                     <PUSH B2-22>
662                     <PUSH DIR13>
663                     <DEAD DIR13>
664                     <PUSH ITYP17>
665                     <DEAD ITYP17>
666                     <CALL '\1aEMPTY-RECORD 4>
667                     <JUMP + PHRASE75>
668 PHRASE70
669                     <FRAME '\1aISTYPE?>
670                     <PUSH ITYP17>
671                     <DEAD ITYP17>
672                     <CALL '\1aISTYPE? 1 = TEMP23>
673                     <TYPE? TEMP23 <TYPE-CODE FALSE> + PHRASE72>
674                     <DEAD TEMP23>
675                     <FRAME '\1aEMPTY-RECORD>
676                     <PUSH STRN15>
677                     <PUSH B2-22>
678                     <PUSH DIR13>
679                     <DEAD DIR13>
680                     <PUSH TYP19>
681                     <DEAD TYP19>
682                     <CALL '\1aEMPTY-RECORD 4>
683                     <JUMP + PHRASE75>
684 PHRASE72
685                     <FRAME '\1aIEMIT>
686                     <PUSH '`EMPTY?>
687                     <PUSH STRN15>
688                     <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE78>
689                     <DEAD DIR13>
690                     <SET TEMP23 '+ (TYPE ATOM)>
691                     <JUMP + PHRASE79>
692 PHRASE78
693                     <SET TEMP23 '- (TYPE ATOM)>
694 PHRASE79
695                     <PUSH TEMP23>
696                     <DEAD TEMP23>
697                     <PUSH B2-22>
698                     <CALL '\1aIEMIT 4>
699 PHRASE75
700                     <FRAME '\1aFREE-TEMP>
701                     <PUSH STRN15>
702                     <DEAD STRN15>
703                     <CALL '\1aFREE-TEMP 1>
704                     <TYPE? BRANCH12 <TYPE-CODE FALSE> - PHRASE82>
705                     <FRAME '\1aTRUE-FALSE>
706                     <PUSH NOD9>
707                     <DEAD NOD9>
708                     <PUSH B2-22>
709                     <DEAD B2-22>
710                     <PUSH WHERE10>
711                     <DEAD WHERE10>
712                     <CALL '\1aTRUE-FALSE 3 = TEMP23>
713                     <RETURN TEMP23>
714                     <DEAD TEMP23>
715 PHRASE82
716                     <VEQUAL? FLS21 0 + TAG85>
717                     <DEAD FLS21>
718                     <RETURN %<>>
719 TAG85
720                     <FRAME '\1aMOVE-ARG>
721                     <FRAME '\1aREFERENCE>
722                     <PUSH SDIR18>
723                     <DEAD SDIR18>
724                     <CALL '\1aREFERENCE 1 = STACK>
725                     <PUSH WHERE10>
726                     <DEAD WHERE10>
727                     <CALL '\1aMOVE-ARG 2 = WHERE10>
728                     <FRAME '\1aBRANCH-TAG>
729                     <PUSH BRANCH12>
730                     <DEAD BRANCH12>
731                     <CALL '\1aBRANCH-TAG 1>
732                     <FRAME '\1aLABEL-TAG>
733                     <PUSH B2-22>
734                     <DEAD B2-22>
735                     <CALL '\1aLABEL-TAG 1>
736                     <RETURN WHERE10>
737                     <DEAD WHERE10>
738                     <END \1aMT-GEN>
739
740 #WORD *36015271720*
741                     <GFCN \1aREST-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
742                     <TEMP TEMP22 STRNOD6:NODE NUMNOD7:NODE TYP8 TPS9 NUMKN10 NUM11:FIX ML12:FIX TEMP3:LBIND LCAREFUL17 W18 TEMP40 RV19>
743                     <INTGO>
744                     <NTHUV NOD4 5 = TEMP22 (TYPE LIST)>
745                     <NTHL TEMP22 1 = STRNOD6 (TYPE NODE)>
746                     <DEAD TEMP22>
747                     <NTHUV NOD4 5 = TEMP22 (TYPE LIST)>
748                     <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
749                     <NTHL TEMP22 1 = NUMNOD7 (TYPE NODE)>
750                     <DEAD TEMP22>
751                     <NTHUV STRNOD6 3 = TYP8>
752                     <FRAME '\1aSTRUCTYP>
753                     <PUSH TYP8>
754                     <CALL '\1aSTRUCTYP 1 = TPS9>
755                     <NTHUV NUMNOD7 1 = TEMP22 (TYPE FIX)>
756                     <VEQUAL? TEMP22 2 - TAG24 (TYPE FIX)>
757                     <DEAD TEMP22>
758                     <SET NUMKN10 'T (TYPE ATOM)>
759                     <JUMP + TAG25>
760 TAG24
761                     <SET NUMKN10 %<> (TYPE FALSE)>
762 TAG25
763                     <VEQUAL? NUMKN10 0 + PHRASE27>
764                     <NTHUV NUMNOD7 4 = TEMP22>
765                     <TYPE? TEMP22 <TYPE-CODE OFFSET> - PHRASE29>
766                     <DEAD TEMP22>
767                     <NTHUV NUMNOD7 4 = TEMP22 (TYPE OFFSET)>
768                     <NTHUV TEMP22 1 = TEMP22>
769                     <JUMP + PHRASE31>
770 PHRASE29
771                     <NTHUV NUMNOD7 4 = TEMP22 (TYPE FIX)>
772                     <JUMP + PHRASE31>
773 PHRASE27
774                     <SET TEMP22 0 (TYPE FIX)>
775 PHRASE31
776                     <SET NUM11 TEMP22>
777                     <DEAD TEMP22>
778                     <FRAME '\1aMINL>
779                     <PUSH TYP8>
780                     <CALL '\1aMINL 1 = ML12>
781                     <GEN-LVAL 'NO-KILL = TEMP22>
782                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
783                     <BBIND 'NO-KILL 'LIST 'FIX TEMP22>
784                     <DEAD TEMP22>
785                     <GEN-LVAL 'CAREFUL = LCAREFUL17>
786                     <SET W18 WHERE5>
787                     <FRAME '\1aISTYPE?>
788                     <PUSH TYP8>
789                     <CALL '\1aISTYPE? 1 = TEMP40>
790                     <EQUAL? TEMP40 TPS9 + TAG38>
791                     <DEAD TEMP40>
792                     <SET TEMP22 'T (TYPE ATOM)>
793                     <JUMP + TAG42>
794 TAG38
795                     <NTHUV STRNOD6 1 = TEMP40 (TYPE FIX)>
796                     <VEQUAL? TEMP40 37 - TAG41 (TYPE FIX)>
797                     <DEAD TEMP40>
798                     <SET TEMP22 'T (TYPE ATOM)>
799                     <JUMP + TAG42>
800 TAG41
801                     <SET TEMP22 %<> (TYPE FALSE)>
802 TAG42
803                     <FRAME '\1aGET-RANGE>
804                     <NTHUV NUMNOD7 3 = STACK>
805                     <CALL '\1aGET-RANGE 1 = TEMP40>
806                     <FRAME '\1aCOMMUTE-STRUC>
807                     <PUSH %<>>
808                     <PUSH STRNOD6>
809                     <PUSH NUMNOD7>
810                     <CALL '\1aCOMMUTE-STRUC 3 = RV19>
811                     <VEQUAL? NUMKN10 0 + PHRASE46>
812                     <DEAD NUMKN10>
813                     <LESS? NUM11 0 - PHRASE48 (TYPE FIX)>
814                     <FRAME '\1aCOMPILE-ERROR>
815                     <PUSH "Negative ">
816                     <NTHUV NOD4 4 = STACK>
817                     <PUSH NOD4>
818                     <DEAD NOD4>
819                     <CALL '\1aCOMPILE-ERROR 3>
820                     <JUMP + PHRASE100>
821 PHRASE48
822                     <VEQUAL? NUM11 0 - PHRASE52 (TYPE FIX)>
823                     <EQUAL? WHERE5 'DONT-CARE - PHRASE56>
824                     <FRAME '\1aGEN-TEMP>
825                     <CALL '\1aGEN-TEMP 0 = W18>
826                     <SET WHERE5 W18>
827                     <JUMP + PHRASE62>
828 PHRASE56
829                     <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE58>
830                     <FRAME '\1aUSE-TEMP>
831                     <PUSH WHERE5>
832                     <VEQUAL? TEMP22 0 + PHRASE61>
833                     <SET TEMP40 'ANY (TYPE ATOM)>
834                     <JUMP + COND60>
835 PHRASE61
836                     <SET TEMP40 TYP8>
837                     <DEAD TYP8>
838 COND60
839                     <PUSH TEMP40>
840                     <DEAD TEMP40>
841                     <CALL '\1aUSE-TEMP 2>
842                     <JUMP + PHRASE62>
843 PHRASE58
844                     <GVAL 'POP-STACK = TEMP40>
845                     <EQUAL? TEMP40 WHERE5 - PHRASE62>
846                     <DEAD TEMP40>
847                     <VEQUAL? TEMP22 0 + PHRASE62>
848                     <FRAME '\1aGEN-TEMP>
849                     <PUSH 'ANY>
850                     <CALL '\1aGEN-TEMP 1 = W18>
851 PHRASE62
852                     <FRAME '\1aGEN>
853                     <PUSH STRNOD6>
854                     <DEAD STRNOD6>
855                     <PUSH W18>
856                     <CALL '\1aGEN 2>
857                     <JUMP + PHRASE100>
858 PHRASE52
859                     <EQUAL? TPS9 'LIST - PHRASE66>
860                     <TYPE? LCAREFUL17 <TYPE-CODE FALSE> + BOOL69>
861                     <GRTR? NUM11 ML12 + BOOL68 (TYPE FIX)>
862 BOOL69
863                     <GRTR? NUM11 4 + PHRASE66 (TYPE FIX)>
864 BOOL68
865                     <EQUAL? WHERE5 'DONT-CARE - PHRASE71>
866                     <FRAME '\1aGEN-TEMP>
867                     <PUSH %<>>
868                     <CALL '\1aGEN-TEMP 1 = W18>
869                     <SET WHERE5 W18>
870                     <JUMP + PHRASE73>
871 PHRASE71
872                     <TYPE? WHERE5 <TYPE-CODE TEMP> + PHRASE73>
873                     <GVAL 'POP-STACK = TEMP40>
874                     <EQUAL? TEMP40 WHERE5 - PHRASE73>
875                     <DEAD TEMP40>
876                     <VEQUAL? TEMP22 0 + PHRASE73>
877                     <FRAME '\1aGEN-TEMP>
878                     <PUSH %<>>
879                     <CALL '\1aGEN-TEMP 1 = W18>
880 PHRASE73
881                     <FRAME '\1aEXPANDED-LIST-REST>
882                     <FRAME '\1aGEN>
883                     <PUSH STRNOD6>
884                     <DEAD STRNOD6>
885                     <CALL '\1aGEN 1 = STACK>
886                     <PUSH NUM11>
887                     <DEAD NUM11>
888                     <PUSH ML12>
889                     <DEAD ML12>
890                     <PUSH LCAREFUL17>
891                     <DEAD LCAREFUL17>
892                     <PUSH W18>
893                     <DEAD W18>
894                     <CALL '\1aEXPANDED-LIST-REST 5 = W18>
895                     <JUMP + PHRASE100>
896 PHRASE66
897                     <TYPE? TPS9 <TYPE-CODE FALSE> + PHRASE78>
898                     <FRAME '\1aGEN>
899                     <PUSH STRNOD6>
900                     <DEAD STRNOD6>
901                     <CALL '\1aGEN 1 = NUMKN10>
902                     <TYPE? LCAREFUL17 <TYPE-CODE FALSE> + PHRASE81>
903                     <DEAD LCAREFUL17>
904                     <GRTR? NUM11 ML12 - PHRASE81 (TYPE FIX)>
905                     <DEAD ML12>
906                     <FRAME '\1aLENGTH-CHECK>
907                     <PUSH TPS9>
908                     <PUSH NUMKN10>
909                     <PUSH NUM11>
910                     <FRAME '\1aRECTYPE?>
911                     <PUSH TYP8>
912                     <CALL '\1aRECTYPE? 1 = STACK>
913                     <CALL '\1aLENGTH-CHECK 4>
914 PHRASE81
915                     <FRAME '\1aFREE-TEMP>
916                     <PUSH NUMKN10>
917                     <PUSH %<>>
918                     <CALL '\1aFREE-TEMP 2>
919                     <EQUAL? WHERE5 'DONT-CARE - PHRASE87>
920                     <FRAME '\1aGEN-TEMP>
921                     <VEQUAL? TEMP22 0 + PHRASE90>
922                     <SET TEMP40 'ANY (TYPE ATOM)>
923                     <JUMP + COND89>
924 PHRASE90
925                     <SET TEMP40 TYP8>
926 COND89
927                     <PUSH TEMP40>
928                     <DEAD TEMP40>
929                     <CALL '\1aGEN-TEMP 1 = W18>
930                     <SET WHERE5 W18>
931                     <JUMP + PHRASE95>
932 PHRASE87
933                     <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE91>
934                     <FRAME '\1aUSE-TEMP>
935                     <PUSH WHERE5>
936                     <VEQUAL? TEMP22 0 + PHRASE94>
937                     <SET TEMP40 'ANY (TYPE ATOM)>
938                     <JUMP + COND93>
939 PHRASE94
940                     <SET TEMP40 TYP8>
941 COND93
942                     <PUSH TEMP40>
943                     <DEAD TEMP40>
944                     <CALL '\1aUSE-TEMP 2>
945                     <JUMP + PHRASE95>
946 PHRASE91
947                     <GVAL 'POP-STACK = TEMP40>
948                     <EQUAL? TEMP40 WHERE5 - PHRASE95>
949                     <DEAD TEMP40>
950                     <VEQUAL? TEMP22 0 + PHRASE95>
951                     <FRAME '\1aGEN-TEMP>
952                     <CALL '\1aGEN-TEMP 0 = W18>
953 PHRASE95
954                     <FRAME '\1aREST-DO>
955                     <PUSH TPS9>
956                     <PUSH NUMKN10>
957                     <DEAD NUMKN10>
958                     <PUSH W18>
959                     <PUSH NUM11>
960                     <DEAD NUM11>
961                     <FRAME '\1aRECTYPE?>
962                     <PUSH TYP8>
963                     <DEAD TYP8>
964                     <CALL '\1aRECTYPE? 1 = STACK>
965                     <CALL '\1aREST-DO 5>
966                     <JUMP + PHRASE100>
967 PHRASE78
968                     <FRAME '\1aGEN>
969                     <PUSH STRNOD6>
970                     <DEAD STRNOD6>
971                     <CALL '\1aGEN 1 = NUMKN10>
972                     <FRAME '\1aFREE-TEMP>
973                     <PUSH NUMKN10>
974                     <PUSH %<>>
975                     <CALL '\1aFREE-TEMP 2>
976                     <EQUAL? WHERE5 'DONT-CARE - PHRASE104>
977                     <FRAME '\1aGEN-TEMP>
978                     <CALL '\1aGEN-TEMP 0 = W18>
979                     <SET WHERE5 W18>
980                     <JUMP + PHRASE106>
981 PHRASE104
982                     <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE106>
983                     <FRAME '\1aUSE-TEMP>
984                     <PUSH WHERE5>
985                     <CALL '\1aUSE-TEMP 1>
986 PHRASE106
987                     <SET TEMP22 %<> (TYPE FALSE)>
988                     <FRAME '\1aIEMIT>
989                     <PUSH '`REST1>
990                     <PUSH NUMKN10>
991                     <DEAD NUMKN10>
992                     <PUSH '=>
993                     <PUSH W18>
994                     <CALL '\1aIEMIT 4>
995 PHRASE100
996                     <VEQUAL? TEMP22 0 + PHRASE110>
997                     <DEAD TEMP22>
998                     <FRAME '\1aGEN-CHTYPE>
999                     <PUSH W18>
1000                     <DEAD W18>
1001                     <PUSH TPS9>
1002                     <DEAD TPS9>
1003                     <PUSH WHERE5>
1004                     <CALL '\1aGEN-CHTYPE 3>
1005 PHRASE110
1006                     <SET TEMP40 WHERE5>
1007                     <DEAD WHERE5>
1008                     <JUMP + PHRASE112>
1009 PHRASE46
1010                     <TYPE? RV19 <TYPE-CODE FALSE> + PHRASE114>
1011                     <DEAD RV19>
1012                     <FRAME '\1aGEN>
1013                     <PUSH NUMNOD7>
1014                     <DEAD NUMNOD7>
1015                     <PUSH 'DONT-CARE>
1016                     <CALL '\1aGEN 2 = RV19>
1017                     <FRAME '\1aINTERF-CHANGE>
1018                     <PUSH RV19>
1019                     <DEAD RV19>
1020                     <PUSH STRNOD6>
1021                     <CALL '\1aINTERF-CHANGE 2 = RV19>
1022                     <FRAME '\1aGEN>
1023                     <PUSH STRNOD6>
1024                     <DEAD STRNOD6>
1025                     <PUSH 'DONT-CARE>
1026                     <CALL '\1aGEN 2 = NUMKN10>
1027                     <JUMP + PHRASE118>
1028 PHRASE114
1029                     <FRAME '\1aGEN>
1030                     <PUSH STRNOD6>
1031                     <DEAD STRNOD6>
1032                     <PUSH 'DONT-CARE>
1033                     <CALL '\1aGEN 2 = NUMKN10>
1034                     <FRAME '\1aINTERF-CHANGE>
1035                     <PUSH NUMKN10>
1036                     <DEAD NUMKN10>
1037                     <PUSH NUMNOD7>
1038                     <CALL '\1aINTERF-CHANGE 2 = NUMKN10>
1039                     <FRAME '\1aGEN>
1040                     <PUSH NUMNOD7>
1041                     <DEAD NUMNOD7>
1042                     <PUSH 'DONT-CARE>
1043                     <CALL '\1aGEN 2 = RV19>
1044 PHRASE118
1045                     <TYPE? LCAREFUL17 <TYPE-CODE FALSE> + PHRASE123>
1046                     <TYPE? TEMP40 <TYPE-CODE FALSE> + BOOL125>
1047                     <NTHL TEMP40 1 = TEMP40 (TYPE FIX)>
1048                     <LESS? TEMP40 0 - PHRASE123 (TYPE FIX)>
1049                     <DEAD TEMP40>
1050 BOOL125
1051                     <EQUAL? TPS9 'LIST + PHRASE123>
1052                     <FRAME '\1aLENGTH-CHECK>
1053                     <PUSH TPS9>
1054                     <PUSH NUMKN10>
1055                     <PUSH RV19>
1056                     <FRAME '\1aRECTYPE?>
1057                     <PUSH TYP8>
1058                     <CALL '\1aRECTYPE? 1 = STACK>
1059                     <CALL '\1aLENGTH-CHECK 4>
1060 PHRASE123
1061                     <EQUAL? TPS9 'LIST + PHRASE132>
1062                     <FRAME '\1aFREE-TEMP>
1063                     <PUSH NUMKN10>
1064                     <PUSH %<>>
1065                     <CALL '\1aFREE-TEMP 2>
1066                     <FRAME '\1aFREE-TEMP>
1067                     <PUSH RV19>
1068                     <PUSH %<>>
1069                     <CALL '\1aFREE-TEMP 2>
1070 PHRASE132
1071                     <EQUAL? TPS9 'LIST - PHRASE136>
1072                     <GVAL 'POP-STACK = TEMP40>
1073                     <EQUAL? TEMP40 WHERE5 - PHRASE138>
1074                     <DEAD TEMP40>
1075                     <VEQUAL? TEMP22 0 + PHRASE138>
1076                     <FRAME '\1aGEN-TEMP>
1077                     <CALL '\1aGEN-TEMP 0 = W18>
1078 PHRASE138
1079                     <FRAME '\1aEXPANDED-LIST-REST>
1080                     <PUSH NUMKN10>
1081                     <DEAD NUMKN10>
1082                     <PUSH RV19>
1083                     <DEAD RV19>
1084                     <PUSH ML12>
1085                     <DEAD ML12>
1086                     <PUSH LCAREFUL17>
1087                     <DEAD LCAREFUL17>
1088                     <PUSH W18>
1089                     <DEAD W18>
1090                     <CALL '\1aEXPANDED-LIST-REST 5 = W18>
1091                     <VEQUAL? TEMP22 0 + BOOL144>
1092                     <EQUAL? WHERE5 'DONT-CARE - PHRASE145>
1093 BOOL144
1094                     <SET WHERE5 W18>
1095                     <JUMP + PHRASE145>
1096 PHRASE136
1097                     <EQUAL? WHERE5 'DONT-CARE - PHRASE147>
1098                     <FRAME '\1aGEN-TEMP>
1099                     <VEQUAL? TEMP22 0 + PHRASE150>
1100                     <SET TEMP40 'ANY (TYPE ATOM)>
1101                     <JUMP + COND149>
1102 PHRASE150
1103                     <SET TEMP40 TYP8>
1104 COND149
1105                     <PUSH TEMP40>
1106                     <DEAD TEMP40>
1107                     <CALL '\1aGEN-TEMP 1 = W18>
1108                     <SET WHERE5 W18>
1109                     <JUMP + PHRASE155>
1110 PHRASE147
1111                     <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE151>
1112                     <FRAME '\1aUSE-TEMP>
1113                     <PUSH WHERE5>
1114                     <VEQUAL? TEMP22 0 + PHRASE154>
1115                     <SET TEMP40 'ANY (TYPE ATOM)>
1116                     <JUMP + COND153>
1117 PHRASE154
1118                     <SET TEMP40 TYP8>
1119 COND153
1120                     <PUSH TEMP40>
1121                     <DEAD TEMP40>
1122                     <CALL '\1aUSE-TEMP 2>
1123                     <JUMP + PHRASE155>
1124 PHRASE151
1125                     <GVAL 'POP-STACK = TEMP40>
1126                     <EQUAL? TEMP40 WHERE5 - PHRASE155>
1127                     <DEAD TEMP40>
1128                     <VEQUAL? TEMP22 0 + PHRASE155>
1129                     <FRAME '\1aGEN-TEMP>
1130                     <CALL '\1aGEN-TEMP 0 = W18>
1131 PHRASE155
1132                     <FRAME '\1aREST-DO>
1133                     <PUSH TPS9>
1134                     <PUSH NUMKN10>
1135                     <DEAD NUMKN10>
1136                     <PUSH W18>
1137                     <PUSH RV19>
1138                     <DEAD RV19>
1139                     <FRAME '\1aRECTYPE?>
1140                     <PUSH TYP8>
1141                     <DEAD TYP8>
1142                     <CALL '\1aRECTYPE? 1 = STACK>
1143                     <CALL '\1aREST-DO 5>
1144 PHRASE145
1145                     <VEQUAL? TEMP22 0 + PHRASE161>
1146                     <DEAD TEMP22>
1147                     <FRAME '\1aGEN-CHTYPE>
1148                     <PUSH W18>
1149                     <DEAD W18>
1150                     <PUSH TPS9>
1151                     <DEAD TPS9>
1152                     <PUSH WHERE5>
1153                     <CALL '\1aGEN-CHTYPE 3>
1154 PHRASE161
1155                     <SET TEMP40 WHERE5>
1156                     <DEAD WHERE5>
1157 PHRASE112
1158                     <UNBIND TEMP3>
1159                     <DEAD TEMP3>
1160                     <ADJ -9>
1161                     <RETURN TEMP40>
1162                     <DEAD TEMP40>
1163                     <END \1aREST-GEN>
1164
1165 #WORD *33150202057*
1166 <GFCN \1aREST-DO ("VALUE" ANY ANY ANY ANY ANY "OPTIONAL" ANY) TPS6 STR7 WHERE8 NUM9 TYP10>
1167                     <OPT-DISPATCH 4 %<> OPT4 OPT5>
1168 OPT4
1169                     <PUSH 'ANY>
1170 OPT5
1171                     <TEMP TEMP15>
1172                     <INTGO>
1173                     <EQUAL? TPS6 'VECTOR + BOOL13>
1174                     <EQUAL? TPS6 'TUPLE - PHRASE12>
1175 BOOL13
1176                     <FRAME '\1aREST-VECTOR>
1177                     <PUSH STR7>
1178                     <DEAD STR7>
1179                     <PUSH WHERE8>
1180                     <DEAD WHERE8>
1181                     <PUSH NUM9>
1182                     <DEAD NUM9>
1183                     <PUSH TPS6>
1184                     <DEAD TPS6>
1185                     <CALL '\1aREST-VECTOR 4 = TEMP15>
1186                     <RETURN TEMP15>
1187                     <DEAD TEMP15>
1188 PHRASE12
1189                     <EQUAL? TPS6 'UVECTOR - PHRASE16>
1190                     <FRAME '\1aREST-UVECTOR>
1191                     <PUSH STR7>
1192                     <DEAD STR7>
1193                     <PUSH WHERE8>
1194                     <DEAD WHERE8>
1195                     <PUSH NUM9>
1196                     <DEAD NUM9>
1197                     <CALL '\1aREST-UVECTOR 3 = TEMP15>
1198                     <RETURN TEMP15>
1199                     <DEAD TEMP15>
1200 PHRASE16
1201                     <EQUAL? TPS6 'STRING - PHRASE18>
1202                     <FRAME '\1aREST-STRING>
1203                     <PUSH STR7>
1204                     <DEAD STR7>
1205                     <PUSH WHERE8>
1206                     <DEAD WHERE8>
1207                     <PUSH NUM9>
1208                     <DEAD NUM9>
1209                     <CALL '\1aREST-STRING 3 = TEMP15>
1210                     <RETURN TEMP15>
1211                     <DEAD TEMP15>
1212 PHRASE18
1213                     <EQUAL? TPS6 'BYTES - PHRASE20>
1214                     <FRAME '\1aREST-BYTES>
1215                     <PUSH STR7>
1216                     <DEAD STR7>
1217                     <PUSH WHERE8>
1218                     <DEAD WHERE8>
1219                     <PUSH NUM9>
1220                     <DEAD NUM9>
1221                     <CALL '\1aREST-BYTES 3 = TEMP15>
1222                     <RETURN TEMP15>
1223                     <DEAD TEMP15>
1224 PHRASE20
1225                     <EQUAL? TPS6 'LIST - PHRASE22>
1226                     <FRAME '\1aREST-LIST>
1227                     <PUSH STR7>
1228                     <DEAD STR7>
1229                     <PUSH WHERE8>
1230                     <DEAD WHERE8>
1231                     <PUSH NUM9>
1232                     <DEAD NUM9>
1233                     <CALL '\1aREST-LIST 3 = TEMP15>
1234                     <RETURN TEMP15>
1235                     <DEAD TEMP15>
1236 PHRASE22
1237                     <EQUAL? TPS6 'TEMPLATE - PHRASE24>
1238                     <FRAME '\1aREST-RECORD>
1239                     <PUSH STR7>
1240                     <DEAD STR7>
1241                     <PUSH WHERE8>
1242                     <DEAD WHERE8>
1243                     <PUSH NUM9>
1244                     <DEAD NUM9>
1245                     <PUSH TYP10>
1246                     <DEAD TYP10>
1247                     <CALL '\1aREST-RECORD 4 = TEMP15>
1248                     <RETURN TEMP15>
1249                     <DEAD TEMP15>
1250 PHRASE24
1251                     <FRAME '\1aREST-RECORD>
1252                     <PUSH STR7>
1253                     <DEAD STR7>
1254                     <PUSH WHERE8>
1255                     <DEAD WHERE8>
1256                     <PUSH NUM9>
1257                     <DEAD NUM9>
1258                     <PUSH TPS6>
1259                     <DEAD TPS6>
1260                     <CALL '\1aREST-RECORD 4 = TEMP15>
1261                     <RETURN TEMP15>
1262                     <DEAD TEMP15>
1263                     <END \1aREST-DO>
1264 #WORD *17512303541*
1265 <GFCN \1aNTH-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
1266                     <TEMP (K6 %<>) TEMP24 TYP8 TPS9 2ARG10:NODE NUMKN12 NUM13 NR14 LCAREFUL20 ML21:FIX RESTYP23>
1267                     <INTGO>
1268                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
1269                     <NTHL K6 1 = TEMP24 (TYPE NODE)>
1270                     <NTHUV TEMP24 3 = TYP8>
1271                     <DEAD TEMP24>
1272                     <FRAME '\1aSTRUCTYP>
1273                     <PUSH TYP8>
1274                     <CALL '\1aSTRUCTYP 1 = TPS9>
1275                     <RESTL K6 1 = TEMP24 (TYPE LIST)>
1276                     <NTHL TEMP24 1 = 2ARG10 (TYPE NODE)>
1277                     <DEAD TEMP24>
1278                     <NTHUV 2ARG10 1 = TEMP24 (TYPE FIX)>
1279                     <VEQUAL? TEMP24 2 - TAG26 (TYPE FIX)>
1280                     <DEAD TEMP24>
1281                     <SET NUMKN12 'T (TYPE ATOM)>
1282                     <JUMP + TAG27>
1283 TAG26
1284                     <SET NUMKN12 %<> (TYPE FALSE)>
1285 TAG27
1286                     <VEQUAL? NUMKN12 0 + PHRASE29>
1287                     <NTHUV 2ARG10 4 = TEMP24>
1288                     <TYPE? TEMP24 <TYPE-CODE OFFSET> - PHRASE31>
1289                     <DEAD TEMP24>
1290                     <NTHUV 2ARG10 4 = TEMP24 (TYPE OFFSET)>
1291                     <NTHUV TEMP24 1 = TEMP24>
1292                     <JUMP + PHRASE33>
1293 PHRASE31
1294                     <NTHUV 2ARG10 4 = TEMP24 (TYPE FIX)>
1295                     <JUMP + PHRASE33>
1296 PHRASE29
1297                     <SET TEMP24 1 (TYPE FIX)>
1298 PHRASE33
1299                     <SET NUM13 TEMP24>
1300                     <DEAD TEMP24>
1301                     <FRAME '\1aGET-RANGE>
1302                     <NTHUV 2ARG10 3 = STACK>
1303                     <CALL '\1aGET-RANGE 1 = NR14>
1304                     <NTHL K6 1 = K6 (TYPE NODE)>
1305                     <GEN-LVAL 'CAREFUL = LCAREFUL20>
1306                     <FRAME '\1aMINL>
1307                     <PUSH TYP8>
1308                     <CALL '\1aMINL 1 = ML21>
1309                     <NTHUV NOD4 4 = TEMP24>
1310                     <EQUAL? TEMP24 'INTH - TAG38>
1311                     <DEAD TEMP24>
1312                     <SET TEMP24 'T (TYPE ATOM)>
1313                     <JUMP + TAG39>
1314 TAG38
1315                     <SET TEMP24 %<> (TYPE FALSE)>
1316 TAG39
1317                     <FRAME '\1aISTYPE?>
1318                     <NTHUV NOD4 3 = STACK>
1319                     <CALL '\1aISTYPE? 1 = RESTYP23>
1320                     <VEQUAL? NUMKN12 0 + PHRASE42>
1321                     <PUTUV 2ARG10 4 NUM13>
1322 PHRASE42
1323                     <VEQUAL? NUMKN12 0 + PHRASE44>
1324                     <DEAD NUMKN12>
1325                     <GRTR? NUM13 0 + PHRASE46 (TYPE FIX)>
1326                     <FRAME '\1aCOMPILE-ERROR>
1327                     <PUSH "Negative or 0 ">
1328                     <NTHUV NOD4 4 = STACK>
1329                     <PUSH NOD4>
1330                     <DEAD NOD4>
1331                     <CALL '\1aCOMPILE-ERROR 3>
1332                     <RETURN WHERE5>
1333                     <DEAD WHERE5>
1334 PHRASE46
1335                     <VEQUAL? NUM13 1 - PHRASE50 (TYPE FIX)>
1336                     <FRAME '\1aGEN>
1337                     <PUSH K6>
1338                     <DEAD K6>
1339                     <CALL '\1aGEN 1 = NUMKN12>
1340                     <TYPE? TPS9 <TYPE-CODE FALSE> + PHRASE55>
1341                     <TYPE? LCAREFUL20 <TYPE-CODE FALSE> + PHRASE55>
1342                     <DEAD LCAREFUL20>
1343                     <VEQUAL? ML21 0 - PHRASE55 (TYPE FIX)>
1344                     <DEAD ML21>
1345                     <FRAME '\1aEMPTY-CHECK>
1346                     <PUSH TPS9>
1347                     <PUSH NUMKN12>
1348                     <FRAME '\1aRECTYPE?>
1349                     <PUSH TYP8>
1350                     <CALL '\1aRECTYPE? 1 = STACK>
1351                     <CALL '\1aEMPTY-CHECK 3>
1352 PHRASE55
1353                     <FRAME '\1aFREE-TEMP>
1354                     <PUSH NUMKN12>
1355                     <PUSH %<>>
1356                     <CALL '\1aFREE-TEMP 2>
1357                     <EQUAL? WHERE5 'DONT-CARE - PHRASE63>
1358                     <FRAME '\1aGEN-TEMP>
1359                     <NTHUV NOD4 3 = STACK>
1360                     <DEAD NOD4>
1361                     <CALL '\1aGEN-TEMP 1 = WHERE5>
1362                     <JUMP + PHRASE65>
1363 PHRASE63
1364                     <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE65>
1365                     <FRAME '\1aUSE-TEMP>
1366                     <PUSH WHERE5>
1367                     <NTHUV NOD4 3 = STACK>
1368                     <DEAD NOD4>
1369                     <CALL '\1aUSE-TEMP 2>
1370 PHRASE65
1371                     <TYPE? TPS9 <TYPE-CODE FALSE> + PHRASE68>
1372                     <FRAME '\1aNTH-DO>
1373                     <PUSH TPS9>
1374                     <DEAD TPS9>
1375                     <PUSH NUMKN12>
1376                     <DEAD NUMKN12>
1377                     <PUSH WHERE5>
1378                     <PUSH 1>
1379                     <FRAME '\1aRECTYPE?>
1380                     <PUSH TYP8>
1381                     <DEAD TYP8>
1382                     <CALL '\1aRECTYPE? 1 = STACK>
1383                     <PUSH RESTYP23>
1384                     <DEAD RESTYP23>
1385                     <CALL '\1aNTH-DO 6>
1386                     <RETURN WHERE5>
1387                     <DEAD WHERE5>
1388 PHRASE68
1389                     <FRAME '\1aIEMIT>
1390                     <PUSH '`NTH1>
1391                     <PUSH NUMKN12>
1392                     <DEAD NUMKN12>
1393                     <PUSH '=>
1394                     <PUSH WHERE5>
1395                     <CALL '\1aIEMIT 4>
1396                     <RETURN WHERE5>
1397                     <DEAD WHERE5>
1398 PHRASE50
1399                     <EQUAL? TPS9 'LIST - PHRASE73>
1400                     <TYPE? LCAREFUL20 <TYPE-CODE FALSE> + BOOL76>
1401                     <GRTR? NUM13 ML21 + BOOL75 (TYPE FIX)>
1402 BOOL76
1403                     <GRTR? NUM13 4 + PHRASE73 (TYPE FIX)>
1404 BOOL75
1405                     <FRAME '\1aEXPANDED-LIST-REST>
1406                     <FRAME '\1aGEN>
1407                     <PUSH K6>
1408                     <DEAD K6>
1409                     <CALL '\1aGEN 1 = STACK>
1410                     <PUSH NUM13>
1411                     <DEAD NUM13>
1412                     <PUSH ML21>
1413                     <DEAD ML21>
1414                     <PUSH LCAREFUL20>
1415                     <DEAD LCAREFUL20>
1416                     <CALL '\1aEXPANDED-LIST-REST 4 = NUMKN12>
1417                     <FRAME '\1aFREE-TEMP>
1418                     <PUSH NUMKN12>
1419                     <PUSH %<>>
1420                     <CALL '\1aFREE-TEMP 2>
1421                     <EQUAL? WHERE5 'DONT-CARE - PHRASE81>
1422                     <FRAME '\1aGEN-TEMP>
1423                     <NTHUV NOD4 3 = STACK>
1424                     <DEAD NOD4>
1425                     <CALL '\1aGEN-TEMP 1 = WHERE5>
1426                     <JUMP + PHRASE83>
1427 PHRASE81
1428                     <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE83>
1429                     <FRAME '\1aUSE-TEMP>
1430                     <PUSH WHERE5>
1431                     <NTHUV NOD4 3 = STACK>
1432                     <DEAD NOD4>
1433                     <CALL '\1aUSE-TEMP 2>
1434 PHRASE83
1435                     <FRAME '\1aNTH-DO>
1436                     <PUSH 'LIST>
1437                     <PUSH NUMKN12>
1438                     <DEAD NUMKN12>
1439                     <PUSH WHERE5>
1440                     <PUSH 1>
1441                     <PUSH 'LIST>
1442                     <PUSH RESTYP23>
1443                     <DEAD RESTYP23>
1444                     <CALL '\1aNTH-DO 6>
1445                     <RETURN WHERE5>
1446                     <DEAD WHERE5>
1447 PHRASE73
1448                     <FRAME '\1aGEN>
1449                     <PUSH K6>
1450                     <DEAD K6>
1451                     <PUSH 'DONT-CARE>
1452                     <CALL '\1aGEN 2 = NUMKN12>
1453                     <TYPE? LCAREFUL20 <TYPE-CODE FALSE> + PHRASE89>
1454                     <DEAD LCAREFUL20>
1455                     <GRTR? NUM13 ML21 - PHRASE89 (TYPE FIX)>
1456                     <DEAD ML21>
1457                     <FRAME '\1aLENGTH-CHECK>
1458                     <PUSH TPS9>
1459                     <PUSH NUMKN12>
1460                     <PUSH NUM13>
1461                     <FRAME '\1aRECTYPE?>
1462                     <PUSH TYP8>
1463                     <CALL '\1aRECTYPE? 1 = STACK>
1464                     <CALL '\1aLENGTH-CHECK 4>
1465 PHRASE89
1466                     <FRAME '\1aFREE-TEMP>
1467                     <PUSH NUMKN12>
1468                     <PUSH %<>>
1469                     <CALL '\1aFREE-TEMP 2>
1470                     <EQUAL? WHERE5 'DONT-CARE - PHRASE95>
1471                     <FRAME '\1aGEN-TEMP>
1472                     <NTHUV NOD4 3 = STACK>
1473                     <DEAD NOD4>
1474                     <CALL '\1aGEN-TEMP 1 = WHERE5>
1475                     <JUMP + PHRASE97>
1476 PHRASE95
1477                     <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE97>
1478                     <FRAME '\1aUSE-TEMP>
1479                     <PUSH WHERE5>
1480                     <NTHUV NOD4 3 = STACK>
1481                     <DEAD NOD4>
1482                     <CALL '\1aUSE-TEMP 2>
1483 PHRASE97
1484                     <FRAME '\1aNTH-DO>
1485                     <PUSH TPS9>
1486                     <DEAD TPS9>
1487                     <PUSH NUMKN12>
1488                     <DEAD NUMKN12>
1489                     <PUSH WHERE5>
1490                     <PUSH NUM13>
1491                     <DEAD NUM13>
1492                     <FRAME '\1aRECTYPE?>
1493                     <PUSH TYP8>
1494                     <DEAD TYP8>
1495                     <CALL '\1aRECTYPE? 1 = STACK>
1496                     <PUSH RESTYP23>
1497                     <DEAD RESTYP23>
1498                     <CALL '\1aNTH-DO 6>
1499                     <RETURN WHERE5>
1500                     <DEAD WHERE5>
1501 PHRASE44
1502                     <VEQUAL? TEMP24 0 + PHRASE103>
1503                     <DEAD TEMP24>
1504                     <FRAME '\1aGEN>
1505                     <PUSH 2ARG10>
1506                     <DEAD 2ARG10>
1507                     <PUSH 'DONT-CARE>
1508                     <CALL '\1aGEN 2 = NUM13>
1509                     <FRAME '\1aINTERF-CHANGE>
1510                     <PUSH NUM13>
1511                     <DEAD NUM13>
1512                     <PUSH K6>
1513                     <CALL '\1aINTERF-CHANGE 2 = NUM13>
1514                     <FRAME '\1aGEN>
1515                     <PUSH K6>
1516                     <DEAD K6>
1517                     <PUSH 'DONT-CARE>
1518                     <CALL '\1aGEN 2 = NUMKN12>
1519                     <JUMP + PHRASE107>
1520 PHRASE103
1521                     <FRAME '\1aGEN>
1522                     <PUSH K6>
1523                     <DEAD K6>
1524                     <PUSH 'DONT-CARE>
1525                     <CALL '\1aGEN 2 = NUMKN12>
1526                     <FRAME '\1aINTERF-CHANGE>
1527                     <PUSH NUMKN12>
1528                     <DEAD NUMKN12>
1529                     <PUSH 2ARG10>
1530                     <CALL '\1aINTERF-CHANGE 2 = NUMKN12>
1531                     <FRAME '\1aGEN>
1532                     <PUSH 2ARG10>
1533                     <DEAD 2ARG10>
1534                     <PUSH 'DONT-CARE>
1535                     <CALL '\1aGEN 2 = NUM13>
1536 PHRASE107
1537                     <TYPE? LCAREFUL20 <TYPE-CODE FALSE> + PHRASE112>
1538                     <TYPE? NR14 <TYPE-CODE FALSE> + BOOL114>
1539                     <NTHL NR14 1 = TEMP24>
1540                     <DEAD NR14>
1541                     <GRTR? TEMP24 0 + PHRASE112>
1542                     <DEAD TEMP24>
1543 BOOL114
1544                     <EQUAL? TPS9 'LIST + PHRASE112>
1545                     <FRAME '\1aLENGTH-CHECK>
1546                     <PUSH TPS9>
1547                     <PUSH NUMKN12>
1548                     <PUSH NUM13>
1549                     <FRAME '\1aRECTYPE?>
1550                     <PUSH TYP8>
1551                     <CALL '\1aRECTYPE? 1 = STACK>
1552                     <CALL '\1aLENGTH-CHECK 4>
1553 PHRASE112
1554                     <EQUAL? WHERE5 'DONT-CARE - PHRASE120>
1555                     <FRAME '\1aGEN-TEMP>
1556                     <NTHUV NOD4 3 = STACK>
1557                     <DEAD NOD4>
1558                     <CALL '\1aGEN-TEMP 1 = WHERE5>
1559                     <JUMP + PHRASE122>
1560 PHRASE120
1561                     <TYPE? WHERE5 <TYPE-CODE TEMP> - PHRASE122>
1562                     <FRAME '\1aUSE-TEMP>
1563                     <PUSH WHERE5>
1564                     <NTHUV NOD4 3 = STACK>
1565                     <DEAD NOD4>
1566                     <CALL '\1aUSE-TEMP 2>
1567 PHRASE122
1568                     <EQUAL? TPS9 'LIST - PHRASE125>
1569                     <FRAME '\1aEXPANDED-LIST-REST>
1570                     <PUSH NUMKN12>
1571                     <DEAD NUMKN12>
1572                     <PUSH NUM13>
1573                     <DEAD NUM13>
1574                     <PUSH ML21>
1575                     <DEAD ML21>
1576                     <PUSH LCAREFUL20>
1577                     <DEAD LCAREFUL20>
1578                     <CALL '\1aEXPANDED-LIST-REST 4 = NUMKN12>
1579                     <FRAME '\1aNTH-DO>
1580                     <PUSH 'LIST>
1581                     <PUSH NUMKN12>
1582                     <PUSH WHERE5>
1583                     <PUSH 1>
1584                     <PUSH 'LIST>
1585                     <PUSH RESTYP23>
1586                     <DEAD RESTYP23>
1587                     <CALL '\1aNTH-DO 6>
1588                     <FRAME '\1aFREE-TEMP>
1589                     <PUSH NUMKN12>
1590                     <DEAD NUMKN12>
1591                     <PUSH %<>>
1592                     <CALL '\1aFREE-TEMP 2>
1593                     <RETURN WHERE5>
1594                     <DEAD WHERE5>
1595 PHRASE125
1596                     <FRAME '\1aNTH-DO>
1597                     <PUSH TPS9>
1598                     <DEAD TPS9>
1599                     <PUSH NUMKN12>
1600                     <PUSH WHERE5>
1601                     <PUSH NUM13>
1602                     <FRAME '\1aRECTYPE?>
1603                     <PUSH TYP8>
1604                     <DEAD TYP8>
1605                     <CALL '\1aRECTYPE? 1 = STACK>
1606                     <PUSH RESTYP23>
1607                     <DEAD RESTYP23>
1608                     <CALL '\1aNTH-DO 6>
1609                     <FRAME '\1aFREE-TEMP>
1610                     <PUSH NUMKN12>
1611                     <DEAD NUMKN12>
1612                     <PUSH %<>>
1613                     <CALL '\1aFREE-TEMP 2>
1614                     <FRAME '\1aFREE-TEMP>
1615                     <PUSH NUM13>
1616                     <DEAD NUM13>
1617                     <PUSH %<>>
1618                     <CALL '\1aFREE-TEMP 2>
1619                     <RETURN WHERE5>
1620                     <DEAD WHERE5>
1621                     <END \1aNTH-GEN>
1622 #WORD *35070730272*
1623 <GFCN \1aEXPANDED-LIST-REST ("VALUE" ANY ANY ANY FIX ANY "OPTIONAL" ANY) STR6 NUM7 ML8 LCAREFUL9 W10>
1624                     <OPT-DISPATCH 4 %<> OPT4 OPT5>
1625 OPT4
1626                     <PUSH #T$UNBOUND 0>
1627 OPT5
1628                     <TEMP TG212 NUMN13 TEMP22 TG111 TEMP92:ATOM>
1629                     <INTGO>
1630                     <SET NUMN13 NUM7>
1631                     <TYPE? NUM7 <TYPE-CODE FIX> - PHRASE15>
1632                     <TYPE? W10 <TYPE-CODE UNBOUND> - PHRASE15>
1633                     <SUB NUM7 1 = NUM7 (TYPE FIX)>
1634 PHRASE15
1635                     <TYPE? NUM7 <TYPE-CODE FIX> - PHRASE18>
1636                     <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + PHRASE21>
1637                     <SET TEMP22 2 (TYPE FIX)>
1638                     <JUMP + PHRASE23>
1639 PHRASE21
1640                     <SET TEMP22 4 (TYPE FIX)>
1641 PHRASE23
1642                     <GRTR? NUM7 TEMP22 + PHRASE18 (TYPE FIX)>
1643                     <DEAD TEMP22>
1644                     <LOOP>
1645 AGAIN25
1646                     <INTGO>
1647                     <GRTR? ML8 0 + PHRASE27 (TYPE FIX)>
1648                     <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + PHRASE27>
1649                     <FRAME '\1aEMPTY-CHECK>
1650                     <PUSH 'LIST>
1651                     <PUSH STR6>
1652                     <PUSH 'LIST>
1653                     <CALL '\1aEMPTY-CHECK 3>
1654 PHRASE27
1655                     <TYPE? W10 <TYPE-CODE UNBOUND> + PHRASE33>
1656                     <VEQUAL? NUM7 1 - PHRASE33 (TYPE FIX)>
1657                     <FRAME '\1aFREE-TEMP>
1658                     <PUSH STR6>
1659                     <PUSH %<>>
1660                     <CALL '\1aFREE-TEMP 2>
1661                     <EQUAL? W10 'DONT-CARE - PHRASE39>
1662                     <FRAME '\1aGEN-TEMP>
1663                     <PUSH 'LIST>
1664                     <CALL '\1aGEN-TEMP 1 = W10>
1665                     <JUMP + PHRASE41>
1666 PHRASE39
1667                     <TYPE? W10 <TYPE-CODE TEMP> - PHRASE41>
1668                     <FRAME '\1aUSE-TEMP>
1669                     <PUSH W10>
1670                     <PUSH 'LIST>
1671                     <CALL '\1aUSE-TEMP 2>
1672 PHRASE41
1673                     <FRAME '\1aREST-DO>
1674                     <PUSH 'LIST>
1675                     <PUSH STR6>
1676                     <DEAD STR6>
1677                     <PUSH W10>
1678                     <PUSH 1>
1679                     <CALL '\1aREST-DO 4>
1680                     <SET STR6 W10>
1681                     <JUMP + PHRASE52>
1682 PHRASE33
1683                     <TYPE? STR6 <TYPE-CODE TEMP> - PHRASE44>
1684                     <NTHUV STR6 2 = TEMP22 (TYPE FIX)>
1685                     <GRTR? TEMP22 1 - BOOL46 (TYPE FIX)>
1686                     <DEAD TEMP22>
1687                     <TYPE? W10 <TYPE-CODE UNBOUND> + PHRASE44>
1688                     <EQUAL? STR6 W10 - PHRASE44>
1689 BOOL46
1690                     <FRAME '\1aREST-DO>
1691                     <PUSH 'LIST>
1692                     <PUSH STR6>
1693                     <PUSH STR6>
1694                     <PUSH 1>
1695                     <CALL '\1aREST-DO 4>
1696                     <JUMP + PHRASE52>
1697 PHRASE44
1698                     <FRAME '\1aFREE-TEMP>
1699                     <PUSH STR6>
1700                     <PUSH %<>>
1701                     <CALL '\1aFREE-TEMP 2>
1702                     <FRAME '\1aREST-DO>
1703                     <PUSH 'LIST>
1704                     <PUSH STR6>
1705                     <DEAD STR6>
1706                     <FRAME '\1aGEN-TEMP>
1707                     <PUSH 'LIST>
1708                     <CALL '\1aGEN-TEMP 1 = STR6>
1709                     <PUSH STR6>
1710                     <PUSH 1>
1711                     <CALL '\1aREST-DO 4>
1712 PHRASE52
1713                     <SUB NUM7 1 = NUM7 (TYPE FIX)>
1714                     <GRTR? NUM7 0 + PHRASE57 (TYPE FIX)>
1715                     <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + EXIT24>
1716                     <DEAD LCAREFUL9>
1717                     <TYPE? W10 <TYPE-CODE UNBOUND> - EXIT24>
1718                     <DEAD W10>
1719                     <GRTR? ML8 1 + EXIT24 (TYPE FIX)>
1720                     <DEAD ML8>
1721                     <FRAME '\1aEMPTY-CHECK>
1722                     <PUSH 'LIST>
1723                     <PUSH STR6>
1724                     <PUSH 'LIST>
1725                     <CALL '\1aEMPTY-CHECK 3>
1726                     <RETURN STR6>
1727                     <DEAD STR6>
1728 PHRASE57
1729                     <SUB ML8 1 = ML8 (TYPE FIX)>
1730                     <JUMP + AGAIN25>
1731 EXIT24
1732                     <RETURN STR6>
1733                     <DEAD STR6>
1734 PHRASE18
1735                     <TYPE? NUM7 <TYPE-CODE TEMP> - BOOL69>
1736                     <NTHUV NUM7 2 = TEMP22 (TYPE FIX)>
1737                     <GRTR? TEMP22 1 - PHRASE68 (TYPE FIX)>
1738                     <DEAD TEMP22>
1739 BOOL69
1740                     <FRAME '\1aMOVE-ARG>
1741                     <PUSH NUM7>
1742                     <FRAME '\1aGEN-TEMP>
1743                     <PUSH %<>>
1744                     <CALL '\1aGEN-TEMP 1 = STACK>
1745                     <CALL '\1aMOVE-ARG 2 = NUMN13>
1746 PHRASE68
1747                     <FRAME '\1aMAKE-TAG>
1748                     <PUSH "RESTL">
1749                     <CALL '\1aMAKE-TAG 1 = TG111>
1750                     <TYPE? STR6 <TYPE-CODE TEMP> - BOOL81>
1751                     <NTHUV STR6 2 = TEMP22 (TYPE FIX)>
1752                     <GRTR? TEMP22 1 - PHRASE76 (TYPE FIX)>
1753                     <DEAD TEMP22>
1754                     <TYPE? W10 <TYPE-CODE UNBOUND> + BOOL81>
1755                     <EQUAL? W10 STR6 + PHRASE76>
1756 BOOL81
1757                     <FRAME '\1aMOVE-ARG>
1758                     <PUSH STR6>
1759                     <DEAD STR6>
1760                     <FRAME '\1aGEN-TEMP>
1761                     <PUSH %<>>
1762                     <CALL '\1aGEN-TEMP 1 = STACK>
1763                     <CALL '\1aMOVE-ARG 2 = STR6>
1764 PHRASE76
1765                     <TYPE? NUM7 <TYPE-CODE FIX> + PHRASE85>
1766                     <FRAME '\1aMAKE-TAG>
1767                     <PUSH "RESTL">
1768                     <CALL '\1aMAKE-TAG 1 = TG212>
1769                     <TYPE? W10 <TYPE-CODE UNBOUND> - PHRASE88>
1770                     <FRAME '\1aIEMIT>
1771                     <PUSH '`SUB>
1772                     <PUSH NUMN13>
1773                     <PUSH 1>
1774                     <PUSH '=>
1775                     <PUSH NUMN13>
1776                     <PUSH (`TYPE FIX)>
1777                     <CALL '\1aIEMIT 6>
1778 PHRASE88
1779                     <FRAME '\1aIEMIT>
1780                     <PUSH '`GRTR?>
1781                     <PUSH NUMN13>
1782                     <PUSH 0>
1783                     <PUSH '->
1784                     <PUSH TG212>
1785                     <PUSH (`TYPE FIX)>
1786                     <CALL '\1aIEMIT 6>
1787 PHRASE85
1788                     <FRAME '\1aIEMIT>
1789                     <PUSH '`LOOP>
1790                     <CONS 'VALUE () = TEMP22>
1791                     <NTHUV STR6 1 = TEMP92 (TYPE ATOM)>
1792                     <CONS TEMP92 TEMP22 = STACK>
1793                     <DEAD TEMP92 TEMP22>
1794                     <CONS 'VALUE () = TEMP22>
1795                     <NTHUV NUMN13 1 = TEMP92 (TYPE ATOM)>
1796                     <CONS TEMP92 TEMP22 = STACK>
1797                     <DEAD TEMP92 TEMP22>
1798                     <CALL '\1aIEMIT 3>
1799                     <FRAME '\1aLABEL-TAG>
1800                     <PUSH TG111>
1801                     <CALL '\1aLABEL-TAG 1>
1802                     <FRAME '\1aIEMIT>
1803                     <PUSH '`INTGO>
1804                     <CALL '\1aIEMIT 1>
1805                     <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + PHRASE96>
1806                     <TYPE? NUM7 <TYPE-CODE FIX> - BOOL98>
1807                     <GRTR? NUM7 ML8 - PHRASE96 (TYPE FIX)>
1808                     <DEAD NUM7 ML8>
1809 BOOL98
1810                     <FRAME '\1aEMPTY-CHECK>
1811                     <PUSH 'LIST>
1812                     <PUSH STR6>
1813                     <PUSH 'LIST>
1814                     <CALL '\1aEMPTY-CHECK 3>
1815 PHRASE96
1816                     <FRAME '\1aREST-DO>
1817                     <PUSH 'LIST>
1818                     <PUSH STR6>
1819                     <PUSH STR6>
1820                     <PUSH 1>
1821                     <CALL '\1aREST-DO 4>
1822                     <FRAME '\1aIEMIT>
1823                     <PUSH '`SUB>
1824                     <PUSH NUMN13>
1825                     <PUSH 1>
1826                     <PUSH '=>
1827                     <PUSH NUMN13>
1828                     <PUSH (`TYPE FIX)>
1829                     <CALL '\1aIEMIT 6>
1830                     <FRAME '\1aIEMIT>
1831                     <PUSH '`GRTR?>
1832                     <PUSH NUMN13>
1833                     <PUSH 0>
1834                     <PUSH '+>
1835                     <PUSH TG111>
1836                     <DEAD TG111>
1837                     <PUSH (`TYPE FIX)>
1838                     <CALL '\1aIEMIT 6>
1839                     <TYPE? TG212 <TYPE-CODE UNBOUND> + PHRASE104>
1840                     <FRAME '\1aLABEL-TAG>
1841                     <PUSH TG212>
1842                     <DEAD TG212>
1843                     <CALL '\1aLABEL-TAG 1>
1844 PHRASE104
1845                     <FRAME '\1aFREE-TEMP>
1846                     <PUSH NUMN13>
1847                     <DEAD NUMN13>
1848                     <CALL '\1aFREE-TEMP 1>
1849                     <TYPE? LCAREFUL9 <TYPE-CODE FALSE> + PHRASE108>
1850                     <DEAD LCAREFUL9>
1851                     <TYPE? W10 <TYPE-CODE UNBOUND> - PHRASE108>
1852                     <FRAME '\1aEMPTY-CHECK>
1853                     <PUSH 'LIST>
1854                     <PUSH STR6>
1855                     <PUSH 'LIST>
1856                     <CALL '\1aEMPTY-CHECK 3>
1857 PHRASE108
1858                     <TYPE? W10 <TYPE-CODE UNBOUND> + PHRASE112>
1859                     <FRAME '\1aMOVE-ARG>
1860                     <PUSH STR6>
1861                     <DEAD STR6>
1862                     <PUSH W10>
1863                     <DEAD W10>
1864                     <CALL '\1aMOVE-ARG 2 = STR6>
1865 PHRASE112
1866                     <RETURN STR6>
1867                     <DEAD STR6>
1868                     <END \1aEXPANDED-LIST-REST>\r\r
1869 #WORD *37725671506*
1870 <GFCN \1aNTH-DO ("VALUE" ATOM ANY ANY ANY ANY "OPTIONAL" ANY ANY) TPS7 STR8 WHERE9 NUM10 TYP11 RESTYP12>
1871                     <OPT-DISPATCH 4 %<> OPT4 OPT5 OPT6>
1872 OPT4
1873                     <PUSH 'ANY>
1874 OPT5
1875                     <PUSH %<>>
1876 OPT6
1877                     <TEMP TEMP17:ATOM>
1878                     <INTGO>
1879                     <EQUAL? TPS7 'VECTOR + BOOL15>
1880                     <EQUAL? TPS7 'TUPLE - PHRASE14>
1881 BOOL15
1882                     <FRAME '\1aNTH-VECTOR>
1883                     <PUSH STR8>
1884                     <DEAD STR8>
1885                     <PUSH WHERE9>
1886                     <DEAD WHERE9>
1887                     <PUSH NUM10>
1888                     <DEAD NUM10>
1889                     <PUSH RESTYP12>
1890                     <DEAD RESTYP12>
1891                     <CALL '\1aNTH-VECTOR 4 = TEMP17>
1892                     <RETURN TEMP17>
1893                     <DEAD TEMP17>
1894 PHRASE14
1895                     <EQUAL? TPS7 'UVECTOR - PHRASE18>
1896                     <FRAME '\1aNTH-UVECTOR>
1897                     <PUSH STR8>
1898                     <DEAD STR8>
1899                     <PUSH WHERE9>
1900                     <DEAD WHERE9>
1901                     <PUSH NUM10>
1902                     <DEAD NUM10>
1903                     <PUSH RESTYP12>
1904                     <DEAD RESTYP12>
1905                     <CALL '\1aNTH-UVECTOR 4 = TEMP17>
1906                     <RETURN TEMP17>
1907                     <DEAD TEMP17>
1908 PHRASE18
1909                     <EQUAL? TPS7 'STRING - PHRASE20>
1910                     <FRAME '\1aNTH-STRING>
1911                     <PUSH STR8>
1912                     <DEAD STR8>
1913                     <PUSH WHERE9>
1914                     <DEAD WHERE9>
1915                     <PUSH NUM10>
1916                     <DEAD NUM10>
1917                     <PUSH RESTYP12>
1918                     <DEAD RESTYP12>
1919                     <CALL '\1aNTH-STRING 4 = TEMP17>
1920                     <RETURN TEMP17>
1921                     <DEAD TEMP17>
1922 PHRASE20
1923                     <EQUAL? TPS7 'BYTES - PHRASE22>
1924                     <FRAME '\1aNTH-BYTES>
1925                     <PUSH STR8>
1926                     <DEAD STR8>
1927                     <PUSH WHERE9>
1928                     <DEAD WHERE9>
1929                     <PUSH NUM10>
1930                     <DEAD NUM10>
1931                     <PUSH RESTYP12>
1932                     <DEAD RESTYP12>
1933                     <CALL '\1aNTH-BYTES 4 = TEMP17>
1934                     <RETURN TEMP17>
1935                     <DEAD TEMP17>
1936 PHRASE22
1937                     <EQUAL? TPS7 'LIST - PHRASE24>
1938                     <FRAME '\1aNTH-LIST>
1939                     <PUSH STR8>
1940                     <DEAD STR8>
1941                     <PUSH WHERE9>
1942                     <DEAD WHERE9>
1943                     <PUSH NUM10>
1944                     <DEAD NUM10>
1945                     <PUSH RESTYP12>
1946                     <DEAD RESTYP12>
1947                     <CALL '\1aNTH-LIST 4 = TEMP17>
1948                     <RETURN TEMP17>
1949                     <DEAD TEMP17>
1950 PHRASE24
1951                     <EQUAL? TPS7 'TEMPLATE - PHRASE26>
1952                     <FRAME '\1aNTH-RECORD>
1953                     <PUSH STR8>
1954                     <DEAD STR8>
1955                     <PUSH WHERE9>
1956                     <DEAD WHERE9>
1957                     <PUSH NUM10>
1958                     <DEAD NUM10>
1959                     <PUSH TYP11>
1960                     <DEAD TYP11>
1961                     <PUSH RESTYP12>
1962                     <DEAD RESTYP12>
1963                     <CALL '\1aNTH-RECORD 5 = TEMP17>
1964                     <RETURN TEMP17>
1965                     <DEAD TEMP17>
1966 PHRASE26
1967                     <FRAME '\1aNTH-RECORD>
1968                     <PUSH STR8>
1969                     <DEAD STR8>
1970                     <PUSH WHERE9>
1971                     <DEAD WHERE9>
1972                     <PUSH NUM10>
1973                     <DEAD NUM10>
1974                     <PUSH TPS7>
1975                     <DEAD TPS7>
1976                     <PUSH RESTYP12>
1977                     <DEAD RESTYP12>
1978                     <CALL '\1aNTH-RECORD 5 = TEMP17>
1979                     <RETURN TEMP17>
1980                     <DEAD TEMP17>
1981                     <END \1aNTH-DO>
1982 <SETG STYPES [LIST TUPLE VECTOR UVECTOR STORAGE STRING BYTES TEMPLATE]>
1983
1984 #WORD *16760540573*
1985 <GFCN \1aNTH-PRED ("VALUE" <OR ATOM !<FALSE>> FIX) C4>
1986                     <TEMP TEMP5>
1987                     <INTGO>
1988                     <VEQUAL? C4 1 - TAG6 (TYPE FIX)>
1989                     <DEAD C4>
1990                     <RETURN 'T>
1991 TAG6
1992                     <RETURN %<>>
1993                     <END \1aNTH-PRED>
1994 #WORD *7201607525*
1995 <GFCN \1aPUT-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY) NOD6 WHERE7 SAME?8>
1996                     <OPT-DISPATCH 2 %<> OPT4 OPT5>
1997 OPT4
1998                     <PUSH %<>>
1999 OPT5
2000                     <TEMP ONO9 K10 SNOD11:NODE TEMP30 NNOD12:NODE TYP14 TPS15 ML16:FIX NUMKN20 NUM21:FIX RV22 RR23 NR24 W26 ETYP25 TEMP61 TEMP62 VN17>
2001                     <INTGO>
2002                     <GEN-LVAL 'NO-KILL = ONO9>
2003                     <NTHUV NOD6 5 = K10 (TYPE LIST)>
2004                     <NTHL K10 1 = SNOD11 (TYPE NODE)>
2005                     <RESTL K10 1 = TEMP30 (TYPE LIST)>
2006                     <NTHL TEMP30 1 = NNOD12 (TYPE NODE)>
2007                     <DEAD TEMP30>
2008                     <RESTL K10 1 = TEMP30 (TYPE LIST)>
2009                     <DEAD K10>
2010                     <RESTL TEMP30 1 = TEMP30 (TYPE LIST)>
2011                     <NTHL TEMP30 1 = K10 (TYPE NODE)>
2012                     <DEAD TEMP30>
2013                     <NTHUV SNOD11 3 = TYP14>
2014                     <FRAME '\1aSTRUCTYP>
2015                     <PUSH TYP14>
2016                     <CALL '\1aSTRUCTYP 1 = TPS15>
2017                     <FRAME '\1aMINL>
2018                     <PUSH TYP14>
2019                     <CALL '\1aMINL 1 = ML16>
2020                     <NTHUV NNOD12 1 = TEMP30 (TYPE FIX)>
2021                     <VEQUAL? TEMP30 2 - TAG33 (TYPE FIX)>
2022                     <DEAD TEMP30>
2023                     <SET NUMKN20 'T (TYPE ATOM)>
2024                     <JUMP + TAG34>
2025 TAG33
2026                     <SET NUMKN20 %<> (TYPE FALSE)>
2027 TAG34
2028                     <VEQUAL? NUMKN20 0 + PHRASE36>
2029                     <NTHUV NNOD12 4 = TEMP30>
2030                     <TYPE? TEMP30 <TYPE-CODE OFFSET> - PHRASE38>
2031                     <DEAD TEMP30>
2032                     <NTHUV NNOD12 4 = TEMP30 (TYPE OFFSET)>
2033                     <NTHUV TEMP30 1 = TEMP30>
2034                     <JUMP + PHRASE40>
2035 PHRASE38
2036                     <NTHUV NNOD12 4 = TEMP30 (TYPE FIX)>
2037                     <JUMP + PHRASE40>
2038 PHRASE36
2039                     <SET TEMP30 1 (TYPE FIX)>
2040 PHRASE40
2041                     <SET NUM21 TEMP30>
2042                     <DEAD TEMP30>
2043                     <TYPE? SAME?8 <TYPE-CODE FALSE> + TAG42>
2044                     <SET TEMP30 %<> (TYPE FALSE)>
2045                     <JUMP + BOOL41>
2046 TAG42
2047                     <FRAME '\1aCOMMUTE-STRUC>
2048                     <PUSH %<>>
2049                     <PUSH NNOD12>
2050                     <PUSH SNOD11>
2051                     <CALL '\1aCOMMUTE-STRUC 3 = TEMP30>
2052 BOOL41
2053                     <SET RV22 TEMP30>
2054                     <DEAD TEMP30>
2055                     <TYPE? SAME?8 <TYPE-CODE FALSE> + TAG45>
2056                     <SET TEMP30 %<> (TYPE FALSE)>
2057                     <JUMP + BOOL44>
2058 TAG45
2059                     <FRAME '\1aCOMMUTE-STRUC>
2060                     <PUSH %<>>
2061                     <PUSH K10>
2062                     <PUSH SNOD11>
2063                     <CALL '\1aCOMMUTE-STRUC 3 = TEMP30>
2064                     <TYPE? TEMP30 <TYPE-CODE FALSE> + BOOL44>
2065                     <FRAME '\1aCOMMUTE-STRUC>
2066                     <PUSH %<>>
2067                     <PUSH K10>
2068                     <PUSH NNOD12>
2069                     <CALL '\1aCOMMUTE-STRUC 3 = TEMP30>
2070 BOOL44
2071                     <SET RR23 TEMP30>
2072                     <DEAD TEMP30>
2073                     <FRAME '\1aGET-RANGE>
2074                     <NTHUV NNOD12 3 = STACK>
2075                     <CALL '\1aGET-RANGE 1 = NR24>
2076                     <SET W26 WHERE7>
2077                     <DEAD WHERE7>
2078                     <VEQUAL? NUMKN20 0 + PHRASE50>
2079                     <PUTUV NNOD12 4 NUM21>
2080 PHRASE50
2081                     <FRAME '\1aGET-ELE-TYPE>
2082                     <PUSH TYP14>
2083                     <VEQUAL? NUMKN20 0 + PHRASE53>
2084                     <SET TEMP30 NUM21>
2085                     <JUMP + COND52>
2086 PHRASE53
2087                     <SET TEMP30 'ALL (TYPE ATOM)>
2088 COND52
2089                     <PUSH TEMP30>
2090                     <DEAD TEMP30>
2091                     <CALL '\1aGET-ELE-TYPE 2 = ETYP25>
2092                     <FRAME '\1aSTRUCTYP>
2093                     <PUSH ETYP25>
2094                     <CALL '\1aSTRUCTYP 1 = TEMP30>
2095                     <SET TEMP61 [VECTOR UVECTOR STRING BYTES] (TYPE VECTOR)>
2096                     <TYPE? TEMP30 <TYPE-CODE ATOM> - PHRASE55>
2097                     <LOOP (TEMP30 VALUE) (TEMP61 LENGTH VALUE)>
2098 TAG58
2099                     <NTHUV TEMP61 1 = TEMP62>
2100                     <VEQUAL? TEMP62 TEMP30 + TAG57>
2101                     <DEAD TEMP62>
2102                     <RESTUV TEMP61 1 = TEMP61 (TYPE VECTOR)>
2103                     <EMPUV? TEMP61 - TAG58>
2104                     <JUMP + PHRASE55>
2105 TAG57
2106                     <TYPE? ETYP25 <TYPE-CODE SEGMENT> + PHRASE55>
2107                     <TYPE? ETYP25 <TYPE-CODE ATOM> - BOOL63>
2108                     <FRAME '\1aDECL-GET>
2109                     <PUSH ETYP25>
2110                     <CALL '\1aDECL-GET 1 = TEMP61>
2111                     <TYPE? TEMP61 <TYPE-CODE SEGMENT> + PHRASE55>
2112                     <DEAD TEMP61>
2113 BOOL63
2114                     <SET ETYP25 %<> (TYPE FALSE)>
2115                     <JUMP + PHRASE65>
2116 PHRASE55
2117                     <FRAME '\1aISTYPE?>
2118                     <PUSH ETYP25>
2119                     <DEAD ETYP25>
2120                     <CALL '\1aISTYPE? 1 = ETYP25>
2121                     <FRAME '\1aISTYPE?>
2122                     <NTHUV K10 3 = STACK>
2123                     <CALL '\1aISTYPE? 1 = TEMP61>
2124                     <VEQUAL? ETYP25 TEMP61 + PHRASE65>
2125                     <DEAD TEMP61>
2126                     <SET ETYP25 %<> (TYPE FALSE)>
2127 PHRASE65
2128                     <VEQUAL? NUMKN20 0 + PHRASE69>
2129                     <DEAD NUMKN20>
2130                     <GRTR? NUM21 0 + PHRASE71 (TYPE FIX)>
2131                     <FRAME '\1aCOMPILE-ERROR>
2132                     <PUSH "PUT Number to small: ">
2133                     <PUSH NUM21>
2134                     <DEAD NUM21>
2135                     <PUSH NOD6>
2136                     <DEAD NOD6>
2137                     <CALL '\1aCOMPILE-ERROR 3>
2138                     <RETURN W26>
2139                     <DEAD W26>
2140 PHRASE71
2141                     <VEQUAL? NUM21 1 - PHRASE75 (TYPE FIX)>
2142                     <TYPE? RR23 <TYPE-CODE FALSE> + PHRASE79>
2143                     <DEAD RR23>
2144                     <FRAME '\1aGEN>
2145                     <PUSH K10>
2146                     <PUSH 'DONT-CARE>
2147                     <CALL '\1aGEN 2 = VN17>
2148                     <FRAME '\1aINTERF-CHANGE>
2149                     <PUSH VN17>
2150                     <DEAD VN17>
2151                     <PUSH SNOD11>
2152                     <CALL '\1aINTERF-CHANGE 2 = VN17>
2153                     <FRAME '\1aGEN>
2154                     <PUSH SNOD11>
2155                     <DEAD SNOD11>
2156                     <PUSH 'DONT-CARE>
2157                     <CALL '\1aGEN 2 = TEMP30>
2158                     <VEQUAL? ML16 0 - PHRASE104 (TYPE FIX)>
2159                     <DEAD ML16>
2160                     <GEN-LVAL 'CAREFUL = TEMP61>
2161                     <TYPE? TEMP61 <TYPE-CODE FALSE> + PHRASE104>
2162                     <DEAD TEMP61>
2163                     <FRAME '\1aEMPTY-CHECK>
2164                     <PUSH TPS15>
2165                     <PUSH TEMP30>
2166                     <FRAME '\1aRECTYPE?>
2167                     <PUSH TYP14>
2168                     <CALL '\1aRECTYPE? 1 = STACK>
2169                     <CALL '\1aEMPTY-CHECK 3>
2170                     <JUMP + PHRASE104>
2171 PHRASE79
2172                     <FRAME '\1aGEN>
2173                     <PUSH SNOD11>
2174                     <DEAD SNOD11>
2175                     <PUSH 'DONT-CARE>
2176                     <CALL '\1aGEN 2 = TEMP30>
2177                     <GEN-LVAL 'CAREFUL = TEMP61>
2178                     <TYPE? TEMP61 <TYPE-CODE FALSE> + PHRASE95>
2179                     <DEAD TEMP61>
2180                     <VEQUAL? ML16 0 - PHRASE95 (TYPE FIX)>
2181                     <DEAD ML16>
2182                     <FRAME '\1aEMPTY-CHECK>
2183                     <PUSH TPS15>
2184                     <PUSH TEMP30>
2185                     <FRAME '\1aRECTYPE?>
2186                     <PUSH TYP14>
2187                     <CALL '\1aRECTYPE? 1 = STACK>
2188                     <CALL '\1aEMPTY-CHECK 3>
2189 PHRASE95
2190                     <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE104>
2191                     <FRAME '\1aINTERF-CHANGE>
2192                     <PUSH TEMP30>
2193                     <DEAD TEMP30>
2194                     <PUSH K10>
2195                     <CALL '\1aINTERF-CHANGE 2 = TEMP30>
2196                     <FRAME '\1aGEN>
2197                     <PUSH K10>
2198                     <PUSH 'DONT-CARE>
2199                     <CALL '\1aGEN 2 = VN17>
2200 PHRASE104
2201                     <FRAME '\1aDELAY-KILL>
2202                     <GEN-LVAL 'NO-KILL = STACK>
2203                     <PUSH ONO9>
2204                     <DEAD ONO9>
2205                     <CALL '\1aDELAY-KILL 2>
2206                     <TYPE? SAME?8 <TYPE-CODE FALSE> + PHRASE111>
2207                     <FRAME '\1aSPEC-GEN>
2208                     <PUSH K10>
2209                     <DEAD K10>
2210                     <PUSH TEMP30>
2211                     <PUSH TPS15>
2212                     <DEAD TPS15>
2213                     <PUSH NUM21>
2214                     <DEAD NUM21>
2215                     <CALL '\1aSPEC-GEN 4>
2216                     <JUMP + PHRASE113>
2217 PHRASE111
2218                     <FRAME '\1aDATCLOB>
2219                     <PUSH TEMP30>
2220                     <PUSH NUM21>
2221                     <DEAD NUM21>
2222                     <PUSH VN17>
2223                     <PUSH TPS15>
2224                     <DEAD TPS15>
2225                     <PUSH TYP14>
2226                     <DEAD TYP14>
2227                     <PUSH ETYP25>
2228                     <DEAD ETYP25>
2229                     <CALL '\1aDATCLOB 6>
2230 PHRASE113
2231                     <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE116>
2232                     <DEAD SAME?8>
2233                     <FRAME '\1aFREE-TEMP>
2234                     <PUSH VN17>
2235                     <DEAD VN17>
2236                     <CALL '\1aFREE-TEMP 1>
2237 PHRASE116
2238                     <FRAME '\1aMOVE-ARG>
2239                     <PUSH TEMP30>
2240                     <DEAD TEMP30>
2241                     <PUSH W26>
2242                     <DEAD W26>
2243                     <CALL '\1aMOVE-ARG 2 = W26>
2244                     <RETURN W26>
2245                     <DEAD W26>
2246 PHRASE75
2247                     <TYPE? RR23 <TYPE-CODE FALSE> + PHRASE121>
2248                     <DEAD RR23>
2249                     <FRAME '\1aGEN>
2250                     <PUSH K10>
2251                     <PUSH 'DONT-CARE>
2252                     <CALL '\1aGEN 2 = VN17>
2253                     <FRAME '\1aINTERF-CHANGE>
2254                     <PUSH VN17>
2255                     <DEAD VN17>
2256                     <PUSH SNOD11>
2257                     <CALL '\1aINTERF-CHANGE 2 = VN17>
2258                     <FRAME '\1aGEN>
2259                     <PUSH SNOD11>
2260                     <DEAD SNOD11>
2261                     <PUSH 'DONT-CARE>
2262                     <CALL '\1aGEN 2 = TEMP30>
2263                     <JUMP + PHRASE128>
2264 PHRASE121
2265                     <FRAME '\1aGEN>
2266                     <PUSH SNOD11>
2267                     <DEAD SNOD11>
2268                     <PUSH 'DONT-CARE>
2269                     <CALL '\1aGEN 2 = TEMP30>
2270                     <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE128>
2271                     <FRAME '\1aINTERF-CHANGE>
2272                     <PUSH TEMP30>
2273                     <DEAD TEMP30>
2274                     <PUSH K10>
2275                     <CALL '\1aINTERF-CHANGE 2 = TEMP30>
2276                     <FRAME '\1aGEN>
2277                     <PUSH K10>
2278                     <PUSH 'DONT-CARE>
2279                     <CALL '\1aGEN 2 = VN17>
2280 PHRASE128
2281                     <FRAME '\1aDELAY-KILL>
2282                     <GEN-LVAL 'NO-KILL = STACK>
2283                     <PUSH ONO9>
2284                     <DEAD ONO9>
2285                     <CALL '\1aDELAY-KILL 2>
2286                     <GEN-LVAL 'CAREFUL = TEMP62>
2287                     <TYPE? TEMP62 <TYPE-CODE FALSE> + PHRASE135>
2288                     <DEAD TEMP62>
2289                     <LESS? ML16 NUM21 - PHRASE135 (TYPE FIX)>
2290                     <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE135>
2291                     <EQUAL? TPS15 'LIST + PHRASE135>
2292                     <FRAME '\1aLENGTH-CHECK>
2293                     <PUSH TPS15>
2294                     <PUSH TEMP30>
2295                     <PUSH NUM21>
2296                     <FRAME '\1aRECTYPE?>
2297                     <PUSH TYP14>
2298                     <CALL '\1aRECTYPE? 1 = STACK>
2299                     <CALL '\1aLENGTH-CHECK 4>
2300 PHRASE135
2301                     <SET ONO9 TEMP30>
2302                     <TYPE? SAME?8 <TYPE-CODE FALSE> + PHRASE142>
2303                     <FRAME '\1aSPEC-GEN>
2304                     <PUSH K10>
2305                     <DEAD K10>
2306                     <PUSH TEMP30>
2307                     <PUSH TPS15>
2308                     <DEAD TPS15>
2309                     <PUSH 1>
2310                     <CALL '\1aSPEC-GEN 4>
2311                     <JUMP + PHRASE157>
2312 PHRASE142
2313                     <EQUAL? TPS15 'LIST - PHRASE146>
2314                     <GEN-LVAL 'CAREFUL = TEMP62>
2315                     <TYPE? TEMP62 <TYPE-CODE FALSE> + BOOL149>
2316                     <DEAD TEMP62>
2317                     <GRTR? NUM21 ML16 + BOOL148 (TYPE FIX)>
2318 BOOL149
2319                     <GRTR? NUM21 4 + PHRASE146 (TYPE FIX)>
2320 BOOL148
2321                     <FRAME '\1aDATCLOB>
2322                     <FRAME '\1aEXPANDED-LIST-REST>
2323                     <FRAME '\1aUSE-TEMP>
2324                     <PUSH TEMP30>
2325                     <CALL '\1aUSE-TEMP 1 = STACK>
2326                     <PUSH NUM21>
2327                     <DEAD NUM21>
2328                     <PUSH ML16>
2329                     <DEAD ML16>
2330                     <GEN-LVAL 'CAREFUL = STACK>
2331                     <CALL '\1aEXPANDED-LIST-REST 4 = ONO9>
2332                     <PUSH ONO9>
2333                     <PUSH 1>
2334                     <PUSH VN17>
2335                     <PUSH TPS15>
2336                     <DEAD TPS15>
2337                     <PUSH TYP14>
2338                     <DEAD TYP14>
2339                     <PUSH ETYP25>
2340                     <DEAD ETYP25>
2341                     <CALL '\1aDATCLOB 6>
2342                     <JUMP + PHRASE157>
2343 PHRASE146
2344                     <FRAME '\1aDATCLOB>
2345                     <PUSH TEMP30>
2346                     <PUSH NUM21>
2347                     <DEAD NUM21>
2348                     <PUSH VN17>
2349                     <PUSH TPS15>
2350                     <DEAD TPS15>
2351                     <PUSH TYP14>
2352                     <DEAD TYP14>
2353                     <PUSH ETYP25>
2354                     <DEAD ETYP25>
2355                     <CALL '\1aDATCLOB 6>
2356 PHRASE157
2357                     <EQUAL? ONO9 TEMP30 + PHRASE160>
2358                     <FRAME '\1aFREE-TEMP>
2359                     <PUSH ONO9>
2360                     <DEAD ONO9>
2361                     <CALL '\1aFREE-TEMP 1>
2362 PHRASE160
2363                     <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE163>
2364                     <DEAD SAME?8>
2365                     <FRAME '\1aFREE-TEMP>
2366                     <PUSH VN17>
2367                     <DEAD VN17>
2368                     <CALL '\1aFREE-TEMP 1>
2369 PHRASE163
2370                     <FRAME '\1aMOVE-ARG>
2371                     <PUSH TEMP30>
2372                     <DEAD TEMP30>
2373                     <PUSH W26>
2374                     <DEAD W26>
2375                     <CALL '\1aMOVE-ARG 2 = W26>
2376                     <RETURN W26>
2377                     <DEAD W26>
2378 PHRASE69
2379                     <TYPE? RR23 <TYPE-CODE FALSE> + PHRASE168>
2380                     <FRAME '\1aGEN>
2381                     <PUSH K10>
2382                     <PUSH 'DONT-CARE>
2383                     <CALL '\1aGEN 2 = VN17>
2384                     <FRAME '\1aINTERF-CHANGE>
2385                     <PUSH VN17>
2386                     <DEAD VN17>
2387                     <PUSH SNOD11>
2388                     <CALL '\1aINTERF-CHANGE 2 = VN17>
2389                     <FRAME '\1aINTERF-CHANGE>
2390                     <PUSH VN17>
2391                     <DEAD VN17>
2392                     <PUSH NNOD12>
2393                     <CALL '\1aINTERF-CHANGE 2 = VN17>
2394 PHRASE168
2395                     <TYPE? RV22 <TYPE-CODE FALSE> + PHRASE173>
2396                     <DEAD RV22>
2397                     <FRAME '\1aGEN>
2398                     <PUSH NNOD12>
2399                     <DEAD NNOD12>
2400                     <PUSH 'DONT-CARE>
2401                     <CALL '\1aGEN 2 = NUMKN20>
2402                     <FRAME '\1aINTERF-CHANGE>
2403                     <PUSH NUMKN20>
2404                     <DEAD NUMKN20>
2405                     <PUSH SNOD11>
2406                     <CALL '\1aINTERF-CHANGE 2 = NUMKN20>
2407                     <FRAME '\1aGEN>
2408                     <PUSH SNOD11>
2409                     <DEAD SNOD11>
2410                     <PUSH 'DONT-CARE>
2411                     <CALL '\1aGEN 2 = TEMP30>
2412                     <TYPE? RR23 <TYPE-CODE FALSE> - PHRASE186>
2413                     <FRAME '\1aINTERF-CHANGE>
2414                     <PUSH NUMKN20>
2415                     <DEAD NUMKN20>
2416                     <PUSH K10>
2417                     <CALL '\1aINTERF-CHANGE 2 = NUMKN20>
2418                     <FRAME '\1aINTERF-CHANGE>
2419                     <PUSH TEMP30>
2420                     <DEAD TEMP30>
2421                     <PUSH K10>
2422                     <CALL '\1aINTERF-CHANGE 2 = TEMP30>
2423                     <JUMP + PHRASE186>
2424 PHRASE173
2425                     <FRAME '\1aGEN>
2426                     <PUSH SNOD11>
2427                     <DEAD SNOD11>
2428                     <PUSH 'DONT-CARE>
2429                     <CALL '\1aGEN 2 = TEMP30>
2430                     <FRAME '\1aINTERF-CHANGE>
2431                     <PUSH TEMP30>
2432                     <DEAD TEMP30>
2433                     <PUSH NNOD12>
2434                     <CALL '\1aINTERF-CHANGE 2 = TEMP30>
2435                     <FRAME '\1aGEN>
2436                     <PUSH NNOD12>
2437                     <DEAD NNOD12>
2438                     <PUSH 'DONT-CARE>
2439                     <CALL '\1aGEN 2 = NUMKN20>
2440                     <TYPE? RR23 <TYPE-CODE FALSE> - PHRASE186>
2441                     <FRAME '\1aINTERF-CHANGE>
2442                     <PUSH NUMKN20>
2443                     <DEAD NUMKN20>
2444                     <PUSH K10>
2445                     <CALL '\1aINTERF-CHANGE 2 = NUMKN20>
2446                     <FRAME '\1aINTERF-CHANGE>
2447                     <PUSH TEMP30>
2448                     <DEAD TEMP30>
2449                     <PUSH K10>
2450                     <CALL '\1aINTERF-CHANGE 2 = TEMP30>
2451 PHRASE186
2452                     <TYPE? RR23 <TYPE-CODE FALSE> + PHRASE190>
2453                     <FRAME '\1aDELAY-KILL>
2454                     <GEN-LVAL 'NO-KILL = STACK>
2455                     <PUSH ONO9>
2456                     <CALL '\1aDELAY-KILL 2>
2457 PHRASE190
2458                     <GEN-LVAL 'CAREFUL = RV22>
2459                     <TYPE? RV22 <TYPE-CODE FALSE> + PHRASE196>
2460                     <DEAD RV22>
2461                     <TYPE? NR24 <TYPE-CODE FALSE> + BOOL201>
2462                     <NTHL NR24 1 = RV22>
2463                     <GRTR? RV22 0 + PHRASE196>
2464                     <DEAD RV22>
2465 BOOL201
2466                     <FRAME '\1aIEMIT>
2467                     <PUSH '`GRTR?>
2468                     <PUSH NUMKN20>
2469                     <PUSH 0>
2470                     <PUSH '->
2471                     <PUSH '`COMPERR>
2472                     <PUSH (`TYPE FIX)>
2473                     <CALL '\1aIEMIT 6>
2474 PHRASE196
2475                     <GEN-LVAL 'CAREFUL = RV22>
2476                     <TYPE? RV22 <TYPE-CODE FALSE> + PHRASE206>
2477                     <DEAD RV22>
2478                     <EQUAL? TPS15 'LIST + PHRASE206>
2479                     <TYPE? NR24 <TYPE-CODE FALSE> + BOOL210>
2480                     <FRAME '\1aL=?>
2481                     <RESTL NR24 1 = RV22 (TYPE LIST)>
2482                     <DEAD NR24>
2483                     <NTHL RV22 1 = STACK>
2484                     <DEAD RV22>
2485                     <FRAME '\1aMINL>
2486                     <PUSH TYP14>
2487                     <CALL '\1aMINL 1 = STACK>
2488                     <CALL '\1aL=? 2 = RV22>
2489                     <TYPE? RV22 <TYPE-CODE FALSE> - PHRASE206>
2490                     <DEAD RV22>
2491 BOOL210
2492                     <FRAME '\1aLENGTH-CHECK>
2493                     <PUSH TPS15>
2494                     <PUSH TEMP30>
2495                     <PUSH NUMKN20>
2496                     <FRAME '\1aRECTYPE?>
2497                     <PUSH TYP14>
2498                     <CALL '\1aRECTYPE? 1 = STACK>
2499                     <CALL '\1aLENGTH-CHECK 4>
2500 PHRASE206
2501                     <TYPE? RR23 <TYPE-CODE FALSE> - PHRASE222>
2502                     <DEAD RR23>
2503                     <FRAME '\1aDELAY-KILL>
2504                     <GEN-LVAL 'NO-KILL = STACK>
2505                     <PUSH ONO9>
2506                     <DEAD ONO9>
2507                     <CALL '\1aDELAY-KILL 2>
2508                     <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE222>
2509                     <FRAME '\1aGEN>
2510                     <PUSH K10>
2511                     <PUSH 'DONT-CARE>
2512                     <CALL '\1aGEN 2 = VN17>
2513 PHRASE222
2514                     <TYPE? SAME?8 <TYPE-CODE FALSE> + PHRASE225>
2515                     <FRAME '\1aSPEC-GEN>
2516                     <PUSH K10>
2517                     <DEAD K10>
2518                     <PUSH NUMKN20>
2519                     <DEAD NUMKN20>
2520                     <PUSH TPS15>
2521                     <DEAD TPS15>
2522                     <PUSH 0>
2523                     <CALL '\1aSPEC-GEN 4>
2524                     <JUMP + PHRASE238>
2525 PHRASE225
2526                     <EQUAL? TPS15 'LIST - PHRASE229>
2527                     <GEN-LVAL 'CAREFUL = ONO9>
2528                     <TYPE? ONO9 <TYPE-CODE FALSE> + PHRASE229>
2529                     <DEAD ONO9>
2530                     <FRAME '\1aEXPANDED-LIST-REST>
2531                     <PUSH TEMP30>
2532                     <DEAD TEMP30>
2533                     <PUSH NUMKN20>
2534                     <DEAD NUMKN20>
2535                     <PUSH ML16>
2536                     <DEAD ML16>
2537                     <GEN-LVAL 'CAREFUL = STACK>
2538                     <CALL '\1aEXPANDED-LIST-REST 4 = TEMP30>
2539                     <FRAME '\1aDATCLOB>
2540                     <PUSH TEMP30>
2541                     <PUSH 1>
2542                     <PUSH VN17>
2543                     <PUSH TPS15>
2544                     <DEAD TPS15>
2545                     <PUSH TYP14>
2546                     <DEAD TYP14>
2547                     <PUSH ETYP25>
2548                     <DEAD ETYP25>
2549                     <CALL '\1aDATCLOB 6>
2550                     <JUMP + PHRASE238>
2551 PHRASE229
2552                     <FRAME '\1aDATCLOB>
2553                     <PUSH TEMP30>
2554                     <PUSH NUMKN20>
2555                     <PUSH VN17>
2556                     <PUSH TPS15>
2557                     <DEAD TPS15>
2558                     <PUSH TYP14>
2559                     <DEAD TYP14>
2560                     <PUSH ETYP25>
2561                     <DEAD ETYP25>
2562                     <CALL '\1aDATCLOB 6>
2563                     <FRAME '\1aFREE-TEMP>
2564                     <PUSH NUMKN20>
2565                     <DEAD NUMKN20>
2566                     <CALL '\1aFREE-TEMP 1>
2567 PHRASE238
2568                     <TYPE? SAME?8 <TYPE-CODE FALSE> - PHRASE242>
2569                     <DEAD SAME?8>
2570                     <FRAME '\1aFREE-TEMP>
2571                     <PUSH VN17>
2572                     <DEAD VN17>
2573                     <CALL '\1aFREE-TEMP 1>
2574 PHRASE242
2575                     <FRAME '\1aMOVE-ARG>
2576                     <PUSH TEMP30>
2577                     <DEAD TEMP30>
2578                     <PUSH W26>
2579                     <DEAD W26>
2580                     <CALL '\1aMOVE-ARG 2 = W26>
2581                     <RETURN W26>
2582                     <DEAD W26>
2583                     <END \1aPUT-GEN>\r\r
2584 #WORD *37506547046*
2585 <GFCN \1aDATCLOB ("VALUE" ATOM ANY ANY ANY ANY ANY ANY) STR4 NUM5 VDAT6 TPS7 TYP8 ETYP9>
2586                     <TEMP TEMP14>
2587                     <INTGO>
2588                     <TYPE? ETYP9 <TYPE-CODE FALSE> + PHRASE13>
2589                     <CONS ETYP9 () = TEMP14>
2590                     <DEAD ETYP9>
2591                     <CONS '`TYPE TEMP14 = ETYP9>
2592                     <DEAD TEMP14>
2593 PHRASE13
2594                     <EQUAL? TPS7 'LIST - PHRASE16>
2595                     <FRAME '\1aPUT-LIST>
2596                     <PUSH STR4>
2597                     <DEAD STR4>
2598                     <PUSH NUM5>
2599                     <DEAD NUM5>
2600                     <PUSH VDAT6>
2601                     <DEAD VDAT6>
2602                     <PUSH ETYP9>
2603                     <DEAD ETYP9>
2604                     <CALL '\1aPUT-LIST 4 = TEMP14>
2605                     <RETURN TEMP14>
2606                     <DEAD TEMP14>
2607 PHRASE16
2608                     <EQUAL? TPS7 'VECTOR + BOOL19>
2609                     <EQUAL? TPS7 'TUPLE - PHRASE18>
2610 BOOL19
2611                     <FRAME '\1aPUT-VECTOR>
2612                     <PUSH STR4>
2613                     <DEAD STR4>
2614                     <PUSH NUM5>
2615                     <DEAD NUM5>
2616                     <PUSH VDAT6>
2617                     <DEAD VDAT6>
2618                     <PUSH ETYP9>
2619                     <DEAD ETYP9>
2620                     <CALL '\1aPUT-VECTOR 4 = TEMP14>
2621                     <RETURN TEMP14>
2622                     <DEAD TEMP14>
2623 PHRASE18
2624                     <EQUAL? TPS7 'UVECTOR - PHRASE21>
2625                     <FRAME '\1aPUT-UVECTOR>
2626                     <PUSH STR4>
2627                     <DEAD STR4>
2628                     <PUSH NUM5>
2629                     <DEAD NUM5>
2630                     <PUSH VDAT6>
2631                     <DEAD VDAT6>
2632                     <CALL '\1aPUT-UVECTOR 3 = TEMP14>
2633                     <RETURN TEMP14>
2634                     <DEAD TEMP14>
2635 PHRASE21
2636                     <EQUAL? TPS7 'STRING - PHRASE23>
2637                     <FRAME '\1aPUT-STRING>
2638                     <PUSH STR4>
2639                     <DEAD STR4>
2640                     <PUSH NUM5>
2641                     <DEAD NUM5>
2642                     <PUSH VDAT6>
2643                     <DEAD VDAT6>
2644                     <CALL '\1aPUT-STRING 3 = TEMP14>
2645                     <RETURN TEMP14>
2646                     <DEAD TEMP14>
2647 PHRASE23
2648                     <EQUAL? TPS7 'BYTES - PHRASE25>
2649                     <FRAME '\1aPUT-BYTES>
2650                     <PUSH STR4>
2651                     <DEAD STR4>
2652                     <PUSH NUM5>
2653                     <DEAD NUM5>
2654                     <PUSH VDAT6>
2655                     <DEAD VDAT6>
2656                     <CALL '\1aPUT-BYTES 3 = TEMP14>
2657                     <RETURN TEMP14>
2658                     <DEAD TEMP14>
2659 PHRASE25
2660                     <EQUAL? TPS7 'TEMPLATE - PHRASE27>
2661                     <FRAME '\1aPUT-RECORD>
2662                     <PUSH STR4>
2663                     <DEAD STR4>
2664                     <PUSH NUM5>
2665                     <DEAD NUM5>
2666                     <PUSH VDAT6>
2667                     <DEAD VDAT6>
2668                     <FRAME '\1aRECTYPE?>
2669                     <PUSH TYP8>
2670                     <DEAD TYP8>
2671                     <CALL '\1aRECTYPE? 1 = STACK>
2672                     <PUSH ETYP9>
2673                     <DEAD ETYP9>
2674                     <CALL '\1aPUT-RECORD 5 = TEMP14>
2675                     <RETURN TEMP14>
2676                     <DEAD TEMP14>
2677 PHRASE27
2678                     <FRAME '\1aPUT-RECORD>
2679                     <PUSH STR4>
2680                     <DEAD STR4>
2681                     <PUSH NUM5>
2682                     <DEAD NUM5>
2683                     <PUSH VDAT6>
2684                     <DEAD VDAT6>
2685                     <PUSH TPS7>
2686                     <DEAD TPS7>
2687                     <PUSH ETYP9>
2688                     <DEAD ETYP9>
2689                     <CALL '\1aPUT-RECORD 5 = TEMP14>
2690                     <RETURN TEMP14>
2691                     <DEAD TEMP14>
2692                     <END \1aDATCLOB>
2693 #WORD *16137753046*
2694 <GFCN \1aRECTYPE? ("VALUE" ANY ANY) TYP4>
2695                     <TEMP TEMP6>
2696                     <INTGO>
2697                     <FRAME '\1aISTYPE?>
2698                     <PUSH TYP4>
2699                     <CALL '\1aISTYPE? 1 = TEMP6>
2700                     <TYPE? TEMP6 <TYPE-CODE FALSE> - PHRASE8>
2701                     <TYPE? TYP4 <TYPE-CODE FORM> + TAG10>
2702                     <TYPE? TYP4 <TYPE-CODE SEGMENT> + TAG10>
2703                     <RETURN %<>>
2704 TAG10
2705                     <EMPL? TYP4 + TAG13>
2706                     <RESTL TYP4 1 = TEMP6 (TYPE LIST)>
2707                     <EMPL? TEMP6 - TAG12>
2708                     <DEAD TEMP6>
2709 TAG13
2710                     <RETURN %<>>
2711 TAG12
2712                     <NTHL TYP4 1 = TEMP6>
2713                     <EQUAL? TEMP6 'OR + TAG15>
2714                     <DEAD TEMP6>
2715                     <RETURN %<>>
2716 TAG15
2717                     <FRAME '\1aRECTYPE?>
2718                     <RESTL TYP4 1 = TEMP6 (TYPE LIST)>
2719                     <DEAD TYP4>
2720                     <NTHL TEMP6 1 = STACK>
2721                     <DEAD TEMP6>
2722                     <CALL '\1aRECTYPE? 1 = TEMP6>
2723 PHRASE8
2724                     <RETURN TEMP6>
2725                     <DEAD TEMP6>
2726                     <END \1aRECTYPE?>
2727 #WORD *31040033227*
2728 <GFCN \1aPUTREST-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
2729                     <TEMP ST27 K8:LIST ONO9 TEMP3:LBIND (2RET11 %<>) TEMP18>
2730                     <INTGO>
2731                     <NTHUV NOD4 5 = K8 (TYPE LIST)>
2732                     <GEN-LVAL 'NO-KILL = ONO9>
2733                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
2734                     <BBIND 'NO-KILL 'LIST 'FIX ONO9>
2735                     <DEAD ONO9>
2736                     <NTHUV NOD4 9 = ONO9>
2737                     <DEAD NOD4>
2738                     <GVAL 'REST = TEMP18>
2739                     <EQUAL? ONO9 TEMP18 - PHRASE16>
2740                     <DEAD ONO9 TEMP18>
2741                     <NTHL K8 1 = NOD4 (TYPE NODE)>
2742                     <DEAD K8>
2743                     <NTHUV NOD4 5 = K8 (TYPE LIST)>
2744                     <DEAD NOD4>
2745                     <SET 2RET11 'T (TYPE ATOM)>
2746 PHRASE16
2747                     <RESTL K8 1 = TEMP18 (TYPE LIST)>
2748                     <NTHL TEMP18 1 = TEMP18 (TYPE NODE)>
2749                     <NTHUV TEMP18 1 = TEMP18 (TYPE FIX)>
2750                     <VEQUAL? TEMP18 2 - PHRASE20 (TYPE FIX)>
2751                     <DEAD TEMP18>
2752                     <RESTL K8 1 = TEMP18 (TYPE LIST)>
2753                     <NTHL TEMP18 1 = TEMP18 (TYPE NODE)>
2754                     <NTHUV TEMP18 4 = TEMP18>
2755                     <EQUAL? TEMP18 () - PHRASE20>
2756                     <DEAD TEMP18>
2757                     <FRAME '\1aGEN>
2758                     <NTHL K8 1 = STACK (TYPE NODE)>
2759                     <PUSH 'DONT-CARE>
2760                     <CALL '\1aGEN 2 = ONO9>
2761                     <JUMP + PHRASE23>
2762 PHRASE20
2763                     <FRAME '\1aGEN>
2764                     <NTHL K8 1 = STACK (TYPE NODE)>
2765                     <PUSH 'DONT-CARE>
2766                     <CALL '\1aGEN 2 = ONO9>
2767                     <FRAME '\1aINTERF-CHANGE>
2768                     <PUSH ONO9>
2769                     <DEAD ONO9>
2770                     <RESTL K8 1 = TEMP18 (TYPE LIST)>
2771                     <NTHL TEMP18 1 = STACK (TYPE NODE)>
2772                     <DEAD TEMP18>
2773                     <CALL '\1aINTERF-CHANGE 2 = ONO9>
2774                     <FRAME '\1aGEN>
2775                     <RESTL K8 1 = TEMP18 (TYPE LIST)>
2776                     <NTHL TEMP18 1 = STACK (TYPE NODE)>
2777                     <DEAD TEMP18>
2778                     <PUSH 'DONT-CARE>
2779                     <CALL '\1aGEN 2 = ST27>
2780 PHRASE23
2781                     <GEN-LVAL 'CAREFUL = TEMP18>
2782                     <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE28>
2783                     <DEAD TEMP18>
2784                     <FRAME '\1aMINL>
2785                     <NTHL K8 1 = TEMP18 (TYPE NODE)>
2786                     <DEAD K8>
2787                     <NTHUV TEMP18 3 = STACK>
2788                     <DEAD TEMP18>
2789                     <CALL '\1aMINL 1 = TEMP18>
2790                     <LESS? TEMP18 1 - PHRASE28 (TYPE FIX)>
2791                     <DEAD TEMP18>
2792                     <FRAME '\1aEMPTY-CHECK>
2793                     <PUSH 'LIST>
2794                     <PUSH ONO9>
2795                     <PUSH 'LIST>
2796                     <CALL '\1aEMPTY-CHECK 3>
2797 PHRASE28
2798                     <TYPE? ST27 <TYPE-CODE UNBOUND> + PHRASE37>
2799                     <FRAME '\1aIEMIT>
2800                     <PUSH '`PUTREST>
2801                     <PUSH ONO9>
2802                     <PUSH ST27>
2803                     <CALL '\1aIEMIT 3>
2804                     <JUMP + PHRASE39>
2805 PHRASE37
2806                     <FRAME '\1aIEMIT>
2807                     <PUSH '`PUTREST>
2808                     <PUSH ONO9>
2809                     <PUSH ()>
2810                     <CALL '\1aIEMIT 3>
2811 PHRASE39
2812                     <FRAME '\1aMOVE-ARG>
2813                     <VEQUAL? 2RET11 0 + PHRASE43>
2814                     <DEAD 2RET11>
2815                     <FRAME '\1aFREE-TEMP>
2816                     <PUSH ONO9>
2817                     <DEAD ONO9>
2818                     <CALL '\1aFREE-TEMP 1>
2819                     <SET TEMP18 ST27>
2820                     <DEAD ST27>
2821                     <JUMP + PHRASE45>
2822 PHRASE43
2823                     <FRAME '\1aFREE-TEMP>
2824                     <PUSH ST27>
2825                     <DEAD ST27>
2826                     <CALL '\1aFREE-TEMP 1>
2827                     <SET TEMP18 ONO9>
2828                     <DEAD ONO9>
2829 PHRASE45
2830                     <PUSH TEMP18>
2831                     <DEAD TEMP18>
2832                     <PUSH WHERE5>
2833                     <DEAD WHERE5>
2834                     <CALL '\1aMOVE-ARG 2 = TEMP18>
2835                     <UNBIND TEMP3>
2836                     <DEAD TEMP3>
2837                     <ADJ -9>
2838                     <RETURN TEMP18>
2839                     <DEAD TEMP18>
2840                     <END \1aPUTREST-GEN>
2841 #WORD *2334670404*
2842 <GFCN \1aSIDE-EFFECTS? ("VALUE" ANY NODE) N4>
2843                     <TEMP TEMP7>
2844                     <INTGO>
2845                     <NTHUV N4 1 = TEMP7 (TYPE FIX)>
2846                     <VEQUAL? TEMP7 2 - TAG8 (TYPE FIX)>
2847                     <DEAD TEMP7>
2848                     <RETURN %<>>
2849 TAG8
2850                     <NTHUV N4 8 = TEMP7>
2851                     <DEAD N4>
2852                     <RETURN TEMP7>
2853                     <DEAD TEMP7>
2854                     <END \1aSIDE-EFFECTS?>
2855 #WORD *5206706117*
2856 <GFCN \1aCOMMUTE-STRUC ("VALUE" ANY ANY NODE NODE) RV4 NUMNOD5 STRNOD6>
2857                     <TEMP (TEMP11 'T) L8:LIST TEMP20 N7:NODE CD9 TEMP24>
2858                     <INTGO>
2859                     <GEN-LVAL 'NO-KILL = L8>
2860                     <TYPE? RV4 <TYPE-CODE FALSE> - TAG21>
2861                     <NTHUV NUMNOD5 1 = TEMP20 (TYPE FIX)>
2862                     <VEQUAL? TEMP20 2 - BOOL19 (TYPE FIX)>
2863                     <DEAD TEMP20>
2864                     <SET TEMP11 %<> (TYPE FALSE)>
2865                     <JUMP + BOOL18>
2866 BOOL19
2867                     <NTHUV NUMNOD5 8 = TEMP20>
2868                     <TYPE? TEMP20 <TYPE-CODE FALSE> - TAG21>
2869                     <DEAD TEMP20>
2870 BOOL18
2871                     <SET N7 STRNOD6>
2872                     <NTHUV N7 1 = CD9 (TYPE FIX)>
2873                     <GVAL 'SNODES = TEMP20>
2874                     <EMPUU? TEMP20 + TAG21>
2875                     <LOOP (CD9 VALUE) (TEMP20 LENGTH VALUE)>
2876 TAG22
2877                     <NTHUU TEMP20 1 = TEMP24>
2878                     <VEQUAL? TEMP24 CD9 + TAG28>
2879                     <DEAD TEMP24>
2880                     <RESTUU TEMP20 1 = TEMP20 (TYPE UVECTOR)>
2881                     <EMPUU? TEMP20 - TAG22>
2882 TAG21
2883                     <TYPE? RV4 <TYPE-CODE FALSE> + PHRASE15>
2884                     <NTHUV STRNOD6 1 = TEMP20 (TYPE FIX)>
2885                     <VEQUAL? TEMP20 2 - BOOL27 (TYPE FIX)>
2886                     <DEAD TEMP20>
2887                     <SET TEMP11 %<> (TYPE FALSE)>
2888                     <JUMP + BOOL26>
2889 BOOL27
2890                     <NTHUV STRNOD6 8 = TEMP20>
2891                     <DEAD STRNOD6>
2892                     <TYPE? TEMP20 <TYPE-CODE FALSE> - PHRASE15>
2893                     <DEAD TEMP20>
2894 BOOL26
2895                     <SET N7 NUMNOD5>
2896                     <DEAD NUMNOD5>
2897                     <NTHUV N7 1 = CD9 (TYPE FIX)>
2898                     <GVAL 'SNODES = TEMP20>
2899                     <EMPUU? TEMP20 + TAG28>
2900                     <LOOP (CD9 VALUE) (TEMP20 LENGTH VALUE)>
2901 TAG29
2902                     <NTHUU TEMP20 1 = TEMP24>
2903                     <VEQUAL? TEMP24 CD9 + PHRASE15>
2904                     <DEAD TEMP24>
2905                     <RESTUU TEMP20 1 = TEMP20 (TYPE UVECTOR)>
2906                     <EMPUU? TEMP20 - TAG29>
2907 TAG28
2908                     <VEQUAL? TEMP11 0 + PHRASE32>
2909                     <DEAD TEMP11>
2910                     <VEQUAL? CD9 10 - PHRASE32 (TYPE FIX)>
2911                     <DEAD CD9>
2912                     <NTHUV N7 7 = CD9 (TYPE LIST)>
2913                     <EMPL? CD9 + PHRASE35>
2914                     <RESTL CD9 1 = TEMP20 (TYPE LIST)>
2915                     <EMPL? TEMP20 + PHRASE35>
2916                     <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
2917                     <EMPL? TEMP20 - PHRASE35>
2918                     <DEAD TEMP20>
2919                     <RESTL CD9 1 = TEMP20 (TYPE LIST)>
2920                     <DEAD CD9>
2921                     <NTHL TEMP20 1 = TEMP20>
2922                     <TYPE? TEMP20 <TYPE-CODE FALSE> + PHRASE32>
2923                     <DEAD TEMP20>
2924 PHRASE35
2925                     <NTHUV N7 4 = CD9>
2926                     <DEAD N7>
2927                     <TYPE? CD9 <TYPE-CODE FALSE> + PHRASE32>
2928                     <SET TEMP20 L8 (TYPE LIST)>
2929                     <LOOP>
2930 MAP38
2931                     <INTGO>
2932                     <EMPL? TEMP20 + MAPAP41>
2933                     <NTHL TEMP20 1 = TEMP11>
2934                     <NTHL TEMP11 1 = TEMP11 (TYPE SYMTAB)>
2935                     <EQUAL? TEMP11 CD9 + PHRASE32>
2936                     <DEAD TEMP11>
2937                     <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
2938                     <JUMP + MAP38>
2939 MAPAP41
2940                     <CONS %<> () = TEMP11>
2941                     <CONS CD9 TEMP11 = TEMP11>
2942                     <DEAD CD9>
2943                     <CONS TEMP11 L8 = TEMP11>
2944                     <DEAD L8>
2945                     <GEN-SET 'NO-KILL TEMP11>
2946                     <DEAD TEMP11>
2947 PHRASE32
2948                     <TYPE? RV4 <TYPE-CODE FALSE> - TAG51>
2949                     <DEAD RV4>
2950                     <RETURN 'T>
2951 TAG51
2952                     <RETURN %<>>
2953 PHRASE15
2954                     <RETURN RV4>
2955                     <DEAD RV4>
2956                     <END \1aCOMMUTE-STRUC>
2957 \\f
2958
2959 #WORD *37025417552*
2960 <GFCN \1aEMPTY-CHECK ("VALUE" <OR ATOM !<FORM ATOM [4 LVAL]>> ANY ANY ANY "OPTIONAL" ANY ANY) TPS7 STR8 TYP9 DIR10 TG11>
2961                     <OPT-DISPATCH 3 %<> OPT4 OPT5 OPT6>
2962 OPT4
2963                     <PUSH 'T>
2964 OPT5
2965                     <PUSH '`COMPERR>
2966 OPT6
2967                     <TEMP TEMP16>
2968                     <INTGO>
2969                     <EQUAL? TPS7 'VECTOR + BOOL14>
2970                     <EQUAL? TPS7 'TUPLE - PHRASE13>
2971 BOOL14
2972                     <FRAME '\1aEMPTY-VECTOR>
2973                     <PUSH STR8>
2974                     <DEAD STR8>
2975                     <PUSH TG11>
2976                     <DEAD TG11>
2977                     <PUSH DIR10>
2978                     <DEAD DIR10>
2979                     <CALL '\1aEMPTY-VECTOR 3 = TEMP16>
2980                     <RETURN TEMP16>
2981                     <DEAD TEMP16>
2982 PHRASE13
2983                     <EQUAL? TPS7 'UVECTOR - PHRASE17>
2984                     <FRAME '\1aEMPTY-UVECTOR>
2985                     <PUSH STR8>
2986                     <DEAD STR8>
2987                     <PUSH TG11>
2988                     <DEAD TG11>
2989                     <PUSH DIR10>
2990                     <DEAD DIR10>
2991                     <CALL '\1aEMPTY-UVECTOR 3 = TEMP16>
2992                     <RETURN TEMP16>
2993                     <DEAD TEMP16>
2994 PHRASE17
2995                     <EQUAL? TPS7 'STRING - PHRASE19>
2996                     <FRAME '\1aEMPTY-STRING>
2997                     <PUSH STR8>
2998                     <DEAD STR8>
2999                     <PUSH TG11>
3000                     <DEAD TG11>
3001                     <PUSH DIR10>
3002                     <DEAD DIR10>
3003                     <CALL '\1aEMPTY-STRING 3 = TEMP16>
3004                     <RETURN TEMP16>
3005                     <DEAD TEMP16>
3006 PHRASE19
3007                     <EQUAL? TPS7 'BYTES - PHRASE21>
3008                     <FRAME '\1aEMPTY-BYTES>
3009                     <PUSH STR8>
3010                     <DEAD STR8>
3011                     <PUSH TG11>
3012                     <DEAD TG11>
3013                     <PUSH DIR10>
3014                     <DEAD DIR10>
3015                     <CALL '\1aEMPTY-BYTES 3 = TEMP16>
3016                     <RETURN TEMP16>
3017                     <DEAD TEMP16>
3018 PHRASE21
3019                     <EQUAL? TPS7 'LIST - PHRASE23>
3020                     <FRAME '\1aEMPTY-LIST>
3021                     <PUSH STR8>
3022                     <DEAD STR8>
3023                     <PUSH TG11>
3024                     <DEAD TG11>
3025                     <PUSH DIR10>
3026                     <DEAD DIR10>
3027                     <CALL '\1aEMPTY-LIST 3 = TEMP16>
3028                     <RETURN TEMP16>
3029                     <DEAD TEMP16>
3030 PHRASE23
3031                     <EQUAL? TPS7 'TEMPLATE - PHRASE25>
3032                     <DEAD TPS7>
3033                     <RETURN <EMPTY-RECORD .STR .TG .DIR .TYP>>
3034 PHRASE25
3035                     <RETURN <EMPTY-RECORD .STR .TG .DIR .TPS>>
3036                     <END \1aEMPTY-CHECK>
3037 #WORD *3030630610*
3038 <GFCN \1aLENGTH-CHECK ("VALUE" ANY ANY ANY ANY ANY) TPS4 STR5 NUM6 TYP7>
3039                     <TEMP TMP8>
3040                     <INTGO>
3041                     <FRAME '\1aGEN-TEMP>
3042                     <PUSH 'FIX>
3043                     <CALL '\1aGEN-TEMP 1 = TMP8>
3044                     <EQUAL? TPS4 'VECTOR + BOOL16>
3045                     <EQUAL? TPS4 'TUPLE - PHRASE15>
3046 BOOL16
3047                     <FRAME '\1aLENGTH-VECTOR>
3048                     <PUSH STR5>
3049                     <DEAD STR5>
3050                     <PUSH TMP8>
3051                     <CALL '\1aLENGTH-VECTOR 2>
3052                     <JUMP + PHRASE26>
3053 PHRASE15
3054                     <EQUAL? TPS4 'LIST - PHRASE18>
3055                     <FRAME '\1aLENGTH-LIST>
3056                     <PUSH STR5>
3057                     <DEAD STR5>
3058                     <PUSH TMP8>
3059                     <CALL '\1aLENGTH-LIST 2>
3060                     <JUMP + PHRASE26>
3061 PHRASE18
3062                     <EQUAL? TPS4 'UVECTOR - PHRASE20>
3063                     <FRAME '\1aLENGTH-UVECTOR>
3064                     <PUSH STR5>
3065                     <DEAD STR5>
3066                     <PUSH TMP8>
3067                     <CALL '\1aLENGTH-UVECTOR 2>
3068                     <JUMP + PHRASE26>
3069 PHRASE20
3070                     <EQUAL? TPS4 'STRING - PHRASE22>
3071                     <FRAME '\1aLENGTH-STRING>
3072                     <PUSH STR5>
3073                     <DEAD STR5>
3074                     <PUSH TMP8>
3075                     <CALL '\1aLENGTH-STRING 2>
3076                     <JUMP + PHRASE26>
3077 PHRASE22
3078                     <EQUAL? TPS4 'BYTES - PHRASE24>
3079                     <DEAD TPS4>
3080                     <FRAME '\1aLENGTH-BYTES>
3081                     <PUSH STR5>
3082                     <DEAD STR5>
3083                     <PUSH TMP8>
3084                     <CALL '\1aLENGTH-BYTES 2>
3085                     <JUMP + PHRASE26>
3086 PHRASE24
3087                     <FRAME '\1aFREE-TEMP>
3088                     <PUSH TMP8>
3089                     <DEAD TMP8>
3090                     <CALL '\1aFREE-TEMP 1>
3091                     <RETURN 'T>
3092 PHRASE26
3093                     <FRAME '\1aIEMIT>
3094                     <PUSH '`LESS?>
3095                     <PUSH TMP8>
3096                     <PUSH NUM6>
3097                     <DEAD NUM6>
3098                     <PUSH '+>
3099                     <PUSH '`COMPERR>
3100                     <PUSH (`TYPE FIX)>
3101                     <CALL '\1aIEMIT 6>
3102                     <FRAME '\1aFREE-TEMP>
3103                     <PUSH TMP8>
3104                     <DEAD TMP8>
3105                     <CALL '\1aFREE-TEMP 1 = TMP8>
3106                     <RETURN TMP8>
3107                     <DEAD TMP8>
3108                     <END \1aLENGTH-CHECK>
3109 #WORD *12423013474*
3110 <GFCN \1aTOP-GEN ("VALUE" ANY NODE ANY) N4 W5>
3111                     <TEMP TEMP8>
3112                     <INTGO>
3113                     <FRAME '\1aGEN>
3114                     <NTHUV N4 5 = TEMP8 (TYPE LIST)>
3115                     <DEAD N4>
3116                     <NTHL TEMP8 1 = STACK (TYPE NODE)>
3117                     <DEAD TEMP8>
3118                     <PUSH 'DONT-CARE>
3119                     <CALL '\1aGEN 2 = TEMP8>
3120                     <FRAME '\1aFREE-TEMP>
3121                     <PUSH TEMP8>
3122                     <PUSH %<>>
3123                     <CALL '\1aFREE-TEMP 2>
3124                     <FRAME '\1aIEMIT>
3125                     <PUSH '`TOPU>
3126                     <PUSH TEMP8>
3127                     <DEAD TEMP8>
3128                     <PUSH '=>
3129                     <EQUAL? W5 'DONT-CARE - PHRASE12>
3130                     <FRAME '\1aGEN-TEMP>
3131                     <CALL '\1aGEN-TEMP 0 = W5>
3132                     <SET TEMP8 W5>
3133                     <JUMP + PHRASE16>
3134 PHRASE12
3135                     <TYPE? W5 <TYPE-CODE TEMP> - PHRASE14>
3136                     <FRAME '\1aUSE-TEMP>
3137                     <PUSH W5>
3138                     <CALL '\1aUSE-TEMP 1>
3139                     <SET TEMP8 W5>
3140                     <JUMP + PHRASE16>
3141 PHRASE14
3142                     <SET TEMP8 W5>
3143 PHRASE16
3144                     <PUSH TEMP8>
3145                     <DEAD TEMP8>
3146                     <CALL '\1aIEMIT 4>
3147                     <RETURN W5>
3148                     <DEAD W5>
3149                     <END \1aTOP-GEN>
3150 #WORD *16561550304*
3151                     <GFCN \1aBACK-GEN ("VALUE" ANY NODE ANY) N4 W5>
3152                     <TEMP K8:LIST D6 TEMP14>
3153                     <INTGO>
3154                     <NTHUV N4 5 = K8 (TYPE LIST)>
3155                     <DEAD N4>
3156                     <FRAME '\1aGEN>
3157                     <NTHL K8 1 = STACK (TYPE NODE)>
3158                     <PUSH 'DONT-CARE>
3159                     <CALL '\1aGEN 2 = D6>
3160                     <RESTL K8 1 = TEMP14 (TYPE LIST)>
3161                     <EMPL? TEMP14 - BOOL13 (TYPE LIST)>
3162                     <DEAD TEMP14>
3163                     <SET TEMP14 1 (TYPE FIX)>
3164                     <JUMP + BOOL12>
3165 BOOL13
3166                     <RESTL K8 1 = TEMP14 (TYPE LIST)>
3167                     <NTHL TEMP14 1 = TEMP14 (TYPE NODE)>
3168                     <NTHUV TEMP14 1 = TEMP14 (TYPE FIX)>
3169                     <VEQUAL? TEMP14 2 - PHRASE11 (TYPE FIX)>
3170                     <DEAD TEMP14>
3171                     <RESTL K8 1 = TEMP14 (TYPE LIST)>
3172                     <NTHL TEMP14 1 = TEMP14 (TYPE NODE)>
3173                     <NTHUV TEMP14 4 = TEMP14>
3174                     <TYPE? TEMP14 <TYPE-CODE FALSE> + PHRASE11>
3175 BOOL12
3176                     <TYPE? TEMP14 <TYPE-CODE OFFSET> - PHRASE17>
3177                     <NTHUV TEMP14 1 = TEMP14>
3178 PHRASE17
3179                     <FRAME '\1aFREE-TEMP>
3180                     <PUSH D6>
3181                     <PUSH %<>>
3182                     <CALL '\1aFREE-TEMP 2>
3183                     <FRAME '\1aIEMIT>
3184                     <PUSH '`BACKU>
3185                     <PUSH D6>
3186                     <DEAD D6>
3187                     <PUSH TEMP14>
3188                     <DEAD TEMP14>
3189                     <PUSH '=>
3190                     <EQUAL? W5 'DONT-CARE - PHRASE21>
3191                     <FRAME '\1aGEN-TEMP>
3192                     <CALL '\1aGEN-TEMP 0 = W5>
3193                     <SET TEMP14 W5>
3194                     <JUMP + PHRASE25>
3195 PHRASE21
3196                     <TYPE? W5 <TYPE-CODE TEMP> - PHRASE23>
3197                     <FRAME '\1aUSE-TEMP>
3198                     <PUSH W5>
3199                     <CALL '\1aUSE-TEMP 1>
3200                     <SET TEMP14 W5>
3201                     <JUMP + PHRASE25>
3202 PHRASE23
3203                     <SET TEMP14 W5>
3204 PHRASE25
3205                     <PUSH TEMP14>
3206                     <DEAD TEMP14>
3207                     <CALL '\1aIEMIT 5>
3208                     <RETURN W5>
3209                     <DEAD W5>
3210 PHRASE11
3211                     <FRAME '\1aFREE-TEMP>
3212                     <FRAME '\1aGEN>
3213                     <RESTL K8 1 = TEMP14 (TYPE LIST)>
3214                     <DEAD K8>
3215                     <NTHL TEMP14 1 = STACK (TYPE NODE)>
3216                     <DEAD TEMP14>
3217                     <PUSH 'DONT-CARE>
3218                     <CALL '\1aGEN 2 = TEMP14>
3219                     <PUSH TEMP14>
3220                     <PUSH %<>>
3221                     <CALL '\1aFREE-TEMP 2>
3222                     <FRAME '\1aFREE-TEMP>
3223                     <PUSH D6>
3224                     <PUSH %<>>
3225                     <CALL '\1aFREE-TEMP 2>
3226                     <FRAME '\1aIEMIT>
3227                     <PUSH '`BACKU>
3228                     <PUSH D6>
3229                     <DEAD D6>
3230                     <PUSH TEMP14>
3231                     <DEAD TEMP14>
3232                     <PUSH '=>
3233                     <EQUAL? W5 'DONT-CARE - PHRASE32>
3234                     <FRAME '\1aGEN-TEMP>
3235                     <CALL '\1aGEN-TEMP 0 = W5>
3236                     <SET TEMP14 W5>
3237                     <JUMP + PHRASE36>
3238 PHRASE32
3239                     <TYPE? W5 <TYPE-CODE TEMP> - PHRASE34>
3240                     <FRAME '\1aUSE-TEMP>
3241                     <PUSH W5>
3242                     <CALL '\1aUSE-TEMP 1>
3243                     <SET TEMP14 W5>
3244                     <JUMP + PHRASE36>
3245 PHRASE34
3246                     <SET TEMP14 W5>
3247 PHRASE36
3248                     <PUSH TEMP14>
3249                     <DEAD TEMP14>
3250                     <CALL '\1aIEMIT 5>
3251                     <RETURN W5>
3252                     <DEAD W5>
3253                     <END \1aBACK-GEN>
3254
3255 <ENDPACKAGE