Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / mimc / notgen.mima
1
2 <PACKAGE "NOTGEN">
3
4 <ENTRY NOT-GEN TYPE?-GEN ==-GEN PRED-BRANCH-GEN TYPE-C-GEN VALID-TYPE?-GEN =?-STRING-GEN ATOM-PART-GEN OFFSET-PART-GEN PUT-GET-DECL-GEN SUBSTRUC-GEN>
5
6 <USE "COMPDEC" "MIMGEN" "CODGEN" "CHKDCL" "CARGEN" "STRGEN" "ADVMESS" "LNQGEN" "MMQGEN" "MAPGEN" "NEWREP">
7
8 " Generate NOT code.  This is done in a variety of ways.
9         1) If NOTs arg is a predicate itself and this is a predicate usage
10             (flagged by BRANCH arg), just pass through setting the NOTF arg.
11         2) If NOTs arg is a predicate but a value is needed,
12             set up a predicate like situation and return NOT of the normal
13             value.
14         3) Else just compile and complement result."
15
16 #WORD *2536237017*
17 <GFCN \1aNOT-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY ANY) NOD9 WHERE10 NOTF11 BRANCH12 DIR13 SETF14>
18                     <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
19 OPT4
20                     <PUSH %<>>
21 OPT5
22                     <PUSH %<>>
23 OPT6
24                     <PUSH 'T>
25 OPT7
26                     <PUSH %<>>
27 OPT8
28                     <TEMP TEMP22 P15:NODE RW16 PF17 (FLG21 %<>)>
29                     <INTGO>
30                     <NTHUV NOD9 5 = TEMP22 (TYPE LIST)>
31                     <NTHL TEMP22 1 = P15 (TYPE NODE)>
32                     <DEAD TEMP22>
33                     <SET RW16 WHERE10>
34                     <FRAME '\1aPRED-CHECK?>
35                     <PUSH P15>
36                     <PUSH DIR13>
37                     <PUSH WHERE10>
38                     <CALL '\1aPRED-CHECK? 3 = PF17>
39                     <TYPE? NOTF11 <TYPE-CODE FALSE> - TAG24>
40                     <DEAD NOTF11>
41                     <SET NOTF11 'T (TYPE ATOM)>
42                     <JUMP + TAG25>
43 TAG24
44                     <SET NOTF11 %<> (TYPE FALSE)>
45 TAG25
46                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE27>
47                     <TYPE? PF17 <TYPE-CODE FALSE> + PHRASE27>
48                     <FRAME '\1aPGEN-DISPATCH>
49                     <PUSH P15>
50                     <DEAD P15>
51                     <EQUAL? RW16 'FLUSHED - PHRASE31>
52                     <SET TEMP22 'FLUSHED (TYPE ATOM)>
53                     <JUMP + PHRASE32>
54 PHRASE31
55                     <SET TEMP22 WHERE10>
56                     <DEAD WHERE10>
57 PHRASE32
58                     <PUSH TEMP22>
59                     <DEAD TEMP22>
60                     <PUSH NOTF11>
61                     <DEAD NOTF11>
62                     <PUSH BRANCH12>
63                     <DEAD BRANCH12>
64                     <PUSH DIR13>
65                     <DEAD DIR13>
66                     <PUSH SETF14>
67                     <DEAD SETF14>
68                     <CALL '\1aPGEN-DISPATCH 6 = WHERE10>
69                     <JUMP + PHRASE83>
70 PHRASE27
71                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE33>
72                     <EQUAL? RW16 'FLUSHED - PHRASE33>
73                     <VEQUAL? NOTF11 0 + TAG37>
74                     <DEAD NOTF11>
75                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG36>
76                     <DEAD DIR13>
77                     <SET DIR13 'T (TYPE ATOM)>
78                     <JUMP + TAG37>
79 TAG36
80                     <SET DIR13 %<> (TYPE FALSE)>
81 TAG37
82                     <FRAME '\1aGEN>
83                     <PUSH P15>
84                     <PUSH 'DONT-CARE>
85                     <CALL '\1aGEN 2 = WHERE10>
86                     <FRAME '\1aD-B-TAG>
87                     <PUSH BRANCH12>
88                     <DEAD BRANCH12>
89                     <PUSH WHERE10>
90                     <PUSH DIR13>
91                     <DEAD DIR13>
92                     <NTHUV P15 3 = STACK>
93                     <DEAD P15>
94                     <CALL '\1aD-B-TAG 4>
95                     <JUMP + PHRASE83>
96 PHRASE33
97                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE40>
98                     <FRAME '\1aGEN>
99                     <PUSH P15>
100                     <PUSH 'DONT-CARE>
101                     <CALL '\1aGEN 2 = TEMP22>
102                     <FRAME '\1aMAKE-TAG>
103                     <CALL '\1aMAKE-TAG 0 = PF17>
104                     <FRAME '\1aD-B-TAG>
105                     <PUSH PF17>
106                     <PUSH TEMP22>
107                     <PUSH DIR13>
108                     <NTHUV P15 3 = STACK>
109                     <DEAD P15>
110                     <CALL '\1aD-B-TAG 4>
111                     <FRAME '\1aFREE-TEMP>
112                     <PUSH TEMP22>
113                     <DEAD TEMP22>
114                     <CALL '\1aFREE-TEMP 1>
115                     <FRAME '\1aMOVE-ARG>
116                     <FRAME '\1aREFERENCE>
117                     <PUSH DIR13>
118                     <CALL '\1aREFERENCE 1 = STACK>
119                     <PUSH WHERE10>
120                     <DEAD WHERE10>
121                     <CALL '\1aMOVE-ARG 2 = WHERE10>
122                     <FRAME '\1aBRANCH-TAG>
123                     <PUSH BRANCH12>
124                     <DEAD BRANCH12>
125                     <CALL '\1aBRANCH-TAG 1>
126                     <FRAME '\1aLABEL-TAG>
127                     <PUSH PF17>
128                     <DEAD PF17>
129                     <CALL '\1aLABEL-TAG 1>
130                     <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE83>
131                     <DEAD SETF14>
132                     <FRAME '\1aDEALLOCATE-TEMP>
133                     <FRAME '\1aMOVE-ARG>
134                     <FRAME '\1aREFERENCE>
135                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG54>
136                     <DEAD DIR13>
137                     <SET TEMP22 'T (TYPE ATOM)>
138                     <JUMP + TAG55>
139 TAG54
140                     <SET TEMP22 %<> (TYPE FALSE)>
141 TAG55
142                     <PUSH TEMP22>
143                     <DEAD TEMP22>
144                     <CALL '\1aREFERENCE 1 = STACK>
145                     <PUSH WHERE10>
146                     <CALL '\1aMOVE-ARG 2 = STACK>
147                     <CALL '\1aDEALLOCATE-TEMP 1>
148                     <JUMP + PHRASE83>
149 PHRASE40
150                     <EQUAL? RW16 'FLUSHED - PHRASE56>
151                     <FRAME '\1aGEN>
152                     <PUSH P15>
153                     <DEAD P15>
154                     <PUSH 'FLUSHED>
155                     <CALL '\1aGEN 2 = WHERE10>
156                     <JUMP + PHRASE83>
157 PHRASE56
158                     <SET FLG21 %<> (TYPE FALSE)>
159                     <FRAME '\1aISTYPE?>
160                     <NTHUV NOD9 3 = STACK>
161                     <CALL '\1aISTYPE? 1 = TEMP22>
162                     <VEQUAL? TEMP22 'FALSE - TAG60>
163                     <DEAD TEMP22>
164                     <SET FLG21 'T (TYPE ATOM)>
165                     <JUMP + BOOL59>
166 TAG60
167                     <FRAME '\1aTYPE-OK?>
168                     <NTHUV NOD9 3 = STACK>
169                     <DEAD NOD9>
170                     <PUSH 'FALSE>
171                     <CALL '\1aTYPE-OK? 2 = TEMP22>
172                     <TYPE? TEMP22 <TYPE-CODE FALSE> - PHRASE58>
173                     <DEAD TEMP22>
174 BOOL59
175                     <FRAME '\1aGEN>
176                     <PUSH P15>
177                     <DEAD P15>
178                     <PUSH 'FLUSHED>
179                     <CALL '\1aGEN 2>
180                     <FRAME '\1aMOVE-ARG>
181                     <FRAME '\1aREFERENCE>
182                     <VEQUAL? FLG21 0 - TAG66>
183                     <DEAD FLG21>
184                     <SET TEMP22 'T (TYPE ATOM)>
185                     <JUMP + TAG67>
186 TAG66
187                     <SET TEMP22 %<> (TYPE FALSE)>
188 TAG67
189                     <PUSH TEMP22>
190                     <DEAD TEMP22>
191                     <CALL '\1aREFERENCE 1 = STACK>
192                     <PUSH WHERE10>
193                     <DEAD WHERE10>
194                     <CALL '\1aMOVE-ARG 2 = WHERE10>
195                     <JUMP + PHRASE83>
196 PHRASE58
197                     <TYPE? PF17 <TYPE-CODE FALSE> + PHRASE68>
198                     <DEAD PF17>
199                     <FRAME '\1aMAKE-TAG>
200                     <CALL '\1aMAKE-TAG 0 = PF17>
201                     <FRAME '\1aMAKE-TAG>
202                     <CALL '\1aMAKE-TAG 0 = FLG21>
203                     <FRAME '\1aPGEN-DISPATCH>
204                     <PUSH P15>
205                     <DEAD P15>
206                     <PUSH 'FLUSHED>
207                     <PUSH NOTF11>
208                     <DEAD NOTF11>
209                     <PUSH PF17>
210                     <PUSH DIR13>
211                     <DEAD DIR13>
212                     <PUSH SETF14>
213                     <DEAD SETF14>
214                     <CALL '\1aPGEN-DISPATCH 6>
215                     <TYPE? WHERE10 <TYPE-CODE TEMP> + PHRASE73>
216                     <FRAME '\1aGEN-TEMP>
217                     <PUSH %<>>
218                     <CALL '\1aGEN-TEMP 1 = WHERE10>
219 PHRASE73
220                     <FRAME '\1aMOVE-ARG>
221                     <FRAME '\1aREFERENCE>
222                     <PUSH %<>>
223                     <CALL '\1aREFERENCE 1 = STACK>
224                     <PUSH WHERE10>
225                     <CALL '\1aMOVE-ARG 2>
226                     <FRAME '\1aBRANCH-TAG>
227                     <PUSH FLG21>
228                     <CALL '\1aBRANCH-TAG 1>
229                     <FRAME '\1aLABEL-TAG>
230                     <PUSH PF17>
231                     <DEAD PF17>
232                     <CALL '\1aLABEL-TAG 1>
233                     <FRAME '\1aDEALLOCATE-TEMP>
234                     <PUSH WHERE10>
235                     <CALL '\1aDEALLOCATE-TEMP 1>
236                     <FRAME '\1aMOVE-ARG>
237                     <FRAME '\1aREFERENCE>
238                     <PUSH 'T>
239                     <CALL '\1aREFERENCE 1 = STACK>
240                     <PUSH WHERE10>
241                     <CALL '\1aMOVE-ARG 2>
242                     <FRAME '\1aLABEL-TAG>
243                     <PUSH FLG21>
244                     <DEAD FLG21>
245                     <CALL '\1aLABEL-TAG 1>
246                     <JUMP + PHRASE83>
247 PHRASE68
248                     <FRAME '\1aMAKE-TAG>
249                     <CALL '\1aMAKE-TAG 0 = PF17>
250                     <FRAME '\1aMAKE-TAG>
251                     <CALL '\1aMAKE-TAG 0 = FLG21>
252                     <FRAME '\1aGEN>
253                     <PUSH P15>
254                     <PUSH 'DONT-CARE>
255                     <CALL '\1aGEN 2 = TEMP22>
256                     <FRAME '\1aD-B-TAG>
257                     <PUSH PF17>
258                     <PUSH TEMP22>
259                     <PUSH 'T>
260                     <NTHUV P15 3 = STACK>
261                     <DEAD P15>
262                     <CALL '\1aD-B-TAG 4>
263                     <FRAME '\1aFREE-TEMP>
264                     <PUSH TEMP22>
265                     <DEAD TEMP22>
266                     <CALL '\1aFREE-TEMP 1>
267                     <TYPE? WHERE10 <TYPE-CODE TEMP> + PHRASE90>
268                     <FRAME '\1aGEN-TEMP>
269                     <PUSH %<>>
270                     <CALL '\1aGEN-TEMP 1 = WHERE10>
271 PHRASE90
272                     <FRAME '\1aMOVE-ARG>
273                     <FRAME '\1aREFERENCE>
274                     <PUSH 'T>
275                     <CALL '\1aREFERENCE 1 = STACK>
276                     <PUSH WHERE10>
277                     <CALL '\1aMOVE-ARG 2>
278                     <FRAME '\1aBRANCH-TAG>
279                     <PUSH FLG21>
280                     <CALL '\1aBRANCH-TAG 1>
281                     <FRAME '\1aLABEL-TAG>
282                     <PUSH PF17>
283                     <DEAD PF17>
284                     <CALL '\1aLABEL-TAG 1>
285                     <FRAME '\1aDEALLOCATE-TEMP>
286                     <PUSH WHERE10>
287                     <CALL '\1aDEALLOCATE-TEMP 1>
288                     <FRAME '\1aMOVE-ARG>
289                     <FRAME '\1aREFERENCE>
290                     <PUSH %<>>
291                     <CALL '\1aREFERENCE 1 = STACK>
292                     <PUSH WHERE10>
293                     <CALL '\1aMOVE-ARG 2>
294                     <FRAME '\1aLABEL-TAG>
295                     <PUSH FLG21>
296                     <DEAD FLG21>
297                     <CALL '\1aLABEL-TAG 1>
298 PHRASE83
299                     <FRAME '\1aMOVE-ARG>
300                     <PUSH WHERE10>
301                     <DEAD WHERE10>
302                     <PUSH RW16>
303                     <DEAD RW16>
304                     <CALL '\1aMOVE-ARG 2 = TEMP22>
305                     <RETURN TEMP22>
306                     <DEAD TEMP22>
307                     <END \1aNOT-GEN>\r\r
308 #WORD *35521622600*
309 <GFCN \1aPRED? ("VALUE" <OR ATOM !<FALSE>> FIX) N4>
310                     <TEMP TEMP6>
311                     <INTGO>
312                     <GVAL 'PREDV = TEMP6>
313                     <NTHUU TEMP6 N4 = TEMP6 (TYPE FIX)>
314                     <DEAD N4>
315                     <VEQUAL? TEMP6 0 + TAG7 (TYPE FIX)>
316                     <DEAD TEMP6>
317                     <RETURN 'T>
318 TAG7
319                     <RETURN %<>>
320                     <END \1aPRED?>
321 #WORD *14365533355*
322 <GFCN \1aPRED-CHECK? ("VALUE" <OR ATOM FALSE> NODE ANY ANY) N4 TF5 W6>
323                     <TEMP TEMP13 TEMP14 NT10 K8 TEMP24 TEMP25>
324                     <INTGO>
325                     <GVAL 'PREDV = TEMP13>
326                     <NTHUV N4 1 = TEMP14 (TYPE FIX)>
327                     <NTHUU TEMP13 TEMP14 = TEMP14 (TYPE FIX)>
328                     <DEAD TEMP13>
329                     <VEQUAL? TEMP14 0 + TAG15 (TYPE FIX)>
330                     <DEAD TEMP14>
331                     <RETURN 'T>
332 TAG15
333                     <NTHUV N4 1 = NT10 (TYPE FIX)>
334                     <VEQUAL? NT10 90 - TAG23 (TYPE FIX)>
335                     <NTHUV N4 5 = K8 (TYPE LIST)>
336                     <EMPL? K8 + TAG23>
337                     <RESTL K8 1 = TEMP14 (TYPE LIST)>
338                     <EMPL? TEMP14 + TAG23>
339                     <DEAD TEMP14>
340                     <TYPE? TF5 <TYPE-CODE FALSE> - BOOL21>
341                     <DEAD TF5>
342                     <EQUAL? W6 'FLUSHED - TAG22>
343 BOOL21
344                     <NTHL K8 1 = TEMP14 (TYPE NODE)>
345                     <NTHUV TEMP14 4 = TEMP14>
346                     <EQUAL? TEMP14 '`SYSOP - TAG22>
347                     <DEAD TEMP14>
348                     <RETURN 'T>
349 TAG22
350                     <NTHL K8 1 = TEMP14 (TYPE NODE)>
351                     <DEAD K8>
352                     <NTHUV TEMP14 4 = TEMP14 (TYPE ATOM)>
353                     <NTHR TEMP14 3 = TEMP14 (RECORD-TYPE ATOM)>
354                     <IFCAN "STRING-EQUAL?">
355                     <STRING-EQUAL? TEMP14 "STRING-EQUAL?" - TAG23>
356                     <ENDIF "STRING-EQUAL?">
357                     <IFCANNOT "STRING-EQUAL?">
358                     <SET TEMP13 "STRING-EQUAL?" (TYPE STRING)>
359                     <LENUS TEMP14 = TEMP24 (TYPE FIX)>
360                     <VEQUAL? TEMP24 13 - TAG23>
361                     <LOOP (TEMP14 VALUE LENGTH) (TEMP13 VALUE LENGTH) (TEMP24 VALUE)>
362 TAG27
363                     <NTHUS TEMP14 1 = TEMP25>
364                     <NTHUS TEMP13 1 = K8>
365                     <VEQUAL? TEMP25 K8 - TAG23>
366                     <DEAD TEMP25 K8>
367                     <RESTUS TEMP14 1 = TEMP14 (TYPE STRING)>
368                     <RESTUS TEMP13 1 = TEMP13 (TYPE STRING)>
369                     <SUB TEMP24 1 = TEMP24 (TYPE FIX)>
370                     <GRTR? TEMP24 0 + TAG27 (TYPE FIX)>
371                     <ENDIF "STRING-EQUAL?">
372                     <RETURN 'T>
373 TAG23
374                     <VEQUAL? NT10 11 - TAG29 (TYPE FIX)>
375                     <EQUAL? W6 'FLUSHED - TAG29>
376                     <NTHUV N4 4 = TEMP13 (TYPE SYMTAB)>
377                     <NTHUV TEMP13 3 = TEMP13>
378                     <TYPE? TEMP13 <TYPE-CODE FALSE> - TAG29>
379                     <DEAD TEMP13>
380                     <GVAL 'PREDV = TEMP13>
381                     <NTHUV N4 5 = TEMP14 (TYPE LIST)>
382                     <RESTL TEMP14 1 = TEMP14 (TYPE LIST)>
383                     <NTHL TEMP14 1 = TEMP14 (TYPE NODE)>
384                     <NTHUV TEMP14 1 = TEMP14 (TYPE FIX)>
385                     <NTHUU TEMP13 TEMP14 = TEMP14 (TYPE FIX)>
386                     <DEAD TEMP13>
387                     <VEQUAL? TEMP14 1 - TAG29 (TYPE FIX)>
388                     <DEAD TEMP14>
389                     <RETURN 'T>
390 TAG29
391                     <VEQUAL? NT10 5 + TAG57 (TYPE FIX)>
392                     <VEQUAL? NT10 50 + TAG35 (TYPE FIX)>
393                     <DEAD NT10>
394                     <RETURN %<>>
395 TAG35
396                     <NTHUV N4 5 = K8 (TYPE LIST)>
397                     <DEAD N4>
398                     <NTHL K8 1 = TEMP13 (TYPE NODE)>
399                     <NTHUV TEMP13 1 = TEMP14 (TYPE FIX)>
400                     <VEQUAL? TEMP14 2 + TAG36 (TYPE FIX)>
401                     <DEAD TEMP14>
402                     <RETURN %<>>
403 TAG36
404                     <NTHUV TEMP13 4 = TEMP14>
405                     <DEAD TEMP13>
406                     <TYPE? TEMP14 <TYPE-CODE FALSE> + TAG37>
407                     <DEAD TEMP14>
408                     <RETURN %<>>
409 TAG37
410                     <RESTL K8 1 = TEMP14 (TYPE LIST)>
411                     <NTHL TEMP14 1 = N4 (TYPE NODE)>
412                     <DEAD TEMP14>
413                     <NTHUV N4 1 = TEMP14 (TYPE FIX)>
414                     <VEQUAL? TEMP14 51 + TAG38 (TYPE FIX)>
415                     <DEAD TEMP14>
416                     <RETURN %<>>
417 TAG38
418                     <FRAME '\1aISTYPE?>
419                     <NTHUV N4 3 = NT10>
420                     <PUSH NT10>
421                     <CALL '\1aISTYPE? 1 = TEMP14>
422                     <VEQUAL? TEMP14 'FALSE + TAG42>
423                     <DEAD TEMP14>
424                     <FRAME '\1aTYPE-AND>
425                     <PUSH NT10>
426                     <DEAD NT10>
427                     <PUSH 'FALSE>
428                     <CALL '\1aTYPE-AND 2 = TEMP14>
429                     <TYPE? TEMP14 <TYPE-CODE FALSE> + TAG42>
430                     <DEAD TEMP14>
431                     <RETURN %<>>
432 TAG42
433                     <SET TEMP25 %<> (TYPE FALSE)>
434                     <RESTL K8 1 = K8 (TYPE LIST)>
435                     <RESTL K8 1 = K8 (TYPE LIST)>
436                     <LOOP>
437 MAP44
438                     <INTGO>
439                     <EMPL? K8 + MAPAP47>
440                     <NTHL K8 1 = TEMP13>
441                     <NTHUV TEMP13 1 = NT10 (TYPE FIX)>
442                     <DEAD TEMP13>
443                     <VEQUAL? NT10 3 + TAG56 (TYPE FIX)>
444                     <VEQUAL? NT10 68 + TAG56 (TYPE FIX)>
445                     <DEAD NT10>
446                     <SET TEMP25 %<> (TYPE FALSE)>
447                     <JUMP + PHRASE54>
448 TAG56
449                     <SET TEMP25 'T (TYPE ATOM)>
450                     <JUMP + MAPAP47>
451 PHRASE54
452                     <RESTL K8 1 = K8 (TYPE LIST)>
453                     <JUMP + MAP44>
454 MAPAP47
455                     <TYPE? TEMP25 <TYPE-CODE FALSE> + TAG57>
456                     <DEAD TEMP25>
457                     <RETURN %<>>
458 TAG57
459                     <NTHUV N4 12 = TEMP25>
460                     <TYPE? TEMP25 <TYPE-CODE FALSE> + TAG58>
461                     <DEAD TEMP25>
462                     <RETURN %<>>
463 TAG58
464                     <FRAME '\1aACTIV?>
465                     <NTHUV N4 10 = STACK (TYPE LIST)>
466                     <CALL '\1aACTIV? 1 = TEMP25>
467                     <VEQUAL? TEMP25 0 + TAG60>
468                     <DEAD TEMP25>
469                     <RETURN %<>>
470 TAG60
471                     <EQUAL? W6 'FLUSHED + TAG61>
472                     <DEAD W6>
473                     <RETURN %<>>
474 TAG61
475                     <SET TEMP13 %<> (TYPE FALSE)>
476                     <NTHUV N4 10 = K8 (TYPE LIST)>
477                     <DEAD N4>
478                     <LOOP>
479 MAP65
480                     <INTGO>
481                     <EMPL? K8 + MAPAP68>
482                     <NTHL K8 1 = TEMP13>
483                     <NTHUV TEMP13 3 = TEMP14>
484                     <TYPE? TEMP14 <TYPE-CODE FALSE> - TAG85>
485                     <DEAD TEMP14>
486                     <NTHUV TEMP13 9 = TEMP24>
487                     <DEAD TEMP13>
488                     <SET TEMP13 TEMP24>
489                     <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE76>
490                     <NTHUV TEMP24 1 = NT10 (TYPE FIX)>
491                     <VEQUAL? NT10 98 + TAG85 (TYPE FIX)>
492                     <VEQUAL? NT10 15 - BOOL81 (TYPE FIX)>
493                     <NTHUV TEMP24 4 = TEMP14>
494                     <EQUAL? TEMP14 'TUPLE + TAG85>
495                     <DEAD TEMP14>
496 BOOL81
497                     <VEQUAL? NT10 44 + TAG84 (TYPE FIX)>
498                     <VEQUAL? NT10 45 + TAG84 (TYPE FIX)>
499                     <DEAD NT10>
500                     <SET TEMP13 %<> (TYPE FALSE)>
501                     <JUMP + PHRASE76>
502 TAG84
503                     <NTHUV TEMP24 4 = TEMP14>
504                     <DEAD TEMP24>
505                     <EQUAL? TEMP14 'ITUPLE + TAG85>
506                     <DEAD TEMP14>
507                     <SET TEMP13 %<> (TYPE FALSE)>
508                     <JUMP + PHRASE76>
509 TAG85
510                     <SET TEMP13 'T (TYPE ATOM)>
511                     <JUMP + MAPAP68>
512 PHRASE76
513                     <RESTL K8 1 = K8 (TYPE LIST)>
514                     <JUMP + MAP65>
515 MAPAP68
516                     <TYPE? TEMP13 <TYPE-CODE FALSE> - TAG62>
517                     <DEAD TEMP13>
518                     <RETURN 'T>
519 TAG62
520                     <RETURN %<>>
521                     <END \1aPRED-CHECK?>
522 " Generate code for ==?.  If types are the same then just compare values,
523 otherwise generate a full comparison."
524
525 #WORD *2462425537*
526 <GFCN \1a==-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY ANY) NOD9 WHERE10 NOTF11 BRANCH12 DIR13 SETF14>
527                     <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
528 OPT4
529                     <PUSH %<>>
530 OPT5
531                     <PUSH %<>>
532 OPT6
533                     <PUSH %<>>
534 OPT7
535                     <PUSH %<>>
536 OPT8
537                     <TEMP K15:LIST TEMP30 TY1-22 TY2-23 T1OK24 T2OK19 TEMP37 TEMP38 TYPSAM25 RW26 SDIR27 FLS28 B2-18>
538                     <INTGO>
539                     <NTHUV NOD9 5 = K15 (TYPE LIST)>
540                     <NTHL K15 1 = TEMP30 (TYPE NODE)>
541                     <NTHUV TEMP30 3 = TY1-22>
542                     <DEAD TEMP30>
543                     <RESTL K15 1 = TEMP30 (TYPE LIST)>
544                     <NTHL TEMP30 1 = TEMP30 (TYPE NODE)>
545                     <NTHUV TEMP30 3 = TY2-23>
546                     <DEAD TEMP30>
547                     <FRAME '\1aISTYPE?>
548                     <PUSH TY1-22>
549                     <CALL '\1aISTYPE? 1 = T1OK24>
550                     <FRAME '\1aISTYPE?>
551                     <PUSH TY2-23>
552                     <CALL '\1aISTYPE? 1 = T2OK19>
553                     <VEQUAL? T1OK24 T2OK19 + TAG35>
554                     <FRAME '\1aGETPROP>
555                     <PUSH T1OK24>
556                     <PUSH 'ALT-DECL>
557                     <CFRAME = STACK (TYPE FRAME)>
558                     <CALL '\1aGETPROP 3 = TEMP37>
559                     <CFRAME = TEMP38 (TYPE FRAME)>
560                     <EQUAL? TEMP38 TEMP37 - TAG39>
561                     <DEAD TEMP38>
562                     <SET TEMP37 T1OK24>
563 TAG39
564                     <FRAME '\1aGETPROP>
565                     <PUSH T2OK19>
566                     <PUSH 'ALT-DECL>
567                     <CFRAME = STACK (TYPE FRAME)>
568                     <CALL '\1aGETPROP 3 = TEMP38>
569                     <CFRAME = TEMP30 (TYPE FRAME)>
570                     <EQUAL? TEMP30 TEMP38 - TAG42>
571                     <DEAD TEMP30>
572                     <SET TEMP38 T2OK19>
573 TAG42
574                     <EQUAL? TEMP37 TEMP38 + TAG35>
575                     <DEAD TEMP37 TEMP38>
576                     <SET TEMP30 %<> (TYPE FALSE)>
577                     <JUMP + BOOL32>
578 TAG35
579                     <SET TEMP30 T1OK24>
580 BOOL32
581                     <SET TYPSAM25 TEMP30>
582                     <DEAD TEMP30>
583                     <SET RW26 WHERE10>
584                     <SET SDIR27 DIR13>
585                     <EQUAL? RW26 'FLUSHED - TAG43>
586                     <SET FLS28 'T (TYPE ATOM)>
587                     <JUMP + TAG44>
588 TAG43
589                     <SET FLS28 %<> (TYPE FALSE)>
590 TAG44
591                     <TYPE? TYPSAM25 <TYPE-CODE FALSE> - PHRASE46>
592                     <FRAME '\1aTYPE-OK?>
593                     <PUSH TY1-22>
594                     <PUSH <PRIMTYPE FIX>>
595                     <CALL '\1aTYPE-OK? 2 = TEMP30>
596                     <TYPE? TEMP30 <TYPE-CODE FALSE> - PHRASE46>
597                     <DEAD TEMP30>
598                     <FRAME '\1aTYPE-OK?>
599                     <PUSH TY2-23>
600                     <PUSH <PRIMTYPE FIX>>
601                     <CALL '\1aTYPE-OK? 2 = TEMP30>
602                     <TYPE? TEMP30 <TYPE-CODE FALSE> - PHRASE46>
603                     <DEAD TEMP30>
604                     <FRAME '\1aPOINTER-OVERLAP?>
605                     <PUSH TY1-22>
606                     <PUSH TY2-23>
607                     <CALL '\1aPOINTER-OVERLAP? 2 = TEMP30>
608                     <TYPE? TEMP30 <TYPE-CODE FALSE> - PHRASE46>
609                     <DEAD TEMP30>
610                     <SET TYPSAM25 'T (TYPE ATOM)>
611 PHRASE46
612                     <NTHUV NOD9 9 = TEMP30>
613                     <GVAL 'N==? = TEMP38>
614                     <EQUAL? TEMP30 TEMP38 - TAG54>
615                     <DEAD TEMP30 TEMP38>
616                     <TYPE? NOTF11 <TYPE-CODE FALSE> - TAG53>
617                     <DEAD NOTF11>
618                     <SET NOTF11 'T (TYPE ATOM)>
619                     <JUMP + TAG54>
620 TAG53
621                     <SET NOTF11 %<> (TYPE FALSE)>
622 TAG54
623                     <TYPE? TYPSAM25 <TYPE-CODE FALSE> - BOOL55>
624                     <FRAME '\1aTYPE-OK?>
625                     <PUSH TY1-22>
626                     <DEAD TY1-22>
627                     <PUSH TY2-23>
628                     <DEAD TY2-23>
629                     <CALL '\1aTYPE-OK? 2 = TEMP38>
630                     <TYPE? TEMP38 <TYPE-CODE FALSE> - BOOL55>
631                     <DEAD TEMP38>
632                     <FRAME '\1aCOMPILE-WARNING>
633                     <PUSH "Arguments can never be ==? ">
634                     <NTHUV NOD9 4 = STACK>
635                     <PUSH NOD9>
636                     <CALL '\1aCOMPILE-WARNING 3>
637 BOOL55
638                     <NTHL K15 1 = TY1-22 (TYPE NODE)>
639                     <NTHUV TY1-22 1 = TEMP38 (TYPE FIX)>
640                     <VEQUAL? TEMP38 2 + BOOL60 (TYPE FIX)>
641                     <DEAD TEMP38>
642                     <NTHUV NOD9 8 = TEMP38>
643                     <DEAD NOD9>
644                     <TYPE? TEMP38 <TYPE-CODE FALSE> - PHRASE59>
645                     <DEAD TEMP38>
646                     <RESTL K15 1 = TEMP38 (TYPE LIST)>
647                     <NTHL TEMP38 1 = TY2-23 (TYPE NODE)>
648                     <DEAD TEMP38>
649                     <NTHUV TY2-23 1 = TEMP38 (TYPE FIX)>
650                     <VEQUAL? TEMP38 2 + PHRASE59 (TYPE FIX)>
651                     <DEAD TEMP38>
652                     <NTHUV TY1-22 1 = TEMP38 (TYPE FIX)>
653                     <GVAL 'SNODES = TEMP30>
654                     <EMPUU? TEMP30 + PHRASE59>
655                     <LOOP (TEMP38 VALUE) (TEMP30 LENGTH VALUE)>
656 TAG63
657                     <NTHUU TEMP30 1 = TEMP37>
658                     <VEQUAL? TEMP37 TEMP38 + TAG62>
659                     <DEAD TEMP37>
660                     <RESTUU TEMP30 1 = TEMP30 (TYPE UVECTOR)>
661                     <EMPUU? TEMP30 - TAG63>
662                     <JUMP + PHRASE59>
663 TAG62
664                     <NTHUV TY2-23 1 = TEMP30 (TYPE FIX)>
665                     <DEAD TY2-23>
666                     <VEQUAL? TEMP30 10 + PHRASE59 (TYPE FIX)>
667                     <DEAD TEMP30>
668 BOOL60
669                     <RESTL K15 1 = TEMP30 (TYPE LIST)>
670                     <NTHL TEMP30 1 = TEMP30 (TYPE NODE)>
671                     <PUTL K15 1 TEMP30>
672                     <DEAD TEMP30>
673                     <RESTL K15 1 = TEMP30 (TYPE LIST)>
674                     <PUTL TEMP30 1 TY1-22>
675                     <DEAD TEMP30 TY1-22>
676                     <SET TY1-22 T1OK24>
677                     <DEAD T1OK24>
678                     <SET T1OK24 T2OK19>
679                     <DEAD T2OK19>
680                     <SET T2OK19 TY1-22>
681                     <DEAD TY1-22>
682 PHRASE59
683                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE66>
684                     <TYPE? NOTF11 <TYPE-CODE FALSE> + TAG69>
685                     <DEAD NOTF11>
686                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG68>
687                     <DEAD DIR13>
688                     <SET DIR13 'T (TYPE ATOM)>
689                     <JUMP + TAG69>
690 TAG68
691                     <SET DIR13 %<> (TYPE FALSE)>
692 TAG69
693                     <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE71>
694                     <DEAD SETF14>
695                     <FRAME '\1aDEALLOCATE-TEMP>
696                     <FRAME '\1aMOVE-ARG>
697                     <FRAME '\1aREFERENCE>
698                     <TYPE? SDIR27 <TYPE-CODE FALSE> - TAG75>
699                     <SET TEMP30 'T (TYPE ATOM)>
700                     <JUMP + TAG76>
701 TAG75
702                     <SET TEMP30 %<> (TYPE FALSE)>
703 TAG76
704                     <PUSH TEMP30>
705                     <DEAD TEMP30>
706                     <CALL '\1aREFERENCE 1 = STACK>
707                     <PUSH WHERE10>
708                     <CALL '\1aMOVE-ARG 2 = STACK>
709                     <CALL '\1aDEALLOCATE-TEMP 1>
710 PHRASE71
711                     <FRAME '\1aGEN-EQTST>
712                     <NTHL K15 1 = STACK (TYPE NODE)>
713                     <RESTL K15 1 = TEMP30 (TYPE LIST)>
714                     <DEAD K15>
715                     <NTHL TEMP30 1 = STACK (TYPE NODE)>
716                     <DEAD TEMP30>
717                     <PUSH T1OK24>
718                     <DEAD T1OK24>
719                     <PUSH T2OK19>
720                     <DEAD T2OK19>
721                     <VEQUAL? FLS28 0 + PHRASE79>
722                     <SET TEMP30 DIR13>
723                     <DEAD DIR13>
724                     <JUMP + TAG82>
725 PHRASE79
726                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG81>
727                     <DEAD DIR13>
728                     <SET TEMP30 'T (TYPE ATOM)>
729                     <JUMP + TAG82>
730 TAG81
731                     <SET TEMP30 %<> (TYPE FALSE)>
732 TAG82
733                     <PUSH TEMP30>
734                     <DEAD TEMP30>
735                     <PUSH TYPSAM25>
736                     <DEAD TYPSAM25>
737                     <VEQUAL? FLS28 0 + PHRASE84>
738                     <SET TEMP30 BRANCH12>
739                     <JUMP + PHRASE85>
740 PHRASE84
741                     <FRAME '\1aMAKE-TAG>
742                     <CALL '\1aMAKE-TAG 0 = B2-18>
743                     <SET TEMP30 B2-18>
744 PHRASE85
745                     <PUSH TEMP30>
746                     <DEAD TEMP30>
747                     <CALL '\1aGEN-EQTST 7>
748                     <VEQUAL? FLS28 0 + TAG89>
749                     <DEAD FLS28>
750                     <RETURN %<>>
751 TAG89
752                     <FRAME '\1aMOVE-ARG>
753                     <FRAME '\1aMOVE-ARG>
754                     <FRAME '\1aREFERENCE>
755                     <PUSH SDIR27>
756                     <DEAD SDIR27>
757                     <CALL '\1aREFERENCE 1 = STACK>
758                     <PUSH WHERE10>
759                     <DEAD WHERE10>
760                     <CALL '\1aMOVE-ARG 2 = STACK>
761                     <PUSH RW26>
762                     <DEAD RW26>
763                     <CALL '\1aMOVE-ARG 2 = RW26>
764                     <FRAME '\1aBRANCH-TAG>
765                     <PUSH BRANCH12>
766                     <DEAD BRANCH12>
767                     <CALL '\1aBRANCH-TAG 1>
768                     <FRAME '\1aLABEL-TAG>
769                     <PUSH B2-18>
770                     <DEAD B2-18>
771                     <CALL '\1aLABEL-TAG 1>
772                     <RETURN RW26>
773                     <DEAD RW26>
774 PHRASE66
775                     <FRAME '\1aMAKE-TAG>
776                     <CALL '\1aMAKE-TAG 0 = BRANCH12>
777                     <FRAME '\1aGEN-EQTST>
778                     <NTHL K15 1 = STACK (TYPE NODE)>
779                     <RESTL K15 1 = TEMP38 (TYPE LIST)>
780                     <DEAD K15>
781                     <NTHL TEMP38 1 = STACK (TYPE NODE)>
782                     <DEAD TEMP38>
783                     <PUSH T1OK24>
784                     <DEAD T1OK24>
785                     <PUSH T2OK19>
786                     <DEAD T2OK19>
787                     <PUSH NOTF11>
788                     <DEAD NOTF11>
789                     <PUSH TYPSAM25>
790                     <DEAD TYPSAM25>
791                     <PUSH BRANCH12>
792                     <CALL '\1aGEN-EQTST 7>
793                     <EQUAL? WHERE10 'DONT-CARE - PHRASE99>
794                     <FRAME '\1aGEN-TEMP>
795                     <PUSH %<>>
796                     <CALL '\1aGEN-TEMP 1 = WHERE10>
797 PHRASE99
798                     <FRAME '\1aMOVE-ARG>
799                     <FRAME '\1aREFERENCE>
800                     <PUSH 'T>
801                     <CALL '\1aREFERENCE 1 = STACK>
802                     <PUSH WHERE10>
803                     <CALL '\1aMOVE-ARG 2>
804                     <FRAME '\1aDEALLOCATE-TEMP>
805                     <PUSH WHERE10>
806                     <CALL '\1aDEALLOCATE-TEMP 1>
807                     <FRAME '\1aBRANCH-TAG>
808                     <FRAME '\1aMAKE-TAG>
809                     <CALL '\1aMAKE-TAG 0 = B2-18>
810                     <PUSH B2-18>
811                     <CALL '\1aBRANCH-TAG 1>
812                     <FRAME '\1aLABEL-TAG>
813                     <PUSH BRANCH12>
814                     <DEAD BRANCH12>
815                     <CALL '\1aLABEL-TAG 1>
816                     <FRAME '\1aMOVE-ARG>
817                     <FRAME '\1aREFERENCE>
818                     <PUSH %<>>
819                     <CALL '\1aREFERENCE 1 = STACK>
820                     <PUSH WHERE10>
821                     <CALL '\1aMOVE-ARG 2>
822                     <FRAME '\1aLABEL-TAG>
823                     <PUSH B2-18>
824                     <DEAD B2-18>
825                     <CALL '\1aLABEL-TAG 1>
826                     <FRAME '\1aMOVE-ARG>
827                     <PUSH WHERE10>
828                     <DEAD WHERE10>
829                     <PUSH RW26>
830                     <DEAD RW26>
831                     <CALL '\1aMOVE-ARG 2 = TEMP30>
832                     <RETURN TEMP30>
833                     <DEAD TEMP30>
834                     <END \1a==-GEN>\r\r
835 #WORD *27435352636*
836 <GFCN \1aGEN-EQTST ("VALUE" ANY NODE NODE ANY ANY ANY ANY ANY) N14 N25 T16 T27 DIR8 TYPS9 BR10>
837                     <TEMP (TMP11 %<>) R213>
838                     <INTGO>
839                     <FRAME '\1aGEN>
840                     <PUSH N14>
841                     <DEAD N14>
842                     <CALL '\1aGEN 1 = TMP11>
843                     <FRAME '\1aGEN>
844                     <PUSH N25>
845                     <DEAD N25>
846                     <CALL '\1aGEN 1 = R213>
847                     <TYPE? TYPS9 <TYPE-CODE FALSE> + PHRASE17>
848                     <DEAD TYPS9>
849                     <FRAME '\1aGEN-VAL-==?>
850                     <PUSH TMP11>
851                     <PUSH R213>
852                     <PUSH DIR8>
853                     <DEAD DIR8>
854                     <PUSH BR10>
855                     <DEAD BR10>
856                     <CALL '\1aGEN-VAL-==? 4>
857                     <JUMP + PHRASE19>
858 PHRASE17
859                     <FRAME '\1aGEN-==?>
860                     <PUSH TMP11>
861                     <PUSH R213>
862                     <PUSH DIR8>
863                     <DEAD DIR8>
864                     <PUSH BR10>
865                     <DEAD BR10>
866                     <CALL '\1aGEN-==? 4>
867 PHRASE19
868                     <FRAME '\1aFREE-TEMP>
869                     <PUSH TMP11>
870                     <DEAD TMP11>
871                     <CALL '\1aFREE-TEMP 1>
872                     <FRAME '\1aFREE-TEMP>
873                     <PUSH R213>
874                     <DEAD R213>
875                     <CALL '\1aFREE-TEMP 1 = TMP11>
876                     <RETURN TMP11>
877                     <DEAD TMP11>
878                     <END \1aGEN-EQTST>
879 #WORD *23621757656*
880 <GFCN \1aPOINTER-OVERLAP? ("VALUE" ANY ANY ANY) TY14 TY25>
881                     <TEMP TEMP11 TEMP22>
882                     <INTGO>
883                     <TYPE? TY14 <TYPE-CODE FORM> + TAG10>
884                     <TYPE? TY14 <TYPE-CODE SEGMENT> - PHRASE8>
885 TAG10
886                     <EMPL? TY14 + PHRASE8>
887                     <NTHL TY14 1 = TEMP11>
888                     <EQUAL? TEMP11 'OR - PHRASE8>
889                     <DEAD TEMP11>
890                     <SET TEMP11 %<> (TYPE FALSE)>
891                     <RESTL TY14 1 = TEMP22 (TYPE LIST)>
892                     <DEAD TY14>
893                     <CHTYPE TEMP22 <TYPE-CODE LIST> = TEMP22>
894                     <LOOP>
895 MAP13
896                     <INTGO>
897                     <EMPL? TEMP22 + PHRASE71>
898                     <NTHL TEMP22 1 = TEMP11>
899                     <FRAME '\1aPOINTER-OVERLAP?>
900                     <PUSH TY25>
901                     <PUSH TEMP11>
902                     <DEAD TEMP11>
903                     <CALL '\1aPOINTER-OVERLAP? 2 = TEMP11>
904                     <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE25>
905                     <RETURN 'T>
906 PHRASE25
907                     <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
908                     <JUMP + MAP13>
909 PHRASE8
910                     <TYPE? TY25 <TYPE-CODE FORM> + TAG30>
911                     <TYPE? TY25 <TYPE-CODE SEGMENT> - PHRASE28>
912 TAG30
913                     <EMPL? TY25 + PHRASE28>
914                     <NTHL TY25 1 = TEMP22>
915                     <EQUAL? TEMP22 'OR - PHRASE28>
916                     <DEAD TEMP22>
917                     <SET TEMP11 %<> (TYPE FALSE)>
918                     <RESTL TY25 1 = TEMP22 (TYPE LIST)>
919                     <DEAD TY25>
920                     <CHTYPE TEMP22 <TYPE-CODE LIST> = TEMP22>
921                     <LOOP>
922 MAP32
923                     <INTGO>
924                     <EMPL? TEMP22 + MAPAP35>
925                     <NTHL TEMP22 1 = TEMP11>
926                     <FRAME '\1aPOINTER-OVERLAP?>
927                     <PUSH TY14>
928                     <PUSH TEMP11>
929                     <DEAD TEMP11>
930                     <CALL '\1aPOINTER-OVERLAP? 2 = TEMP11>
931                     <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE43>
932                     <RETURN 'T>
933 PHRASE43
934                     <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
935                     <JUMP + MAP32>
936 MAPAP35
937                     <RETURN TEMP11>
938                     <DEAD TEMP11>
939 PHRASE28
940                     <TYPE? TY14 <TYPE-CODE FORM> + TAG49>
941                     <TYPE? TY14 <TYPE-CODE SEGMENT> - BOOL48>
942 TAG49
943                     <EMPL? TY14 - BOOL47>
944 BOOL48
945                     <TYPE? TY25 <TYPE-CODE FORM> + TAG51>
946                     <TYPE? TY25 <TYPE-CODE SEGMENT> - PHRASE46>
947 TAG51
948                     <EMPL? TY25 + PHRASE46>
949                     <SET TEMP11 TY14>
950                     <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE46>
951                     <SET TY14 TY25>
952                     <DEAD TY25>
953                     <SET TY25 TEMP11>
954                     <DEAD TEMP11>
955 BOOL47
956                     <NTH1 TY14 = TEMP22>
957                     <EQUAL? TEMP22 'PRIMTYPE + BOOL54>
958                     <DEAD TEMP22>
959                     <NTH1 TY14 = TEMP11>
960                     <TYPE? TEMP11 <TYPE-CODE FORM> + TAG56>
961                     <TYPE? TEMP11 <TYPE-CODE SEGMENT> - PHRASE53>
962 TAG56
963                     <EMPL? TEMP11 + PHRASE53>
964                     <NTHL TEMP11 1 = TEMP22>
965                     <EQUAL? TEMP22 'PRIMTYPE - PHRASE53>
966                     <DEAD TEMP22>
967                     <SET TY14 TEMP11>
968                     <DEAD TEMP11>
969 BOOL54
970                     <FRAME '\1aSTRUCTYP>
971                     <PUSH TY25>
972                     <DEAD TY25>
973                     <CALL '\1aSTRUCTYP 1 = TEMP22>
974                     <FRAME '\1aNTH>
975                     <PUSH TY14>
976                     <DEAD TY14>
977                     <PUSH 2>
978                     <CALL '\1aNTH 2 = TEMP11>
979                     <EQUAL? TEMP22 TEMP11 - PHRASE58>
980                     <DEAD TEMP22 TEMP11>
981                     <RETURN 'T>
982 PHRASE58
983                     <RETURN %<>>
984 PHRASE53
985                     <FRAME '\1aPOINTER-OVERLAP?>
986                     <NTH1 TY14 = STACK>
987                     <DEAD TY14>
988                     <PUSH TY25>
989                     <DEAD TY25>
990                     <CALL '\1aPOINTER-OVERLAP? 2 = TEMP11>
991                     <RETURN TEMP11>
992                     <DEAD TEMP11>
993 PHRASE46
994                     <EQUAL? TY14 TY25 - PHRASE64>
995                     <RETURN %<>>
996 PHRASE64
997                     <FRAME '\1aSTRUCTYP>
998                     <PUSH TY14>
999                     <CALL '\1aSTRUCTYP 1 = TEMP11>
1000                     <TYPE? TEMP11 <TYPE-CODE FALSE> + BOOL66>
1001                     <DEAD TEMP11>
1002                     <FRAME '\1aSTRUCTYP>
1003                     <PUSH TY25>
1004                     <CALL '\1aSTRUCTYP 1 = TEMP11>
1005                     <TYPE? TEMP11 <TYPE-CODE FALSE> + BOOL66>
1006                     <DEAD TEMP11>
1007                     <FRAME '\1aSTRUCTYP>
1008                     <PUSH TY14>
1009                     <DEAD TY14>
1010                     <CALL '\1aSTRUCTYP 1 = TEMP11>
1011                     <FRAME '\1aSTRUCTYP>
1012                     <PUSH TY25>
1013                     <DEAD TY25>
1014                     <CALL '\1aSTRUCTYP 1 = TEMP22>
1015                     <EQUAL? TEMP11 TEMP22 - PHRASE65>
1016                     <DEAD TEMP11 TEMP22>
1017 BOOL66
1018                     <RETURN 'T>
1019 PHRASE65
1020                     <SET TEMP11 %<> (TYPE FALSE)>
1021 PHRASE71
1022                     <RETURN TEMP11>
1023                     <DEAD TEMP11>
1024                     <END \1aPOINTER-OVERLAP?>
1025 "       Generate TYPE? code for all various cases."
1026
1027 #WORD *13443272552*
1028 <GFCN \1aTYPE?-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY ANY) NOD9 WHERE10 NOTF11 BRANCH12 DIR13 SETF14>
1029                     <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
1030 OPT4
1031                     <PUSH %<>>
1032 OPT5
1033                     <PUSH %<>>
1034 OPT6
1035                     <PUSH %<>>
1036 OPT7
1037                     <PUSH %<>>
1038 OPT8
1039                     <TEMP B2-15 RW17 K18:LIST SDIR19 FLS20 (TEST?22 'T) (FIRST23 'T) TEMP28 REG16 B3-21>
1040                     <INTGO>
1041                     <SET RW17 WHERE10>
1042                     <NTHUV NOD9 5 = K18 (TYPE LIST)>
1043                     <SET SDIR19 DIR13>
1044                     <EQUAL? RW17 'FLUSHED - TAG24>
1045                     <SET FLS20 'T (TYPE ATOM)>
1046                     <JUMP + TAG25>
1047 TAG24
1048                     <SET FLS20 %<> (TYPE FALSE)>
1049 TAG25
1050                     <NTHUV NOD9 3 = TEMP28>
1051                     <EQUAL? TEMP28 'FALSE - PHRASE27>
1052                     <DEAD TEMP28>
1053                     <FRAME '\1aCOMPILE-WARNING>
1054                     <PUSH "TYPE? never true: ">
1055                     <PUSH NOD9>
1056                     <CALL '\1aCOMPILE-WARNING 2>
1057                     <SET TEST?22 #FALSE (1) (TYPE FALSE)>
1058                     <JUMP + PHRASE30>
1059 PHRASE27
1060                     <FRAME '\1aTYPE-OK?>
1061                     <NTHUV NOD9 3 = STACK>
1062                     <PUSH 'FALSE>
1063                     <CALL '\1aTYPE-OK? 2 = TEMP28>
1064                     <TYPE? TEMP28 <TYPE-CODE FALSE> - PHRASE30>
1065                     <DEAD TEMP28>
1066                     <FRAME '\1aCOMPILE-WARNING>
1067                     <PUSH "TYPE? always true: ">
1068                     <PUSH NOD9>
1069                     <CALL '\1aCOMPILE-WARNING 2>
1070                     <SET TEST?22 #FALSE (2) (TYPE FALSE)>
1071 PHRASE30
1072                     <FRAME '\1aGEN>
1073                     <NTHL K18 1 = STACK (TYPE NODE)>
1074                     <PUSH 'DONT-CARE>
1075                     <CALL '\1aGEN 2 = REG16>
1076                     <TYPE? NOTF11 <TYPE-CODE FALSE> + TAG36>
1077                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG35>
1078                     <DEAD DIR13>
1079                     <SET DIR13 'T (TYPE ATOM)>
1080                     <JUMP + TAG36>
1081 TAG35
1082                     <SET DIR13 %<> (TYPE FALSE)>
1083 TAG36
1084                     <RESTL K18 1 = K18 (TYPE LIST)>
1085                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE38>
1086                     <VEQUAL? FLS20 0 + PHRASE38>
1087                     <RESTL K18 1 = TEMP28 (TYPE LIST)>
1088                     <EMPL? TEMP28 + BOOL40 (TYPE LIST)>
1089                     <DEAD TEMP28>
1090                     <TYPE? DIR13 <TYPE-CODE FALSE> - BOOL40>
1091                     <FRAME '\1aMAKE-TAG>
1092                     <CALL '\1aMAKE-TAG 0 = B2-15>
1093 BOOL40
1094                     <LOOP>
1095 AGAIN43
1096                     <INTGO>
1097                     <RESTL K18 1 = FLS20 (TYPE LIST)>
1098                     <EMPL? FLS20 - PHRASE45 (TYPE LIST)>
1099                     <DEAD FLS20>
1100                     <FRAME '\1aFREE-TEMP>
1101                     <PUSH REG16>
1102                     <PUSH %<>>
1103                     <CALL '\1aFREE-TEMP 2>
1104                     <TYPE? TEST?22 <TYPE-CODE FALSE> + PHRASE49>
1105                     <FRAME '\1aGEN-TYPE?>
1106                     <PUSH REG16>
1107                     <DEAD REG16>
1108                     <NTHL K18 1 = FLS20 (TYPE NODE)>
1109                     <DEAD K18>
1110                     <NTHUV FLS20 4 = STACK>
1111                     <DEAD FLS20>
1112                     <PUSH BRANCH12>
1113                     <PUSH DIR13>
1114                     <CALL '\1aGEN-TYPE? 4>
1115 PHRASE49
1116                     <TYPE? TEST?22 <TYPE-CODE FALSE> - BOOL54>
1117                     <TYPE? DIR13 <TYPE-CODE FALSE> + BOOL54>
1118                     <NTHL TEST?22 1 = FLS20>
1119                     <EQUAL? FLS20 2 + BOOL53>
1120                     <DEAD FLS20>
1121 BOOL54
1122                     <TYPE? TEST?22 <TYPE-CODE FALSE> - PHRASE52>
1123                     <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE52>
1124                     <DEAD DIR13>
1125                     <NTHL TEST?22 1 = FLS20>
1126                     <DEAD TEST?22>
1127                     <EQUAL? FLS20 1 - PHRASE52>
1128                     <DEAD FLS20>
1129 BOOL53
1130                     <FRAME '\1aBRANCH-TAG>
1131                     <PUSH BRANCH12>
1132                     <DEAD BRANCH12>
1133                     <CALL '\1aBRANCH-TAG 1>
1134 PHRASE52
1135                     <TYPE? B2-15 <TYPE-CODE UNBOUND> + PHRASE246>
1136                     <FRAME '\1aLABEL-TAG>
1137                     <PUSH B2-15>
1138                     <DEAD B2-15>
1139                     <CALL '\1aLABEL-TAG 1>
1140                     <JUMP + PHRASE246>
1141 PHRASE45
1142                     <TYPE? TEST?22 <TYPE-CODE FALSE> + PHRASE61>
1143                     <FRAME '\1aGEN-TYPE?>
1144                     <PUSH REG16>
1145                     <NTHL K18 1 = FLS20 (TYPE NODE)>
1146                     <NTHUV FLS20 4 = STACK>
1147                     <DEAD FLS20>
1148                     <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE64>
1149                     <SET FLS20 BRANCH12>
1150                     <JUMP + PHRASE65>
1151 PHRASE64
1152                     <SET FLS20 B2-15>
1153 PHRASE65
1154                     <PUSH FLS20>
1155                     <DEAD FLS20>
1156                     <PUSH 'T>
1157                     <CALL '\1aGEN-TYPE? 4>
1158                     <FRAME '\1aGEN-TYPE?>
1159                     <PUSH REG16>
1160                     <RESTL K18 1 = FLS20 (TYPE LIST)>
1161                     <NTHL FLS20 1 = FLS20 (TYPE NODE)>
1162                     <NTHUV FLS20 4 = STACK>
1163                     <DEAD FLS20>
1164                     <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE68>
1165                     <SET FLS20 BRANCH12>
1166                     <JUMP + PHRASE69>
1167 PHRASE68
1168                     <SET FLS20 B2-15>
1169 PHRASE69
1170                     <PUSH FLS20>
1171                     <DEAD FLS20>
1172                     <PUSH 'T>
1173                     <CALL '\1aGEN-TYPE? 4>
1174 PHRASE61
1175                     <RESTL K18 1 = K18 (TYPE LIST)>
1176                     <RESTL K18 1 = K18 (TYPE LIST)>
1177                     <EMPL? K18 - AGAIN43 (TYPE LIST)>
1178                     <TYPE? DIR13 <TYPE-CODE FALSE> - BOOL75>
1179                     <TYPE? TEST?22 <TYPE-CODE FALSE> - BOOL77>
1180 BOOL75
1181                     <TYPE? TEST?22 <TYPE-CODE FALSE> - PHRASE246>
1182                     <TYPE? DIR13 <TYPE-CODE FALSE> + BOOL78>
1183                     <NTHL TEST?22 1 = FLS20>
1184                     <EQUAL? FLS20 2 + BOOL77>
1185                     <DEAD FLS20>
1186 BOOL78
1187                     <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE246>
1188                     <DEAD DIR13>
1189                     <NTHL TEST?22 1 = FLS20>
1190                     <DEAD TEST?22>
1191                     <EQUAL? FLS20 1 - PHRASE246>
1192                     <DEAD FLS20>
1193 BOOL77
1194                     <FRAME '\1aBRANCH-TAG>
1195                     <PUSH BRANCH12>
1196                     <DEAD BRANCH12>
1197                     <CALL '\1aBRANCH-TAG 1>
1198                     <FRAME '\1aLABEL-TAG>
1199                     <PUSH B2-15>
1200                     <DEAD B2-15>
1201                     <CALL '\1aLABEL-TAG 1>
1202                     <JUMP + PHRASE246>
1203 PHRASE38
1204                     <VEQUAL? FLS20 0 + BOOL82>
1205                     <DEAD FLS20>
1206                     <TYPE? TEST?22 <TYPE-CODE FALSE> - BOOL82>
1207                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE246>
1208 BOOL82
1209                     <TYPE? NOTF11 <TYPE-CODE FALSE> - BOOL84>
1210                     <DEAD NOTF11>
1211                     <TYPE? BRANCH12 <TYPE-CODE FALSE> - TAG86>
1212                     <SET FLS20 'T (TYPE ATOM)>
1213                     <JUMP + TAG87>
1214 TAG86
1215                     <SET FLS20 %<> (TYPE FALSE)>
1216 TAG87
1217                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG88>
1218                     <SET TEMP28 'T (TYPE ATOM)>
1219                     <JUMP + TAG89>
1220 TAG88
1221                     <SET TEMP28 %<> (TYPE FALSE)>
1222 TAG89
1223                     <VEQUAL? FLS20 TEMP28 + PHRASE83>
1224                     <DEAD FLS20 TEMP28>
1225                     <TYPE? SETF14 <TYPE-CODE FALSE> - PHRASE83>
1226 BOOL84
1227                     <FRAME '\1aMAKE-TAG>
1228                     <CALL '\1aMAKE-TAG 0 = B2-15>
1229                     <FRAME '\1aMAKE-TAG>
1230                     <CALL '\1aMAKE-TAG 0 = B3-21>
1231                     <TYPE? TEST?22 <TYPE-CODE FALSE> + PHRASE94>
1232                     <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE96>
1233                     <DEAD SETF14>
1234                     <EQUAL? WHERE10 'DONT-CARE - PHRASE98>
1235                     <FRAME '\1aGEN-TEMP>
1236                     <PUSH %<>>
1237                     <CALL '\1aGEN-TEMP 1 = WHERE10>
1238 PHRASE98
1239                     <FRAME '\1aDEALLOCATE-TEMP>
1240                     <FRAME '\1aMOVE-ARG>
1241                     <FRAME '\1aREFERENCE>
1242                     <TYPE? SDIR19 <TYPE-CODE FALSE> - TAG103>
1243                     <SET TEMP28 'T (TYPE ATOM)>
1244                     <JUMP + TAG104>
1245 TAG103
1246                     <SET TEMP28 %<> (TYPE FALSE)>
1247 TAG104
1248                     <PUSH TEMP28>
1249                     <DEAD TEMP28>
1250                     <CALL '\1aREFERENCE 1 = STACK>
1251                     <PUSH WHERE10>
1252                     <CALL '\1aMOVE-ARG 2 = STACK>
1253                     <CALL '\1aDEALLOCATE-TEMP 1>
1254 PHRASE96
1255                     <LOOP>
1256 AGAIN106
1257                     <INTGO>
1258                     <RESTL K18 1 = FLS20 (TYPE LIST)>
1259                     <EMPL? FLS20 - PHRASE108 (TYPE LIST)>
1260                     <DEAD FLS20>
1261                     <FRAME '\1aFREE-TEMP>
1262                     <PUSH REG16>
1263                     <PUSH %<>>
1264                     <CALL '\1aFREE-TEMP 2>
1265                     <FRAME '\1aGEN-TYPE?>
1266                     <PUSH REG16>
1267                     <DEAD REG16>
1268                     <NTHL K18 1 = FLS20 (TYPE NODE)>
1269                     <DEAD K18>
1270                     <NTHUV FLS20 4 = STACK>
1271                     <DEAD FLS20>
1272                     <PUSH B2-15>
1273                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE112>
1274                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG113>
1275                     <DEAD DIR13>
1276                     <SET FLS20 'T (TYPE ATOM)>
1277                     <JUMP + PHRASE115>
1278 TAG113
1279                     <SET FLS20 %<> (TYPE FALSE)>
1280                     <JUMP + PHRASE115>
1281 PHRASE112
1282                     <SET FLS20 DIR13>
1283                     <DEAD DIR13>
1284 PHRASE115
1285                     <PUSH FLS20>
1286                     <DEAD FLS20>
1287                     <CALL '\1aGEN-TYPE? 4>
1288                     <JUMP + EXIT105>
1289 PHRASE108
1290                     <FRAME '\1aGEN-TYPE?>
1291                     <PUSH REG16>
1292                     <NTHL K18 1 = FLS20 (TYPE NODE)>
1293                     <NTHUV FLS20 4 = STACK>
1294                     <DEAD FLS20>
1295                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE121>
1296                     <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE119>
1297                     <JUMP + PHRASE122>
1298 PHRASE121
1299                     <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE119>
1300 PHRASE122
1301                     <SET FLS20 B2-15>
1302                     <JUMP + PHRASE123>
1303 PHRASE119
1304                     <SET FLS20 B3-21>
1305 PHRASE123
1306                     <PUSH FLS20>
1307                     <DEAD FLS20>
1308                     <PUSH 'T>
1309                     <CALL '\1aGEN-TYPE? 4>
1310                     <FRAME '\1aGEN-TYPE?>
1311                     <PUSH REG16>
1312                     <RESTL K18 1 = FLS20 (TYPE LIST)>
1313                     <NTHL FLS20 1 = FLS20 (TYPE NODE)>
1314                     <NTHUV FLS20 4 = STACK>
1315                     <DEAD FLS20>
1316                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE128>
1317                     <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE126>
1318                     <JUMP + PHRASE129>
1319 PHRASE128
1320                     <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE126>
1321 PHRASE129
1322                     <SET FLS20 B2-15>
1323                     <JUMP + PHRASE130>
1324 PHRASE126
1325                     <SET FLS20 B3-21>
1326 PHRASE130
1327                     <PUSH FLS20>
1328                     <DEAD FLS20>
1329                     <PUSH 'T>
1330                     <CALL '\1aGEN-TYPE? 4>
1331                     <RESTL K18 1 = K18 (TYPE LIST)>
1332                     <RESTL K18 1 = K18 (TYPE LIST)>
1333                     <EMPL? K18 - AGAIN106 (TYPE LIST)>
1334                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE136>
1335                     <TYPE? DIR13 <TYPE-CODE FALSE> + EXIT105>
1336                     <DEAD DIR13>
1337                     <JUMP + PHRASE137>
1338 PHRASE136
1339                     <TYPE? DIR13 <TYPE-CODE FALSE> - EXIT105>
1340                     <DEAD DIR13>
1341 PHRASE137
1342                     <FRAME '\1aBRANCH-TAG>
1343                     <PUSH B2-15>
1344                     <CALL '\1aBRANCH-TAG 1>
1345 EXIT105
1346                     <FRAME '\1aLABEL-TAG>
1347                     <PUSH B3-21>
1348                     <DEAD B3-21>
1349                     <CALL '\1aLABEL-TAG 1>
1350                     <EQUAL? WHERE10 'DONT-CARE - PHRASE141>
1351                     <FRAME '\1aGEN-TEMP>
1352                     <PUSH %<>>
1353                     <CALL '\1aGEN-TEMP 1 = WHERE10>
1354 PHRASE141
1355                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE144>
1356                     <FRAME '\1aMOVE-ARG>
1357                     <FRAME '\1aREFERENCE>
1358                     <PUSH SDIR19>
1359                     <DEAD SDIR19>
1360                     <CALL '\1aREFERENCE 1 = STACK>
1361                     <PUSH WHERE10>
1362                     <DEAD WHERE10>
1363                     <CALL '\1aMOVE-ARG 2 = WHERE10>
1364                     <FRAME '\1aBRANCH-TAG>
1365                     <PUSH BRANCH12>
1366                     <DEAD BRANCH12>
1367                     <CALL '\1aBRANCH-TAG 1>
1368                     <FRAME '\1aLABEL-TAG>
1369                     <PUSH B2-15>
1370                     <DEAD B2-15>
1371                     <CALL '\1aLABEL-TAG 1>
1372                     <JUMP + PHRASE246>
1373 PHRASE144
1374                     <FRAME '\1aTRUE-FALSE>
1375                     <PUSH NOD9>
1376                     <DEAD NOD9>
1377                     <PUSH B2-15>
1378                     <DEAD B2-15>
1379                     <PUSH WHERE10>
1380                     <CALL '\1aTRUE-FALSE 3>
1381                     <JUMP + PHRASE246>
1382 PHRASE94
1383                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE153>
1384                     <TYPE? DIR13 <TYPE-CODE FALSE> + BOOL157>
1385                     <NTHL TEST?22 1 = FLS20>
1386                     <EQUAL? FLS20 2 + BOOL156>
1387                     <DEAD FLS20>
1388 BOOL157
1389                     <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE246>
1390                     <DEAD DIR13>
1391                     <NTHL TEST?22 1 = FLS20>
1392                     <DEAD TEST?22>
1393                     <EQUAL? FLS20 1 - PHRASE246>
1394                     <DEAD FLS20>
1395 BOOL156
1396                     <FRAME '\1aMOVE-ARG>
1397                     <FRAME '\1aREFERENCE>
1398                     <PUSH SDIR19>
1399                     <DEAD SDIR19>
1400                     <CALL '\1aREFERENCE 1 = STACK>
1401                     <PUSH WHERE10>
1402                     <DEAD WHERE10>
1403                     <CALL '\1aMOVE-ARG 2 = WHERE10>
1404                     <FRAME '\1aBRANCH-TAG>
1405                     <PUSH BRANCH12>
1406                     <DEAD BRANCH12>
1407                     <CALL '\1aBRANCH-TAG 1>
1408                     <JUMP + PHRASE246>
1409 PHRASE153
1410                     <FRAME '\1aMOVE-ARG>
1411                     <NTHL TEST?22 1 = FLS20>
1412                     <DEAD TEST?22>
1413                     <EQUAL? FLS20 2 - TAG164>
1414                     <DEAD FLS20>
1415                     <PUSH 'T>
1416                     <JUMP + TAG165>
1417 TAG164
1418                     <PUSH %<>>
1419 TAG165
1420                     <PUSH WHERE10>
1421                     <DEAD WHERE10>
1422                     <CALL '\1aMOVE-ARG 2 = WHERE10>
1423                     <JUMP + PHRASE246>
1424 PHRASE83
1425                     <TYPE? WHERE10 <TYPE-CODE TEMP> + PHRASE174>
1426                     <TYPE? REG16 <TYPE-CODE TEMP> - PHRASE170>
1427                     <EMPL? K18 + PHRASE170>
1428                     <RESTL K18 1 = FLS20 (TYPE LIST)>
1429                     <EMPL? FLS20 - PHRASE170>
1430                     <DEAD FLS20>
1431                     <NTHUV REG16 2 = FLS20 (TYPE FIX)>
1432                     <GRTR? FLS20 1 + PHRASE170 (TYPE FIX)>
1433                     <DEAD FLS20>
1434                     <SET WHERE10 REG16>
1435                     <JUMP + PHRASE174>
1436 PHRASE170
1437                     <FRAME '\1aGEN-TEMP>
1438                     <PUSH %<>>
1439                     <CALL '\1aGEN-TEMP 1 = WHERE10>
1440 PHRASE174
1441                     <FRAME '\1aMAKE-TAG>
1442                     <CALL '\1aMAKE-TAG 0 = B2-15>
1443                     <TYPE? TEST?22 <TYPE-CODE FALSE> - BOOL179>
1444                     <EMPL? K18 + PHRASE178>
1445                     <RESTL K18 1 = FLS20 (TYPE LIST)>
1446                     <EMPL? FLS20 + PHRASE178>
1447                     <DEAD FLS20>
1448                     <NTHL TEST?22 1 = FLS20>
1449                     <EQUAL? FLS20 2 - PHRASE178>
1450                     <DEAD FLS20>
1451 BOOL179
1452                     <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE182>
1453                     <DEAD SETF14>
1454                     <FRAME '\1aDEALLOCATE-TEMP>
1455                     <FRAME '\1aMOVE-ARG>
1456                     <FRAME '\1aREFERENCE>
1457                     <PUSH %<>>
1458                     <CALL '\1aREFERENCE 1 = STACK>
1459                     <PUSH WHERE10>
1460                     <DEAD WHERE10>
1461                     <CALL '\1aMOVE-ARG 2 = WHERE10>
1462                     <PUSH WHERE10>
1463                     <CALL '\1aDEALLOCATE-TEMP 1>
1464 PHRASE182
1465                     <SET FLS20 K18 (TYPE LIST)>
1466                     <DEAD K18>
1467                     <LOOP>
1468 MAP187
1469                     <INTGO>
1470                     <EMPL? FLS20 + PHRASE246>
1471                     <SET K18 FLS20>
1472                     <NTHL K18 1 = SDIR19 (TYPE NODE)>
1473                     <TYPE? TEST?22 <TYPE-CODE FALSE> - BOOL200>
1474                     <RESTL K18 1 = TEMP28 (TYPE LIST)>
1475                     <EMPL? TEMP28 + PHRASE199 (TYPE LIST)>
1476                     <DEAD TEMP28>
1477 BOOL200
1478                     <FRAME '\1aGEN-TYPE?>
1479                     <PUSH REG16>
1480                     <NTHUV SDIR19 4 = STACK>
1481                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + BOOL205>
1482                     <TYPE? DIR13 <TYPE-CODE FALSE> - BOOL205>
1483                     <RESTL K18 1 = TEMP28 (TYPE LIST)>
1484                     <EMPL? TEMP28 + PHRASE204 (TYPE LIST)>
1485                     <DEAD TEMP28>
1486 BOOL205
1487                     <FRAME '\1aMAKE-TAG>
1488                     <CALL '\1aMAKE-TAG 0 = B3-21>
1489                     <SET TEMP28 B3-21>
1490                     <JUMP + PHRASE207>
1491 PHRASE204
1492                     <SET TEMP28 BRANCH12>
1493 PHRASE207
1494                     <PUSH TEMP28>
1495                     <DEAD TEMP28>
1496                     <PUSH %<>>
1497                     <CALL '\1aGEN-TYPE? 4>
1498 PHRASE199
1499                     <FRAME '\1aMOVE-ARG>
1500                     <FRAME '\1aREFERENCE>
1501                     <NTHUV SDIR19 4 = STACK>
1502                     <DEAD SDIR19>
1503                     <CALL '\1aREFERENCE 1 = STACK>
1504                     <PUSH WHERE10>
1505                     <DEAD WHERE10>
1506                     <CALL '\1aMOVE-ARG 2 = WHERE10>
1507                     <VEQUAL? FIRST23 0 - PHRASE211>
1508                     <FRAME '\1aDEALLOCATE-TEMP>
1509                     <PUSH WHERE10>
1510                     <CALL '\1aDEALLOCATE-TEMP 1>
1511                     <JUMP + PHRASE213>
1512 PHRASE211
1513                     <SET FIRST23 %<> (TYPE FALSE)>
1514 PHRASE213
1515                     <RESTL K18 1 = TEMP28 (TYPE LIST)>
1516                     <DEAD K18>
1517                     <EMPL? TEMP28 - PHRASE215 (TYPE LIST)>
1518                     <DEAD TEMP28>
1519                     <FRAME '\1aLABEL-TAG>
1520                     <PUSH B2-15>
1521                     <CALL '\1aLABEL-TAG 1>
1522                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE218>
1523                     <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE218>
1524                     <FRAME '\1aBRANCH-TAG>
1525                     <PUSH BRANCH12>
1526                     <CALL '\1aBRANCH-TAG 1>
1527                     <FRAME '\1aLABEL-TAG>
1528                     <PUSH B3-21>
1529                     <CALL '\1aLABEL-TAG 1>
1530                     <JUMP + PHRASE222>
1531 PHRASE218
1532                     <TYPE? BRANCH12 <TYPE-CODE FALSE> - PHRASE222>
1533                     <FRAME '\1aBRANCH-TAG>
1534                     <FRAME '\1aMAKE-TAG>
1535                     <CALL '\1aMAKE-TAG 0 = B2-15>
1536                     <PUSH B2-15>
1537                     <CALL '\1aBRANCH-TAG 1>
1538                     <FRAME '\1aLABEL-TAG>
1539                     <PUSH B3-21>
1540                     <CALL '\1aLABEL-TAG 1>
1541                     <FRAME '\1aDEALLOCATE-TEMP>
1542                     <FRAME '\1aMOVE-ARG>
1543                     <FRAME '\1aREFERENCE>
1544                     <PUSH %<>>
1545                     <CALL '\1aREFERENCE 1 = STACK>
1546                     <PUSH WHERE10>
1547                     <CALL '\1aMOVE-ARG 2 = STACK>
1548                     <CALL '\1aDEALLOCATE-TEMP 1>
1549                     <FRAME '\1aLABEL-TAG>
1550                     <PUSH B2-15>
1551                     <CALL '\1aLABEL-TAG 1>
1552 PHRASE222
1553                     <FRAME '\1aFREE-TEMP>
1554                     <PUSH REG16>
1555                     <PUSH %<>>
1556                     <CALL '\1aFREE-TEMP 2>
1557                     <JUMP + PHRASE231>
1558 PHRASE215
1559                     <FRAME '\1aBRANCH-TAG>
1560                     <PUSH B2-15>
1561                     <CALL '\1aBRANCH-TAG 1>
1562                     <FRAME '\1aLABEL-TAG>
1563                     <PUSH B3-21>
1564                     <CALL '\1aLABEL-TAG 1>
1565 PHRASE231
1566                     <RESTL FLS20 1 = FLS20 (TYPE LIST)>
1567                     <JUMP + MAP187>
1568 PHRASE178
1569                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE236>
1570                     <TYPE? DIR13 <TYPE-CODE FALSE> + BOOL240>
1571                     <NTHL TEST?22 1 = FLS20>
1572                     <EQUAL? FLS20 2 + BOOL239>
1573                     <DEAD FLS20>
1574 BOOL240
1575                     <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE246>
1576                     <NTHL TEST?22 1 = FLS20>
1577                     <DEAD TEST?22>
1578                     <EQUAL? FLS20 1 - PHRASE246>
1579                     <DEAD FLS20>
1580 BOOL239
1581                     <FRAME '\1aMOVE-ARG>
1582                     <FRAME '\1aREFERENCE>
1583                     <SET FLS20 DIR13>
1584                     <DEAD DIR13>
1585                     <TYPE? FLS20 <TYPE-CODE FALSE> + BOOL244>
1586                     <NTHL K18 1 = B2-15 (TYPE NODE)>
1587                     <DEAD K18>
1588                     <NTHUV B2-15 4 = FLS20>
1589                     <DEAD B2-15>
1590 BOOL244
1591                     <PUSH FLS20>
1592                     <DEAD FLS20>
1593                     <CALL '\1aREFERENCE 1 = STACK>
1594                     <PUSH WHERE10>
1595                     <DEAD WHERE10>
1596                     <CALL '\1aMOVE-ARG 2 = WHERE10>
1597                     <FRAME '\1aBRANCH-TAG>
1598                     <PUSH BRANCH12>
1599                     <DEAD BRANCH12>
1600                     <CALL '\1aBRANCH-TAG 1>
1601                     <JUMP + PHRASE246>
1602 PHRASE236
1603                     <FRAME '\1aMOVE-ARG>
1604                     <FRAME '\1aREFERENCE>
1605                     <SET FLS20 DIR13>
1606                     <DEAD DIR13>
1607                     <TYPE? FLS20 <TYPE-CODE FALSE> + BOOL249>
1608                     <NTHL K18 1 = B2-15 (TYPE NODE)>
1609                     <DEAD K18>
1610                     <NTHUV B2-15 4 = FLS20>
1611                     <DEAD B2-15>
1612 BOOL249
1613                     <PUSH FLS20>
1614                     <DEAD FLS20>
1615                     <CALL '\1aREFERENCE 1 = STACK>
1616                     <PUSH WHERE10>
1617                     <DEAD WHERE10>
1618                     <CALL '\1aMOVE-ARG 2 = WHERE10>
1619 PHRASE246
1620                     <FRAME '\1aMOVE-ARG>
1621                     <PUSH WHERE10>
1622                     <DEAD WHERE10>
1623                     <PUSH RW17>
1624                     <DEAD RW17>
1625                     <CALL '\1aMOVE-ARG 2 = FLS20>
1626                     <RETURN FLS20>
1627                     <DEAD FLS20>
1628                     <END \1aTYPE?-GEN>
1629 #WORD *31044550622*
1630 <GFCN \1aPGEN-DISPATCH ("VALUE" ANY ANY ANY ANY ANY ANY ANY) N4 W5 NF6 B7 D8 SF9>
1631                     <TEMP TEMP35>
1632                     <INTGO>
1633                     <NTHUV N4 1 = TEMP35 (TYPE FIX)>
1634                     <VEQUAL? TEMP35 90 - CASE12>
1635                     <FRAME '\1aCALL-GEN>
1636                     <PUSH N4>
1637                     <DEAD N4>
1638                     <PUSH W5>
1639                     <DEAD W5>
1640                     <PUSH NF6>
1641                     <DEAD NF6>
1642                     <PUSH B7>
1643                     <DEAD B7>
1644                     <PUSH D8>
1645                     <DEAD D8>
1646                     <CALL '\1aCALL-GEN 5 = TEMP35>
1647                     <RETURN TEMP35>
1648                     <DEAD TEMP35>
1649 CASE12
1650                     <VEQUAL? TEMP35 7 - CASE13>
1651                     <FRAME '\1aCOND-GEN>
1652                     <PUSH N4>
1653                     <DEAD N4>
1654                     <PUSH W5>
1655                     <DEAD W5>
1656                     <PUSH NF6>
1657                     <DEAD NF6>
1658                     <PUSH B7>
1659                     <DEAD B7>
1660                     <PUSH D8>
1661                     <DEAD D8>
1662                     <CALL '\1aCOND-GEN 5 = TEMP35>
1663                     <RETURN TEMP35>
1664                     <DEAD TEMP35>
1665 CASE13
1666                     <VEQUAL? TEMP35 12 - CASE14>
1667                     <FRAME '\1aOR-GEN>
1668                     <PUSH N4>
1669                     <DEAD N4>
1670                     <PUSH W5>
1671                     <DEAD W5>
1672                     <PUSH NF6>
1673                     <DEAD NF6>
1674                     <PUSH B7>
1675                     <DEAD B7>
1676                     <PUSH D8>
1677                     <DEAD D8>
1678                     <CALL '\1aOR-GEN 5 = TEMP35>
1679                     <RETURN TEMP35>
1680                     <DEAD TEMP35>
1681 CASE14
1682                     <VEQUAL? TEMP35 13 - CASE15>
1683                     <FRAME '\1aAND-GEN>
1684                     <PUSH N4>
1685                     <DEAD N4>
1686                     <PUSH W5>
1687                     <DEAD W5>
1688                     <PUSH NF6>
1689                     <DEAD NF6>
1690                     <PUSH B7>
1691                     <DEAD B7>
1692                     <PUSH D8>
1693                     <DEAD D8>
1694                     <CALL '\1aAND-GEN 5 = TEMP35>
1695                     <RETURN TEMP35>
1696                     <DEAD TEMP35>
1697 CASE15
1698                     <VEQUAL? TEMP35 19 - CASE16>
1699                     <FRAME '\1a0-TEST>
1700                     <PUSH N4>
1701                     <DEAD N4>
1702                     <PUSH W5>
1703                     <DEAD W5>
1704                     <PUSH NF6>
1705                     <DEAD NF6>
1706                     <PUSH B7>
1707                     <DEAD B7>
1708                     <PUSH D8>
1709                     <DEAD D8>
1710                     <PUSH SF9>
1711                     <DEAD SF9>
1712                     <CALL '\1a0-TEST 6 = TEMP35>
1713                     <RETURN TEMP35>
1714                     <DEAD TEMP35>
1715 CASE16
1716                     <VEQUAL? TEMP35 20 - CASE17>
1717                     <FRAME '\1aNOT-GEN>
1718                     <PUSH N4>
1719                     <DEAD N4>
1720                     <PUSH W5>
1721                     <DEAD W5>
1722                     <PUSH NF6>
1723                     <DEAD NF6>
1724                     <PUSH B7>
1725                     <DEAD B7>
1726                     <PUSH D8>
1727                     <DEAD D8>
1728                     <PUSH SF9>
1729                     <DEAD SF9>
1730                     <CALL '\1aNOT-GEN 6 = TEMP35>
1731                     <RETURN TEMP35>
1732                     <DEAD TEMP35>
1733 CASE17
1734                     <VEQUAL? TEMP35 21 - CASE18>
1735                     <FRAME '\1a1?-GEN>
1736                     <PUSH N4>
1737                     <DEAD N4>
1738                     <PUSH W5>
1739                     <DEAD W5>
1740                     <PUSH NF6>
1741                     <DEAD NF6>
1742                     <PUSH B7>
1743                     <DEAD B7>
1744                     <PUSH D8>
1745                     <DEAD D8>
1746                     <PUSH SF9>
1747                     <DEAD SF9>
1748                     <CALL '\1a1?-GEN 6 = TEMP35>
1749                     <RETURN TEMP35>
1750                     <DEAD TEMP35>
1751 CASE18
1752                     <VEQUAL? TEMP35 22 - CASE19>
1753                     <FRAME '\1aTEST-GEN>
1754                     <PUSH N4>
1755                     <DEAD N4>
1756                     <PUSH W5>
1757                     <DEAD W5>
1758                     <PUSH NF6>
1759                     <DEAD NF6>
1760                     <PUSH B7>
1761                     <DEAD B7>
1762                     <PUSH D8>
1763                     <DEAD D8>
1764                     <PUSH SF9>
1765                     <DEAD SF9>
1766                     <CALL '\1aTEST-GEN 6 = TEMP35>
1767                     <RETURN TEMP35>
1768                     <DEAD TEMP35>
1769 CASE19
1770                     <VEQUAL? TEMP35 23 - CASE20>
1771                     <FRAME '\1a==-GEN>
1772                     <PUSH N4>
1773                     <DEAD N4>
1774                     <PUSH W5>
1775                     <DEAD W5>
1776                     <PUSH NF6>
1777                     <DEAD NF6>
1778                     <PUSH B7>
1779                     <DEAD B7>
1780                     <PUSH D8>
1781                     <DEAD D8>
1782                     <PUSH SF9>
1783                     <DEAD SF9>
1784                     <CALL '\1a==-GEN 6 = TEMP35>
1785                     <RETURN TEMP35>
1786                     <DEAD TEMP35>
1787 CASE20
1788                     <VEQUAL? TEMP35 24 - CASE21>
1789                     <FRAME '\1aTYPE?-GEN>
1790                     <PUSH N4>
1791                     <DEAD N4>
1792                     <PUSH W5>
1793                     <DEAD W5>
1794                     <PUSH NF6>
1795                     <DEAD NF6>
1796                     <PUSH B7>
1797                     <DEAD B7>
1798                     <PUSH D8>
1799                     <DEAD D8>
1800                     <PUSH SF9>
1801                     <DEAD SF9>
1802                     <CALL '\1aTYPE?-GEN 6 = TEMP35>
1803                     <RETURN TEMP35>
1804                     <DEAD TEMP35>
1805 CASE21
1806                     <VEQUAL? TEMP35 26 - CASE22>
1807                     <FRAME '\1aMT-GEN>
1808                     <PUSH N4>
1809                     <DEAD N4>
1810                     <PUSH W5>
1811                     <DEAD W5>
1812                     <PUSH NF6>
1813                     <DEAD NF6>
1814                     <PUSH B7>
1815                     <DEAD B7>
1816                     <PUSH D8>
1817                     <DEAD D8>
1818                     <PUSH SF9>
1819                     <DEAD SF9>
1820                     <CALL '\1aMT-GEN 6 = TEMP35>
1821                     <RETURN TEMP35>
1822                     <DEAD TEMP35>
1823 CASE22
1824                     <VEQUAL? TEMP35 91 - CASE23>
1825                     <FRAME '\1aMT-GEN>
1826                     <PUSH N4>
1827                     <DEAD N4>
1828                     <PUSH W5>
1829                     <DEAD W5>
1830                     <PUSH NF6>
1831                     <DEAD NF6>
1832                     <PUSH B7>
1833                     <DEAD B7>
1834                     <PUSH D8>
1835                     <DEAD D8>
1836                     <PUSH SF9>
1837                     <DEAD SF9>
1838                     <CALL '\1aMT-GEN 6 = TEMP35>
1839                     <RETURN TEMP35>
1840                     <DEAD TEMP35>
1841 CASE23
1842                     <VEQUAL? TEMP35 43 - CASE24>
1843                     <FRAME '\1aASSIGNED?-GEN>
1844                     <PUSH N4>
1845                     <DEAD N4>
1846                     <PUSH W5>
1847                     <DEAD W5>
1848                     <PUSH NF6>
1849                     <DEAD NF6>
1850                     <PUSH B7>
1851                     <DEAD B7>
1852                     <PUSH D8>
1853                     <DEAD D8>
1854                     <PUSH SF9>
1855                     <DEAD SF9>
1856                     <CALL '\1aASSIGNED?-GEN 6 = TEMP35>
1857                     <RETURN TEMP35>
1858                     <DEAD TEMP35>
1859 CASE24
1860                     <VEQUAL? TEMP35 56 - CASE25>
1861                     <FRAME '\1aGET-GEN>
1862                     <PUSH N4>
1863                     <DEAD N4>
1864                     <PUSH W5>
1865                     <DEAD W5>
1866                     <PUSH NF6>
1867                     <DEAD NF6>
1868                     <PUSH B7>
1869                     <DEAD B7>
1870                     <PUSH D8>
1871                     <DEAD D8>
1872                     <PUSH SF9>
1873                     <DEAD SF9>
1874                     <CALL '\1aGET-GEN 6 = TEMP35>
1875                     <RETURN TEMP35>
1876                     <DEAD TEMP35>
1877 CASE25
1878                     <VEQUAL? TEMP35 57 - CASE26>
1879                     <FRAME '\1aGET2-GEN>
1880                     <PUSH N4>
1881                     <DEAD N4>
1882                     <PUSH W5>
1883                     <DEAD W5>
1884                     <PUSH NF6>
1885                     <DEAD NF6>
1886                     <PUSH B7>
1887                     <DEAD B7>
1888                     <PUSH D8>
1889                     <DEAD D8>
1890                     <PUSH SF9>
1891                     <DEAD SF9>
1892                     <CALL '\1aGET2-GEN 6 = TEMP35>
1893                     <RETURN TEMP35>
1894                     <DEAD TEMP35>
1895 CASE26
1896                     <VEQUAL? TEMP35 73 - CASE27>
1897                     <FRAME '\1aMEMQ-GEN>
1898                     <PUSH N4>
1899                     <DEAD N4>
1900                     <PUSH W5>
1901                     <DEAD W5>
1902                     <PUSH NF6>
1903                     <DEAD NF6>
1904                     <PUSH B7>
1905                     <DEAD B7>
1906                     <PUSH D8>
1907                     <DEAD D8>
1908                     <PUSH SF9>
1909                     <DEAD SF9>
1910                     <CALL '\1aMEMQ-GEN 6 = TEMP35>
1911                     <RETURN TEMP35>
1912                     <DEAD TEMP35>
1913 CASE27
1914                     <VEQUAL? TEMP35 69 - CASE28>
1915                     <FRAME '\1aLENGTH?-GEN>
1916                     <PUSH N4>
1917                     <DEAD N4>
1918                     <PUSH W5>
1919                     <DEAD W5>
1920                     <PUSH NF6>
1921                     <DEAD NF6>
1922                     <PUSH B7>
1923                     <DEAD B7>
1924                     <PUSH D8>
1925                     <DEAD D8>
1926                     <PUSH SF9>
1927                     <DEAD SF9>
1928                     <CALL '\1aLENGTH?-GEN 6 = TEMP35>
1929                     <RETURN TEMP35>
1930                     <DEAD TEMP35>
1931 CASE28
1932                     <VEQUAL? TEMP35 92 - CASE29>
1933                     <FRAME '\1aGASSIGNED?-GEN>
1934                     <PUSH N4>
1935                     <DEAD N4>
1936                     <PUSH W5>
1937                     <DEAD W5>
1938                     <PUSH NF6>
1939                     <DEAD NF6>
1940                     <PUSH B7>
1941                     <DEAD B7>
1942                     <PUSH D8>
1943                     <DEAD D8>
1944                     <PUSH SF9>
1945                     <DEAD SF9>
1946                     <CALL '\1aGASSIGNED?-GEN 6 = TEMP35>
1947                     <RETURN TEMP35>
1948                     <DEAD TEMP35>
1949 CASE29
1950                     <VEQUAL? TEMP35 97 - CASE30>
1951                     <FRAME '\1aVALID-TYPE?-GEN>
1952                     <PUSH N4>
1953                     <DEAD N4>
1954                     <PUSH W5>
1955                     <DEAD W5>
1956                     <PUSH NF6>
1957                     <DEAD NF6>
1958                     <PUSH B7>
1959                     <DEAD B7>
1960                     <PUSH D8>
1961                     <DEAD D8>
1962                     <PUSH SF9>
1963                     <DEAD SF9>
1964                     <CALL '\1aVALID-TYPE?-GEN 6 = TEMP35>
1965                     <RETURN TEMP35>
1966                     <DEAD TEMP35>
1967 CASE30
1968                     <VEQUAL? TEMP35 95 - CASE31>
1969                     <FRAME '\1a=?-STRING-GEN>
1970                     <PUSH N4>
1971                     <DEAD N4>
1972                     <PUSH W5>
1973                     <DEAD W5>
1974                     <PUSH NF6>
1975                     <DEAD NF6>
1976                     <PUSH B7>
1977                     <DEAD B7>
1978                     <PUSH D8>
1979                     <DEAD D8>
1980                     <PUSH SF9>
1981                     <DEAD SF9>
1982                     <CALL '\1a=?-STRING-GEN 6 = TEMP35>
1983                     <RETURN TEMP35>
1984                     <DEAD TEMP35>
1985 CASE31
1986                     <VEQUAL? TEMP35 11 - CASE32>
1987                     <FRAME '\1aSET-GEN>
1988                     <PUSH N4>
1989                     <DEAD N4>
1990                     <PUSH W5>
1991                     <DEAD W5>
1992                     <PUSH NF6>
1993                     <DEAD NF6>
1994                     <PUSH B7>
1995                     <DEAD B7>
1996                     <PUSH D8>
1997                     <DEAD D8>
1998                     <CALL '\1aSET-GEN 5 = TEMP35>
1999                     <RETURN TEMP35>
2000                     <DEAD TEMP35>
2001 CASE32
2002                     <VEQUAL? TEMP35 50 - CASE33>
2003                     <FRAME '\1aMAPFR-GEN>
2004                     <PUSH N4>
2005                     <DEAD N4>
2006                     <PUSH W5>
2007                     <DEAD W5>
2008                     <PUSH NF6>
2009                     <DEAD NF6>
2010                     <PUSH B7>
2011                     <DEAD B7>
2012                     <PUSH D8>
2013                     <DEAD D8>
2014                     <CALL '\1aMAPFR-GEN 5 = TEMP35>
2015                     <RETURN TEMP35>
2016                     <DEAD TEMP35>
2017 CASE33
2018                     <VEQUAL? TEMP35 5 - CASE34>
2019                     <DEAD TEMP35>
2020                     <FRAME '\1aPROG-REP-GEN>
2021                     <PUSH N4>
2022                     <DEAD N4>
2023                     <PUSH W5>
2024                     <DEAD W5>
2025                     <PUSH NF6>
2026                     <DEAD NF6>
2027                     <PUSH B7>
2028                     <DEAD B7>
2029                     <PUSH D8>
2030                     <DEAD D8>
2031                     <CALL '\1aPROG-REP-GEN 5 = TEMP35>
2032                     <RETURN TEMP35>
2033                     <DEAD TEMP35>
2034 CASE34
2035                     <FRAME '\1aCOMPILE-LOSSAGE>
2036                     <PUSH "Inconsisent use of predicate internally:  ">
2037                     <PUSH N4>
2038                     <DEAD N4>
2039                     <CALL '\1aCOMPILE-LOSSAGE 2 = TEMP35>
2040                     <RETURN TEMP35>
2041                     <DEAD TEMP35>
2042                     <END \1aPGEN-DISPATCH>
2043 #WORD *7343117016*
2044 <GFCN \1aPRED-BRANCH-GEN ("VALUE" ANY ANY NODE ANY "OPTIONAL" ANY ANY ANY) TAG8 NOD9 TF10 WHERE11 NF12 SETF13>
2045                     <OPT-DISPATCH 3 %<> OPT4 OPT5 OPT6 OPT7>
2046 OPT4
2047                     <PUSH 'FLUSHED>
2048 OPT5
2049                     <PUSH %<>>
2050 OPT6
2051                     <PUSH %<>>
2052 OPT7
2053                     <TEMP W2-14 TEMP22>
2054                     <INTGO>
2055                     <EQUAL? WHERE11 'FLUSHED - PHRASE18>
2056                     <SET W2-14 'DONT-CARE (TYPE ATOM)>
2057                     <JUMP + PHRASE19>
2058 PHRASE18
2059                     <SET W2-14 WHERE11>
2060 PHRASE19
2061                     <NTHUV NOD9 3 = TEMP22>
2062                     <EQUAL? TEMP22 'NO-RETURN - PHRASE21>
2063                     <DEAD TEMP22>
2064                     <FRAME '\1aGEN>
2065                     <PUSH NOD9>
2066                     <DEAD NOD9>
2067                     <PUSH 'FLUSHED>
2068                     <CALL '\1aGEN 2>
2069                     <GVAL 'NO-DATUM = TEMP22>
2070                     <RETURN TEMP22>
2071                     <DEAD TEMP22>
2072 PHRASE21
2073                     <FRAME '\1aPRED-CHECK?>
2074                     <PUSH NOD9>
2075                     <PUSH TF10>
2076                     <PUSH WHERE11>
2077                     <CALL '\1aPRED-CHECK? 3 = TEMP22>
2078                     <TYPE? TEMP22 <TYPE-CODE FALSE> + PHRASE24>
2079                     <DEAD TEMP22>
2080                     <FRAME '\1aPGEN-DISPATCH>
2081                     <PUSH NOD9>
2082                     <DEAD NOD9>
2083                     <PUSH WHERE11>
2084                     <DEAD WHERE11>
2085                     <PUSH NF12>
2086                     <DEAD NF12>
2087                     <PUSH TAG8>
2088                     <DEAD TAG8>
2089                     <PUSH TF10>
2090                     <DEAD TF10>
2091                     <PUSH SETF13>
2092                     <DEAD SETF13>
2093                     <CALL '\1aPGEN-DISPATCH 6 = TEMP22>
2094                     <RETURN TEMP22>
2095                     <DEAD TEMP22>
2096 PHRASE24
2097                     <TYPE? NF12 <TYPE-CODE FALSE> + PHRASE28>
2098                     <DEAD NF12>
2099                     <FRAME '\1aGEN>
2100                     <PUSH NOD9>
2101                     <PUSH 'DONT-CARE>
2102                     <CALL '\1aGEN 2 = W2-14>
2103                     <EQUAL? WHERE11 'FLUSHED - PHRASE31>
2104                     <FRAME '\1aD-B-TAG>
2105                     <PUSH TAG8>
2106                     <DEAD TAG8>
2107                     <PUSH W2-14>
2108                     <DEAD W2-14>
2109                     <TYPE? TF10 <TYPE-CODE FALSE> - TAG33>
2110                     <DEAD TF10>
2111                     <SET TEMP22 'T (TYPE ATOM)>
2112                     <JUMP + TAG34>
2113 TAG33
2114                     <SET TEMP22 %<> (TYPE FALSE)>
2115 TAG34
2116                     <PUSH TEMP22>
2117                     <DEAD TEMP22>
2118                     <NTHUV NOD9 3 = STACK>
2119                     <DEAD NOD9>
2120                     <CALL '\1aD-B-TAG 4 = TEMP22>
2121                     <RETURN TEMP22>
2122                     <DEAD TEMP22>
2123 PHRASE31
2124                     <FRAME '\1aD-B-TAG>
2125                     <FRAME '\1aMAKE-TAG>
2126                     <CALL '\1aMAKE-TAG 0 = TEMP22>
2127                     <PUSH TEMP22>
2128                     <PUSH W2-14>
2129                     <PUSH TF10>
2130                     <NTHUV NOD9 3 = STACK>
2131                     <DEAD NOD9>
2132                     <CALL '\1aD-B-TAG 4>
2133                     <FRAME '\1aFREE-TEMP>
2134                     <PUSH W2-14>
2135                     <DEAD W2-14>
2136                     <CALL '\1aFREE-TEMP 1>
2137                     <FRAME '\1aMOVE-ARG>
2138                     <FRAME '\1aREFERENCE>
2139                     <PUSH TF10>
2140                     <DEAD TF10>
2141                     <CALL '\1aREFERENCE 1 = STACK>
2142                     <PUSH WHERE11>
2143                     <DEAD WHERE11>
2144                     <CALL '\1aMOVE-ARG 2 = W2-14>
2145                     <FRAME '\1aBRANCH-TAG>
2146                     <PUSH TAG8>
2147                     <DEAD TAG8>
2148                     <CALL '\1aBRANCH-TAG 1>
2149                     <FRAME '\1aLABEL-TAG>
2150                     <PUSH TEMP22>
2151                     <DEAD TEMP22>
2152                     <CALL '\1aLABEL-TAG 1>
2153                     <RETURN W2-14>
2154                     <DEAD W2-14>
2155 PHRASE28
2156                     <FRAME '\1aGEN>
2157                     <PUSH NOD9>
2158                     <PUSH W2-14>
2159                     <DEAD W2-14>
2160                     <CALL '\1aGEN 2 = W2-14>
2161                     <FRAME '\1aD-B-TAG>
2162                     <PUSH TAG8>
2163                     <DEAD TAG8>
2164                     <PUSH W2-14>
2165                     <PUSH TF10>
2166                     <DEAD TF10>
2167                     <NTHUV NOD9 3 = STACK>
2168                     <DEAD NOD9>
2169                     <CALL '\1aD-B-TAG 4>
2170                     <FRAME '\1aMOVE-ARG>
2171                     <PUSH W2-14>
2172                     <DEAD W2-14>
2173                     <PUSH WHERE11>
2174                     <DEAD WHERE11>
2175                     <CALL '\1aMOVE-ARG 2 = TEMP22>
2176                     <RETURN TEMP22>
2177                     <DEAD TEMP22>
2178                     <END \1aPRED-BRANCH-GEN>\r\r
2179 #WORD *4524503660*
2180 <GFCN \1aVALID-TYPE?-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY ANY) N9 W10 NOTF11 BRANCH12 DIR13 SETF14>
2181                     <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
2182 OPT4
2183                     <PUSH %<>>
2184 OPT5
2185                     <PUSH %<>>
2186 OPT6
2187                     <PUSH %<>>
2188 OPT7
2189                     <PUSH %<>>
2190 OPT8
2191                     <TEMP TEMP22 NN15 RW17 FLS18 TEMP45>
2192                     <INTGO>
2193                     <NTHUV N9 5 = TEMP22 (TYPE LIST)>
2194                     <NTHL TEMP22 1 = NN15 (TYPE NODE)>
2195                     <DEAD TEMP22>
2196                     <SET TEMP22 DIR13>
2197                     <SET RW17 W10>
2198                     <EQUAL? RW17 'FLUSHED - TAG23>
2199                     <SET FLS18 'T (TYPE ATOM)>
2200                     <JUMP + TAG24>
2201 TAG23
2202                     <SET FLS18 %<> (TYPE FALSE)>
2203 TAG24
2204                     <TYPE? NOTF11 <TYPE-CODE FALSE> + TAG28>
2205                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG27>
2206                     <DEAD DIR13>
2207                     <SET DIR13 'T (TYPE ATOM)>
2208                     <JUMP + TAG28>
2209 TAG27
2210                     <SET DIR13 %<> (TYPE FALSE)>
2211 TAG28
2212                     <FRAME '\1aGEN>
2213                     <PUSH NN15>
2214                     <DEAD NN15>
2215                     <CALL '\1aGEN 1 = NN15>
2216                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE31>
2217                     <VEQUAL? FLS18 0 + PHRASE31>
2218                     <FRAME '\1aGEN-VT>
2219                     <PUSH NN15>
2220                     <PUSH BRANCH12>
2221                     <DEAD BRANCH12>
2222                     <PUSH DIR13>
2223                     <DEAD DIR13>
2224                     <CALL '\1aGEN-VT 3>
2225                     <FRAME '\1aFREE-TEMP>
2226                     <PUSH NN15>
2227                     <DEAD NN15>
2228                     <CALL '\1aFREE-TEMP 1>
2229                     <GVAL 'NO-DATUM = TEMP22>
2230                     <RETURN TEMP22>
2231                     <DEAD TEMP22>
2232 PHRASE31
2233                     <VEQUAL? FLS18 0 + TAG36>
2234                     <DEAD FLS18>
2235                     <TYPE? BRANCH12 <TYPE-CODE FALSE> - TAG36>
2236                     <RETURN 'T>
2237 TAG36
2238                     <TYPE? NOTF11 <TYPE-CODE FALSE> - BOOL38>
2239                     <DEAD NOTF11>
2240                     <TYPE? BRANCH12 <TYPE-CODE FALSE> - TAG40>
2241                     <SET FLS18 'T (TYPE ATOM)>
2242                     <JUMP + TAG41>
2243 TAG40
2244                     <SET FLS18 %<> (TYPE FALSE)>
2245 TAG41
2246                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG43>
2247                     <SET TEMP45 'T (TYPE ATOM)>
2248                     <JUMP + TAG44>
2249 TAG43
2250                     <SET TEMP45 %<> (TYPE FALSE)>
2251 TAG44
2252                     <VEQUAL? FLS18 TEMP45 + PHRASE37>
2253                     <DEAD FLS18 TEMP45>
2254                     <TYPE? SETF14 <TYPE-CODE FALSE> - PHRASE37>
2255 BOOL38
2256                     <FRAME '\1aMAKE-TAG>
2257                     <CALL '\1aMAKE-TAG 0 = FLS18>
2258                     <FRAME '\1aMAKE-TAG>
2259                     <CALL '\1aMAKE-TAG 0>
2260                     <FRAME '\1aGEN-VT>
2261                     <PUSH NN15>
2262                     <PUSH FLS18>
2263                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE50>
2264                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG51>
2265                     <DEAD DIR13>
2266                     <SET TEMP45 'T (TYPE ATOM)>
2267                     <JUMP + PHRASE53>
2268 TAG51
2269                     <SET TEMP45 %<> (TYPE FALSE)>
2270                     <JUMP + PHRASE53>
2271 PHRASE50
2272                     <SET TEMP45 DIR13>
2273                     <DEAD DIR13>
2274 PHRASE53
2275                     <PUSH TEMP45>
2276                     <DEAD TEMP45>
2277                     <CALL '\1aGEN-VT 3>
2278                     <FRAME '\1aFREE-TEMP>
2279                     <PUSH NN15>
2280                     <DEAD NN15>
2281                     <CALL '\1aFREE-TEMP 1>
2282                     <EQUAL? W10 'DONT-CARE - PHRASE56>
2283                     <FRAME '\1aGEN-TEMP>
2284                     <PUSH %<>>
2285                     <CALL '\1aGEN-TEMP 1 = W10>
2286 PHRASE56
2287                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE59>
2288                     <FRAME '\1aMOVE-ARG>
2289                     <FRAME '\1aREFERENCE>
2290                     <PUSH TEMP22>
2291                     <CALL '\1aREFERENCE 1 = STACK>
2292                     <PUSH W10>
2293                     <DEAD W10>
2294                     <CALL '\1aMOVE-ARG 2 = W10>
2295                     <FRAME '\1aBRANCH-TAG>
2296                     <PUSH BRANCH12>
2297                     <DEAD BRANCH12>
2298                     <CALL '\1aBRANCH-TAG 1>
2299                     <FRAME '\1aLABEL-TAG>
2300                     <PUSH FLS18>
2301                     <DEAD FLS18>
2302                     <CALL '\1aLABEL-TAG 1>
2303                     <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE71>
2304                     <DEAD SETF14>
2305                     <FRAME '\1aDEALLOCATE-TEMP>
2306                     <PUSH W10>
2307                     <CALL '\1aDEALLOCATE-TEMP 1>
2308                     <FRAME '\1aMOVE-ARG>
2309                     <FRAME '\1aREFERENCE>
2310                     <TYPE? TEMP22 <TYPE-CODE FALSE> - TAG69>
2311                     <DEAD TEMP22>
2312                     <SET TEMP45 'T (TYPE ATOM)>
2313                     <JUMP + TAG70>
2314 TAG69
2315                     <SET TEMP45 %<> (TYPE FALSE)>
2316 TAG70
2317                     <PUSH TEMP45>
2318                     <DEAD TEMP45>
2319                     <CALL '\1aREFERENCE 1 = STACK>
2320                     <PUSH W10>
2321                     <CALL '\1aMOVE-ARG 2>
2322                     <JUMP + PHRASE71>
2323 PHRASE59
2324                     <FRAME '\1aTRUE-FALSE>
2325                     <PUSH N9>
2326                     <DEAD N9>
2327                     <PUSH FLS18>
2328                     <DEAD FLS18>
2329                     <PUSH W10>
2330                     <CALL '\1aTRUE-FALSE 3>
2331 PHRASE71
2332                     <FRAME '\1aMOVE-ARG>
2333                     <PUSH W10>
2334                     <DEAD W10>
2335                     <PUSH RW17>
2336                     <DEAD RW17>
2337                     <CALL '\1aMOVE-ARG 2 = TEMP22>
2338                     <RETURN TEMP22>
2339                     <DEAD TEMP22>
2340 PHRASE37
2341                     <FRAME '\1aMAKE-TAG>
2342                     <CALL '\1aMAKE-TAG 0 = FLS18>
2343                     <FRAME '\1aMAKE-TAG>
2344                     <CALL '\1aMAKE-TAG 0 = TEMP22>
2345                     <TYPE? W10 <TYPE-CODE TEMP> + PHRASE84>
2346                     <TYPE? NN15 <TYPE-CODE TEMP> - PHRASE80>
2347                     <NTHUV NN15 2 = TEMP45 (TYPE FIX)>
2348                     <GRTR? TEMP45 1 + PHRASE80 (TYPE FIX)>
2349                     <DEAD TEMP45>
2350                     <SET W10 NN15>
2351                     <JUMP + PHRASE84>
2352 PHRASE80
2353                     <FRAME '\1aGEN-TEMP>
2354                     <PUSH %<>>
2355                     <CALL '\1aGEN-TEMP 1 = W10>
2356 PHRASE84
2357                     <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE87>
2358                     <DEAD SETF14>
2359                     <FRAME '\1aDEALLOCATE-TEMP>
2360                     <FRAME '\1aMOVE-ARG>
2361                     <FRAME '\1aREFERENCE>
2362                     <PUSH %<>>
2363                     <CALL '\1aREFERENCE 1 = STACK>
2364                     <PUSH W10>
2365                     <CALL '\1aMOVE-ARG 2 = STACK>
2366                     <CALL '\1aDEALLOCATE-TEMP 1>
2367 PHRASE87
2368                     <FRAME '\1aGEN-VT>
2369                     <PUSH NN15>
2370                     <SET TEMP45 BRANCH12>
2371                     <TYPE? TEMP45 <TYPE-CODE FALSE> - PHRASE93>
2372                     <SET TEMP45 TEMP22>
2373 PHRASE93
2374                     <PUSH TEMP45>
2375                     <DEAD TEMP45>
2376                     <PUSH DIR13>
2377                     <DEAD DIR13>
2378                     <PUSH W10>
2379                     <CALL '\1aGEN-VT 4>
2380                     <FRAME '\1aFREE-TEMP>
2381                     <PUSH NN15>
2382                     <DEAD NN15>
2383                     <CALL '\1aFREE-TEMP 1>
2384                     <TYPE? BRANCH12 <TYPE-CODE FALSE> - PHRASE96>
2385                     <DEAD BRANCH12>
2386                     <FRAME '\1aBRANCH-TAG>
2387                     <PUSH FLS18>
2388                     <CALL '\1aBRANCH-TAG 1>
2389                     <FRAME '\1aLABEL-TAG>
2390                     <PUSH TEMP22>
2391                     <DEAD TEMP22>
2392                     <CALL '\1aLABEL-TAG 1>
2393                     <FRAME '\1aMOVE-ARG>
2394                     <FRAME '\1aREFERENCE>
2395                     <PUSH %<>>
2396                     <CALL '\1aREFERENCE 1 = STACK>
2397                     <PUSH W10>
2398                     <CALL '\1aMOVE-ARG 2>
2399                     <FRAME '\1aLABEL-TAG>
2400                     <PUSH FLS18>
2401                     <DEAD FLS18>
2402                     <CALL '\1aLABEL-TAG 1>
2403 PHRASE96
2404                     <FRAME '\1aMOVE-ARG>
2405                     <PUSH W10>
2406                     <DEAD W10>
2407                     <PUSH RW17>
2408                     <DEAD RW17>
2409                     <CALL '\1aMOVE-ARG 2 = TEMP22>
2410                     <RETURN TEMP22>
2411                     <DEAD TEMP22>
2412                     <END \1aVALID-TYPE?-GEN>\r\r
2413 #WORD *6402075010*
2414 <GFCN \1aTYPE-C-GEN ("VALUE" ANY ANY ANY) N4 W5>
2415                     <TEMP TEMP9 DATA6 RW7>
2416                     <INTGO>
2417                     <FRAME '\1aGEN>
2418                     <NTHUV N4 5 = TEMP9 (TYPE LIST)>
2419                     <DEAD N4>
2420                     <NTHL TEMP9 1 = STACK (TYPE NODE)>
2421                     <DEAD TEMP9>
2422                     <CALL '\1aGEN 1 = DATA6>
2423                     <SET RW7 W5>
2424                     <TYPE? W5 <TYPE-CODE TEMP> + PHRASE17>
2425                     <TYPE? DATA6 <TYPE-CODE TEMP> - PHRASE13>
2426                     <NTHUV DATA6 2 = TEMP9 (TYPE FIX)>
2427                     <GRTR? TEMP9 1 + PHRASE13 (TYPE FIX)>
2428                     <DEAD TEMP9>
2429                     <SET W5 DATA6>
2430                     <JUMP + PHRASE17>
2431 PHRASE13
2432                     <FRAME '\1aGEN-TEMP>
2433                     <PUSH %<>>
2434                     <CALL '\1aGEN-TEMP 1 = W5>
2435 PHRASE17
2436                     <FRAME '\1aGEN-TC>
2437                     <PUSH DATA6>
2438                     <PUSH W5>
2439                     <CALL '\1aGEN-TC 2>
2440                     <FRAME '\1aFREE-TEMP>
2441                     <PUSH DATA6>
2442                     <DEAD DATA6>
2443                     <CALL '\1aFREE-TEMP 1>
2444                     <FRAME '\1aMOVE-ARG>
2445                     <PUSH W5>
2446                     <DEAD W5>
2447                     <PUSH RW7>
2448                     <DEAD RW7>
2449                     <CALL '\1aMOVE-ARG 2 = TEMP9>
2450                     <RETURN TEMP9>
2451                     <DEAD TEMP9>
2452                     <END \1aTYPE-C-GEN>
2453 #WORD *32654761745*
2454 <GFCN \1a=?-STRING-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY ANY) N9 W10 NOTF11 BRANCH12 DIR13 SETF14>
2455                     <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
2456 OPT4
2457                     <PUSH %<>>
2458 OPT5
2459                     <PUSH %<>>
2460 OPT6
2461                     <PUSH %<>>
2462 OPT7
2463                     <PUSH %<>>
2464 OPT8
2465                     <TEMP TEMP24 N1-15:NODE N2-16:NODE SDIR17 RW18 FLS19 B2-20>
2466                     <INTGO>
2467                     <NTHUV N9 5 = TEMP24 (TYPE LIST)>
2468                     <NTHL TEMP24 1 = N1-15 (TYPE NODE)>
2469                     <DEAD TEMP24>
2470                     <NTHUV N9 5 = TEMP24 (TYPE LIST)>
2471                     <RESTL TEMP24 1 = TEMP24 (TYPE LIST)>
2472                     <NTHL TEMP24 1 = N2-16 (TYPE NODE)>
2473                     <DEAD TEMP24>
2474                     <SET SDIR17 DIR13>
2475                     <SET RW18 W10>
2476                     <EQUAL? RW18 'FLUSHED - TAG25>
2477                     <SET FLS19 'T (TYPE ATOM)>
2478                     <JUMP + TAG26>
2479 TAG25
2480                     <SET FLS19 %<> (TYPE FALSE)>
2481 TAG26
2482                     <NTHUV N9 4 = TEMP24>
2483                     <EQUAL? TEMP24 'N=? - TAG30>
2484                     <DEAD TEMP24>
2485                     <TYPE? NOTF11 <TYPE-CODE FALSE> - TAG29>
2486                     <DEAD NOTF11>
2487                     <SET NOTF11 'T (TYPE ATOM)>
2488                     <JUMP + TAG30>
2489 TAG29
2490                     <SET NOTF11 %<> (TYPE FALSE)>
2491 TAG30
2492                     <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE32>
2493                     <TYPE? NOTF11 <TYPE-CODE FALSE> + TAG36>
2494                     <DEAD NOTF11>
2495                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG35>
2496                     <DEAD DIR13>
2497                     <SET DIR13 'T (TYPE ATOM)>
2498                     <JUMP + TAG36>
2499 TAG35
2500                     <SET DIR13 %<> (TYPE FALSE)>
2501 TAG36
2502                     <FRAME '\1aDO-STR-EQ>
2503                     <PUSH N1-15>
2504                     <DEAD N1-15>
2505                     <PUSH N2-16>
2506                     <DEAD N2-16>
2507                     <VEQUAL? FLS19 0 + PHRASE39>
2508                     <SET TEMP24 DIR13>
2509                     <DEAD DIR13>
2510                     <JUMP + TAG42>
2511 PHRASE39
2512                     <TYPE? DIR13 <TYPE-CODE FALSE> - TAG41>
2513                     <DEAD DIR13>
2514                     <SET TEMP24 'T (TYPE ATOM)>
2515                     <JUMP + TAG42>
2516 TAG41
2517                     <SET TEMP24 %<> (TYPE FALSE)>
2518 TAG42
2519                     <PUSH TEMP24>
2520                     <DEAD TEMP24>
2521                     <VEQUAL? FLS19 0 + PHRASE44>
2522                     <SET TEMP24 BRANCH12>
2523                     <JUMP + PHRASE45>
2524 PHRASE44
2525                     <FRAME '\1aMAKE-TAG>
2526                     <CALL '\1aMAKE-TAG 0 = B2-20>
2527                     <SET TEMP24 B2-20>
2528 PHRASE45
2529                     <PUSH TEMP24>
2530                     <DEAD TEMP24>
2531                     <NTHUV N9 4 = STACK>
2532                     <DEAD N9>
2533                     <CALL '\1aDO-STR-EQ 5>
2534                     <VEQUAL? FLS19 0 + TAG49>
2535                     <DEAD FLS19>
2536                     <RETURN %<>>
2537 TAG49
2538                     <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE53>
2539                     <EQUAL? W10 'DONT-CARE - PHRASE53>
2540                     <FRAME '\1aGEN-TEMP>
2541                     <PUSH %<>>
2542                     <CALL '\1aGEN-TEMP 1 = W10>
2543 PHRASE53
2544                     <FRAME '\1aMOVE-ARG>
2545                     <FRAME '\1aMOVE-ARG>
2546                     <FRAME '\1aREFERENCE>
2547                     <PUSH SDIR17>
2548                     <CALL '\1aREFERENCE 1 = STACK>
2549                     <PUSH W10>
2550                     <DEAD W10>
2551                     <CALL '\1aMOVE-ARG 2 = STACK>
2552                     <PUSH RW18>
2553                     <DEAD RW18>
2554                     <CALL '\1aMOVE-ARG 2 = RW18>
2555                     <FRAME '\1aBRANCH-TAG>
2556                     <PUSH BRANCH12>
2557                     <DEAD BRANCH12>
2558                     <CALL '\1aBRANCH-TAG 1>
2559                     <FRAME '\1aLABEL-TAG>
2560                     <PUSH B2-20>
2561                     <DEAD B2-20>
2562                     <CALL '\1aLABEL-TAG 1>
2563                     <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE61>
2564                     <DEAD SETF14>
2565                     <FRAME '\1aDEALLOCATE-TEMP>
2566                     <PUSH RW18>
2567                     <CALL '\1aDEALLOCATE-TEMP 1>
2568                     <FRAME '\1aMOVE-ARG>
2569                     <FRAME '\1aREFERENCE>
2570                     <TYPE? SDIR17 <TYPE-CODE FALSE> - TAG65>
2571                     <DEAD SDIR17>
2572                     <SET TEMP24 'T (TYPE ATOM)>
2573                     <JUMP + TAG66>
2574 TAG65
2575                     <SET TEMP24 %<> (TYPE FALSE)>
2576 TAG66
2577                     <PUSH TEMP24>
2578                     <DEAD TEMP24>
2579                     <CALL '\1aREFERENCE 1 = STACK>
2580                     <PUSH RW18>
2581                     <CALL '\1aMOVE-ARG 2>
2582 PHRASE61
2583                     <RETURN RW18>
2584                     <DEAD RW18>
2585 PHRASE32
2586                     <NTHUV N9 4 = TEMP24>
2587                     <EQUAL? TEMP24 'STRCOMP - PHRASE68>
2588                     <DEAD TEMP24>
2589                     <FRAME '\1aDO-STR-EQ>
2590                     <PUSH N1-15>
2591                     <DEAD N1-15>
2592                     <PUSH N2-16>
2593                     <DEAD N2-16>
2594                     <PUSH %<>>
2595                     <PUSH %<>>
2596                     <PUSH 'STRCOMP>
2597                     <PUSH W10>
2598                     <DEAD W10>
2599                     <CALL '\1aDO-STR-EQ 6 = TEMP24>
2600                     <RETURN TEMP24>
2601                     <DEAD TEMP24>
2602 PHRASE68
2603                     <FRAME '\1aMAKE-TAG>
2604                     <CALL '\1aMAKE-TAG 0 = BRANCH12>
2605                     <FRAME '\1aDO-STR-EQ>
2606                     <PUSH N1-15>
2607                     <DEAD N1-15>
2608                     <PUSH N2-16>
2609                     <DEAD N2-16>
2610                     <PUSH NOTF11>
2611                     <DEAD NOTF11>
2612                     <PUSH BRANCH12>
2613                     <NTHUV N9 4 = STACK>
2614                     <DEAD N9>
2615                     <CALL '\1aDO-STR-EQ 5>
2616                     <EQUAL? W10 'DONT-CARE - PHRASE74>
2617                     <FRAME '\1aGEN-TEMP>
2618                     <PUSH %<>>
2619                     <CALL '\1aGEN-TEMP 1 = W10>
2620 PHRASE74
2621                     <FRAME '\1aMOVE-ARG>
2622                     <FRAME '\1aREFERENCE>
2623                     <PUSH 'T>
2624                     <CALL '\1aREFERENCE 1 = STACK>
2625                     <PUSH W10>
2626                     <CALL '\1aMOVE-ARG 2>
2627                     <FRAME '\1aDEALLOCATE-TEMP>
2628                     <PUSH W10>
2629                     <CALL '\1aDEALLOCATE-TEMP 1>
2630                     <FRAME '\1aBRANCH-TAG>
2631                     <FRAME '\1aMAKE-TAG>
2632                     <CALL '\1aMAKE-TAG 0 = B2-20>
2633                     <PUSH B2-20>
2634                     <CALL '\1aBRANCH-TAG 1>
2635                     <FRAME '\1aLABEL-TAG>
2636                     <PUSH BRANCH12>
2637                     <DEAD BRANCH12>
2638                     <CALL '\1aLABEL-TAG 1>
2639                     <FRAME '\1aMOVE-ARG>
2640                     <FRAME '\1aREFERENCE>
2641                     <PUSH %<>>
2642                     <CALL '\1aREFERENCE 1 = STACK>
2643                     <PUSH W10>
2644                     <CALL '\1aMOVE-ARG 2>
2645                     <FRAME '\1aLABEL-TAG>
2646                     <PUSH B2-20>
2647                     <DEAD B2-20>
2648                     <CALL '\1aLABEL-TAG 1>
2649                     <FRAME '\1aMOVE-ARG>
2650                     <PUSH W10>
2651                     <DEAD W10>
2652                     <PUSH RW18>
2653                     <DEAD RW18>
2654                     <CALL '\1aMOVE-ARG 2 = TEMP24>
2655                     <RETURN TEMP24>
2656                     <DEAD TEMP24>
2657                     <END \1a=?-STRING-GEN>
2658 #WORD *20207146271*
2659 <GFCN \1aDO-STR-EQ ("VALUE" ANY NODE NODE ANY ANY ANY "OPTIONAL" ANY) N1-6 N2-7 DIR8 BR9 NM10 W11>
2660                     <OPT-DISPATCH 5 %<> OPT4 OPT5>
2661 OPT4
2662                     <PUSH #T$UNBOUND 0>
2663 OPT5
2664                     <TEMP TG1-19 D1-14 D2-15 TEMP33 INS18:STRING L1-12:TEMP L2-13:TEMP T1-16:TEMP T2-17:TEMP TEMP106 TEMP110:ATOM TG3-22>
2665                     <INTGO>
2666                     <TYPE? DIR8 <TYPE-CODE FALSE> + PHRASE25>
2667                     <FRAME '\1aMAKE-TAG>
2668                     <CALL '\1aMAKE-TAG 0 = TG1-19>
2669 PHRASE25
2670                     <FRAME '\1aGEN>
2671                     <PUSH N1-6>
2672                     <CALL '\1aGEN 1 = D1-14>
2673                     <FRAME '\1aGEN>
2674                     <PUSH N2-7>
2675                     <CALL '\1aGEN 1 = D2-15>
2676                     <EQUAL? NM10 'STRCOMP + PHRASE30>
2677                     <EQUAL? NM10 'S=? + PHRASE30>
2678                     <FRAME '\1aISTYPE?>
2679                     <NTHUV N1-6 3 = STACK>
2680                     <CALL '\1aISTYPE? 1 = TEMP33>
2681                     <VEQUAL? TEMP33 'STRING + PHRASE30>
2682                     <DEAD TEMP33>
2683                     <FRAME '\1aGEN-TYPE?>
2684                     <PUSH D1-14>
2685                     <PUSH 'STRING>
2686                     <TYPE? DIR8 <TYPE-CODE FALSE> + PHRASE36>
2687                     <SET TEMP33 TG1-19>
2688                     <JUMP + PHRASE37>
2689 PHRASE36
2690                     <SET TEMP33 BR9>
2691 PHRASE37
2692                     <PUSH TEMP33>
2693                     <DEAD TEMP33>
2694                     <PUSH %<>>
2695                     <CALL '\1aGEN-TYPE? 4>
2696                     <JUMP + PHRASE38>
2697 PHRASE30
2698                     <EQUAL? NM10 'S=? + PHRASE38>
2699                     <EQUAL? NM10 'STRCOMP + PHRASE38>
2700                     <FRAME '\1aISTYPE?>
2701                     <NTHUV N2-7 3 = STACK>
2702                     <CALL '\1aISTYPE? 1 = TEMP33>
2703                     <VEQUAL? TEMP33 'STRING + PHRASE38>
2704                     <DEAD TEMP33>
2705                     <FRAME '\1aGEN-TYPE?>
2706                     <PUSH D2-15>
2707                     <PUSH 'STRING>
2708                     <TYPE? DIR8 <TYPE-CODE FALSE> + PHRASE43>
2709                     <SET TEMP33 TG1-19>
2710                     <JUMP + PHRASE44>
2711 PHRASE43
2712                     <SET TEMP33 BR9>
2713 PHRASE44
2714                     <PUSH TEMP33>
2715                     <DEAD TEMP33>
2716                     <PUSH %<>>
2717                     <CALL '\1aGEN-TYPE? 4>
2718 PHRASE38
2719                     <EQUAL? NM10 'STRCOMP - PHRASE46>
2720                     <FRAME '\1aFIX-STR-TYP>
2721                     <NTHUV N1-6 3 = STACK>
2722                     <DEAD N1-6>
2723                     <PUSH D1-14>
2724                     <DEAD D1-14>
2725                     <CALL '\1aFIX-STR-TYP 2 = D1-14>
2726                     <FRAME '\1aFIX-STR-TYP>
2727                     <NTHUV N2-7 3 = STACK>
2728                     <PUSH D2-15>
2729                     <DEAD D2-15>
2730                     <CALL '\1aFIX-STR-TYP 2 = D2-15>
2731 PHRASE46
2732                     <FRAME '\1aIEMIT>
2733                     <PUSH '`IFCAN>
2734                     <EQUAL? NM10 'STRCOMP - PHRASE51>
2735                     <SET INS18 "STRCOMP" (TYPE STRING)>
2736                     <JUMP + PHRASE52>
2737 PHRASE51
2738                     <SET INS18 "STRING-EQUAL?" (TYPE STRING)>
2739 PHRASE52
2740                     <PUSH INS18>
2741                     <CALL '\1aIEMIT 2>
2742                     <EQUAL? NM10 'STRCOMP - PHRASE54>
2743                     <FRAME '\1aMAKE-TAG>
2744                     <CALL '\1aMAKE-TAG 0 = BR9>
2745                     <FRAME '\1aIEMIT>
2746                     <PUSH '`STRCOMP>
2747                     <PUSH D1-14>
2748                     <PUSH D2-15>
2749                     <PUSH '=>
2750                     <EQUAL? W11 'DONT-CARE - PHRASE58>
2751                     <FRAME '\1aGEN-TEMP>
2752                     <CALL '\1aGEN-TEMP 0 = W11>
2753                     <SET TEMP33 W11>
2754                     <JUMP + PHRASE62>
2755 PHRASE58
2756                     <TYPE? W11 <TYPE-CODE TEMP> - PHRASE60>
2757                     <FRAME '\1aUSE-TEMP>
2758                     <PUSH W11>
2759                     <CALL '\1aUSE-TEMP 1>
2760                     <SET TEMP33 W11>
2761                     <JUMP + PHRASE62>
2762 PHRASE60
2763                     <SET TEMP33 W11>
2764 PHRASE62
2765                     <PUSH TEMP33>
2766                     <DEAD TEMP33>
2767                     <CALL '\1aIEMIT 5>
2768                     <JUMP + PHRASE63>
2769 PHRASE54
2770                     <FRAME '\1aIEMIT>
2771                     <PUSH '`STRING-EQUAL?>
2772                     <PUSH D1-14>
2773                     <PUSH D2-15>
2774                     <TYPE? DIR8 <TYPE-CODE FALSE> + PHRASE66>
2775                     <SET TEMP33 '+ (TYPE ATOM)>
2776                     <JUMP + PHRASE67>
2777 PHRASE66
2778                     <SET TEMP33 '- (TYPE ATOM)>
2779 PHRASE67
2780                     <PUSH TEMP33>
2781                     <DEAD TEMP33>
2782                     <PUSH BR9>
2783                     <CALL '\1aIEMIT 5>
2784 PHRASE63
2785                     <FRAME '\1aIEMIT>
2786                     <PUSH '`ENDIF>
2787                     <PUSH INS18>
2788                     <CALL '\1aIEMIT 2>
2789                     <FRAME '\1aIEMIT>
2790                     <PUSH '`IFCANNOT>
2791                     <PUSH INS18>
2792                     <CALL '\1aIEMIT 2>
2793                     <TYPE? D1-14 <TYPE-CODE STRING> + BOOL72>
2794                     <TYPE? D1-14 <TYPE-CODE TEMP> - PHRASE71>
2795                     <NTHUV D1-14 2 = TEMP33 (TYPE FIX)>
2796                     <GRTR? TEMP33 1 - PHRASE71 (TYPE FIX)>
2797                     <DEAD TEMP33>
2798 BOOL72
2799                     <FRAME '\1aMOVE-ARG>
2800                     <PUSH D1-14>
2801                     <DEAD D1-14>
2802                     <FRAME '\1aGEN-TEMP>
2803                     <PUSH %<>>
2804                     <CALL '\1aGEN-TEMP 1 = STACK>
2805                     <CALL '\1aMOVE-ARG 2 = D1-14>
2806 PHRASE71
2807                     <TYPE? D2-15 <TYPE-CODE STRING> + BOOL80>
2808                     <TYPE? D2-15 <TYPE-CODE TEMP> - PHRASE79>
2809                     <NTHUV D2-15 2 = TEMP33 (TYPE FIX)>
2810                     <GRTR? TEMP33 1 - PHRASE79 (TYPE FIX)>
2811                     <DEAD TEMP33>
2812 BOOL80
2813                     <FRAME '\1aMOVE-ARG>
2814                     <PUSH D2-15>
2815                     <DEAD D2-15>
2816                     <FRAME '\1aGEN-TEMP>
2817                     <PUSH %<>>
2818                     <CALL '\1aGEN-TEMP 1 = STACK>
2819                     <CALL '\1aMOVE-ARG 2 = D2-15>
2820 PHRASE79
2821                     <FRAME '\1aLENGTH-STRING>
2822                     <PUSH D1-14>
2823                     <FRAME '\1aGEN-TEMP>
2824                     <CALL '\1aGEN-TEMP 0 = L1-12>
2825                     <PUSH L1-12>
2826                     <CALL '\1aLENGTH-STRING 2>
2827                     <EQUAL? NM10 'STRCOMP - PHRASE89>
2828                     <FRAME '\1aLENGTH-STRING>
2829                     <PUSH D2-15>
2830                     <FRAME '\1aGEN-TEMP>
2831                     <PUSH 'FIX>
2832                     <CALL '\1aGEN-TEMP 1 = L2-13>
2833                     <PUSH L2-13>
2834                     <CALL '\1aLENGTH-STRING 2>
2835                     <JUMP + PHRASE92>
2836 PHRASE89
2837                     <FRAME '\1aGEN-VAL-==?>
2838                     <PUSH L1-12>
2839                     <NTHUV N2-7 1 = TEMP33 (TYPE FIX)>
2840                     <VEQUAL? TEMP33 2 - PHRASE95 (TYPE FIX)>
2841                     <DEAD TEMP33>
2842                     <NTHUV N2-7 4 = TEMP33>
2843                     <DEAD N2-7>
2844                     <LENUS TEMP33 = TEMP33 (TYPE FIX)>
2845                     <JUMP + PHRASE96>
2846 PHRASE95
2847                     <FRAME '\1aLENGTH-STRING>
2848                     <PUSH D2-15>
2849                     <FRAME '\1aGEN-TEMP>
2850                     <PUSH 'FIX>
2851                     <CALL '\1aGEN-TEMP 1 = L2-13>
2852                     <PUSH L2-13>
2853                     <CALL '\1aLENGTH-STRING 2>
2854                     <FRAME '\1aFREE-TEMP>
2855                     <PUSH L2-13>
2856                     <PUSH %<>>
2857                     <CALL '\1aFREE-TEMP 2>
2858                     <SET TEMP33 L2-13>
2859 PHRASE96
2860                     <PUSH TEMP33>
2861                     <DEAD TEMP33>
2862                     <PUSH %<>>
2863                     <TYPE? DIR8 <TYPE-CODE FALSE> + PHRASE101>
2864                     <SET TEMP33 TG1-19>
2865                     <JUMP + PHRASE102>
2866 PHRASE101
2867                     <SET TEMP33 BR9>
2868 PHRASE102
2869                     <PUSH TEMP33>
2870                     <DEAD TEMP33>
2871                     <CALL '\1aGEN-VAL-==? 4>
2872 PHRASE92
2873                     <FRAME '\1aGEN-TEMP>
2874                     <CALL '\1aGEN-TEMP 0 = T1-16>
2875                     <FRAME '\1aGEN-TEMP>
2876                     <CALL '\1aGEN-TEMP 0 = T2-17>
2877                     <FRAME '\1aIEMIT>
2878                     <PUSH '`LOOP>
2879                     <CONS 'LENGTH () = TEMP33>
2880                     <CONS 'VALUE TEMP33 = TEMP33>
2881                     <NTHUV D1-14 1 = TEMP106 (TYPE ATOM)>
2882                     <CONS TEMP106 TEMP33 = STACK>
2883                     <DEAD TEMP106 TEMP33>
2884                     <CONS 'LENGTH () = TEMP33>
2885                     <CONS 'VALUE TEMP33 = TEMP33>
2886                     <NTHUV D2-15 1 = TEMP106 (TYPE ATOM)>
2887                     <CONS TEMP106 TEMP33 = STACK>
2888                     <DEAD TEMP106 TEMP33>
2889                     <CONS 'VALUE () = TEMP33>
2890                     <NTHUV L1-12 1 = TEMP106 (TYPE ATOM)>
2891                     <CONS TEMP106 TEMP33 = STACK>
2892                     <DEAD TEMP106 TEMP33>
2893                     <SET TEMP106 4 (TYPE FIX)>
2894                     <EQUAL? NM10 'STRCOMP - PHRASE108>
2895                     <CONS 'VALUE () = TEMP33>
2896                     <NTHUV L2-13 1 = TEMP110 (TYPE ATOM)>
2897                     <CONS TEMP110 TEMP33 = TEMP33>
2898                     <DEAD TEMP110>
2899                     <CONS TEMP33 () = TEMP33>
2900                     <JUMP + PHRASE111>
2901 PHRASE108
2902                     <SET TEMP33 () (TYPE LIST)>
2903 PHRASE111
2904                     <LOOP (TEMP33 VALUE) (TEMP106 VALUE)>
2905 TAG112
2906                     <INTGO>
2907                     <EMPL? TEMP33 + TAG105>
2908                     <NTHL TEMP33 1 = STACK>
2909                     <RESTL TEMP33 1 = TEMP33 (TYPE LIST)>
2910                     <ADD TEMP106 1 = TEMP106 (TYPE FIX)>
2911                     <JUMP + TAG112>
2912 TAG105
2913                     <CALL '\1aIEMIT TEMP106>
2914                     <DEAD TEMP106>
2915                     <FRAME '\1aLABEL-TAG>
2916                     <FRAME '\1aMAKE-TAG>
2917                     <CALL '\1aMAKE-TAG 0 = TEMP33>
2918                     <PUSH TEMP33>
2919                     <CALL '\1aLABEL-TAG 1>
2920                     <FRAME '\1aNTH-STRING>
2921                     <PUSH D1-14>
2922                     <PUSH T1-16>
2923                     <PUSH 1>
2924                     <CALL '\1aNTH-STRING 3>
2925                     <FRAME '\1aNTH-STRING>
2926                     <PUSH D2-15>
2927                     <PUSH T2-17>
2928                     <PUSH 1>
2929                     <CALL '\1aNTH-STRING 3>
2930                     <FRAME '\1aGEN-VAL-==?>
2931                     <PUSH T1-16>
2932                     <PUSH T2-17>
2933                     <PUSH %<>>
2934                     <TYPE? DIR8 <TYPE-CODE FALSE> + PHRASE120>
2935                     <SET TEMP106 TG1-19>
2936                     <JUMP + PHRASE121>
2937 PHRASE120
2938                     <SET TEMP106 BR9>
2939 PHRASE121
2940                     <PUSH TEMP106>
2941                     <DEAD TEMP106>
2942                     <CALL '\1aGEN-VAL-==? 4>
2943                     <EQUAL? NM10 'STRCOMP + PHRASE123>
2944                     <FRAME '\1aFREE-TEMP>
2945                     <PUSH T1-16>
2946                     <CALL '\1aFREE-TEMP 1>
2947                     <FRAME '\1aFREE-TEMP>
2948                     <PUSH T2-17>
2949                     <CALL '\1aFREE-TEMP 1>
2950 PHRASE123
2951                     <FRAME '\1aREST-STRING>
2952                     <PUSH D1-14>
2953                     <PUSH D1-14>
2954                     <PUSH 1>
2955                     <CALL '\1aREST-STRING 3>
2956                     <FRAME '\1aREST-STRING>
2957                     <PUSH D2-15>
2958                     <PUSH D2-15>
2959                     <PUSH 1>
2960                     <CALL '\1aREST-STRING 3>
2961                     <EQUAL? NM10 'STRCOMP - PHRASE129>
2962                     <FRAME '\1aIEMIT>
2963                     <PUSH '`SUB>
2964                     <PUSH L2-13>
2965                     <PUSH 1>
2966                     <PUSH '=>
2967                     <PUSH L2-13>
2968                     <PUSH (`TYPE FIX)>
2969                     <CALL '\1aIEMIT 6>
2970                     <FRAME '\1aIEMIT>
2971                     <PUSH '`GRTR?>
2972                     <PUSH L2-13>
2973                     <DEAD L2-13>
2974                     <PUSH 0>
2975                     <PUSH '->
2976                     <FRAME '\1aMAKE-TAG>
2977                     <CALL '\1aMAKE-TAG 0 = TG3-22>
2978                     <PUSH TG3-22>
2979                     <PUSH (`TYPE FIX)>
2980                     <CALL '\1aIEMIT 6>
2981 PHRASE129
2982                     <FRAME '\1aIEMIT>
2983                     <PUSH '`SUB>
2984                     <PUSH L1-12>
2985                     <PUSH 1>
2986                     <PUSH '=>
2987                     <PUSH L1-12>
2988                     <PUSH (`TYPE FIX)>
2989                     <CALL '\1aIEMIT 6>
2990                     <FRAME '\1aIEMIT>
2991                     <PUSH '`GRTR?>
2992                     <PUSH L1-12>
2993                     <PUSH 0>
2994                     <PUSH '+>
2995                     <PUSH TEMP33>
2996                     <DEAD TEMP33>
2997                     <PUSH (`TYPE FIX)>
2998                     <CALL '\1aIEMIT 6>
2999                     <EQUAL? NM10 'STRCOMP - PHRASE136>
3000                     <DEAD NM10>
3001                     <EQUAL? W11 'DONT-CARE - PHRASE138>
3002                     <FRAME '\1aGEN-TEMP>
3003                     <PUSH 'FIX>
3004                     <CALL '\1aGEN-TEMP 1 = W11>
3005 PHRASE138
3006                     <FRAME '\1aMOVE-ARG>
3007                     <PUSH 1>
3008                     <PUSH W11>
3009                     <CALL '\1aMOVE-ARG 2>
3010                     <FRAME '\1aBRANCH-TAG>
3011                     <FRAME '\1aMAKE-TAG>
3012                     <CALL '\1aMAKE-TAG 0 = TEMP33>
3013                     <PUSH TEMP33>
3014                     <CALL '\1aBRANCH-TAG 1>
3015                     <FRAME '\1aLABEL-TAG>
3016                     <PUSH TG3-22>
3017                     <DEAD TG3-22>
3018                     <CALL '\1aLABEL-TAG 1>
3019                     <FRAME '\1aIEMIT>
3020                     <PUSH '`SUB>
3021                     <PUSH L1-12>
3022                     <PUSH 1>
3023                     <PUSH '=>
3024                     <PUSH L1-12>
3025                     <PUSH (`TYPE FIX)>
3026                     <CALL '\1aIEMIT 6>
3027                     <FRAME '\1aIEMIT>
3028                     <PUSH '`VEQUAL>
3029                     <PUSH L1-12>
3030                     <DEAD L1-12>
3031                     <PUSH 0>
3032                     <PUSH '->
3033                     <FRAME '\1aMAKE-TAG>
3034                     <CALL '\1aMAKE-TAG 0 = TEMP106>
3035                     <PUSH TEMP106>
3036                     <CALL '\1aIEMIT 5>
3037                     <FRAME '\1aMOVE-ARG>
3038                     <PUSH 0>
3039                     <PUSH W11>
3040                     <CALL '\1aMOVE-ARG 2>
3041                     <FRAME '\1aBRANCH-TAG>
3042                     <PUSH TEMP33>
3043                     <CALL '\1aBRANCH-TAG 1>
3044                     <FRAME '\1aLABEL-TAG>
3045                     <PUSH TEMP106>
3046                     <CALL '\1aLABEL-TAG 1>
3047                     <FRAME '\1aMOVE-ARG>
3048                     <PUSH -1>
3049                     <PUSH W11>
3050                     <CALL '\1aMOVE-ARG 2>
3051                     <FRAME '\1aBRANCH-TAG>
3052                     <PUSH TEMP33>
3053                     <CALL '\1aBRANCH-TAG 1>
3054                     <FRAME '\1aLABEL-TAG>
3055                     <PUSH BR9>
3056                     <CALL '\1aLABEL-TAG 1>
3057                     <FRAME '\1aIEMIT>
3058                     <PUSH '`GRTR?>
3059                     <PUSH T1-16>
3060                     <PUSH T2-17>
3061                     <PUSH '->
3062                     <PUSH TEMP106>
3063                     <DEAD TEMP106>
3064                     <CALL '\1aIEMIT 5>
3065                     <FRAME '\1aFREE-TEMP>
3066                     <PUSH T1-16>
3067                     <DEAD T1-16>
3068                     <CALL '\1aFREE-TEMP 1>
3069                     <FRAME '\1aFREE-TEMP>
3070                     <PUSH T2-17>
3071                     <DEAD T2-17>
3072                     <CALL '\1aFREE-TEMP 1>
3073                     <FRAME '\1aMOVE-ARG>
3074                     <PUSH 1>
3075                     <PUSH W11>
3076                     <CALL '\1aMOVE-ARG 2>
3077                     <FRAME '\1aLABEL-TAG>
3078                     <PUSH TEMP33>
3079                     <DEAD TEMP33>
3080                     <CALL '\1aLABEL-TAG 1>
3081 PHRASE136
3082                     <TYPE? DIR8 <TYPE-CODE FALSE> + PHRASE159>
3083                     <FRAME '\1aBRANCH-TAG>
3084                     <PUSH BR9>
3085                     <DEAD BR9>
3086                     <CALL '\1aBRANCH-TAG 1>
3087 PHRASE159
3088                     <FRAME '\1aFREE-TEMP>
3089                     <PUSH D1-14>
3090                     <DEAD D1-14>
3091                     <CALL '\1aFREE-TEMP 1>
3092                     <FRAME '\1aFREE-TEMP>
3093                     <PUSH D2-15>
3094                     <DEAD D2-15>
3095                     <CALL '\1aFREE-TEMP 1>
3096                     <FRAME '\1aIEMIT>
3097                     <PUSH '`ENDIF>
3098                     <PUSH INS18>
3099                     <DEAD INS18>
3100                     <CALL '\1aIEMIT 2>
3101                     <TYPE? DIR8 <TYPE-CODE FALSE> + PHRASE165>
3102                     <DEAD DIR8>
3103                     <FRAME '\1aLABEL-TAG>
3104                     <PUSH TG1-19>
3105                     <DEAD TG1-19>
3106                     <CALL '\1aLABEL-TAG 1>
3107 PHRASE165
3108                     <TYPE? W11 <TYPE-CODE UNBOUND> - TAG169>
3109                     <RETURN %<>>
3110 TAG169
3111                     <RETURN W11>
3112                     <DEAD W11>
3113                     <END \1aDO-STR-EQ>\r\r
3114 #WORD *23067515056*
3115 <GFCN \1aFIX-STR-TYP ("VALUE" ANY ANY ANY) TYP4 D5>
3116                     <TEMP TEMP12>
3117                     <INTGO>
3118                     <TYPE? TYP4 <TYPE-CODE FORM> - PHRASE8>
3119                     <DEAD TYP4>
3120                     <TYPE? D5 <TYPE-CODE TEMP> - PHRASE10>
3121                     <NTHUV D5 2 = TEMP12 (TYPE FIX)>
3122                     <GRTR? TEMP12 1 - PHRASE10 (TYPE FIX)>
3123                     <DEAD TEMP12>
3124                     <FRAME '\1aMOVE-ARG>
3125                     <PUSH D5>
3126                     <DEAD D5>
3127                     <FRAME '\1aGEN-TEMP>
3128                     <PUSH %<>>
3129                     <CALL '\1aGEN-TEMP 1 = STACK>
3130                     <CALL '\1aMOVE-ARG 2 = D5>
3131 PHRASE10
3132                     <FRAME '\1aGEN-TYPE?>
3133                     <PUSH D5>
3134                     <PUSH 'STRING>
3135                     <FRAME '\1aMAKE-TAG>
3136                     <CALL '\1aMAKE-TAG 0 = TEMP12>
3137                     <PUSH TEMP12>
3138                     <PUSH 'T>
3139                     <CALL '\1aGEN-TYPE? 4>
3140                     <FRAME '\1aIEMIT>
3141                     <PUSH '`NTHR>
3142                     <PUSH D5>
3143                     <PUSH 3>
3144                     <PUSH '=>
3145                     <PUSH D5>
3146                     <CALL '\1aIEMIT 5>
3147                     <FRAME '\1aLABEL-TAG>
3148                     <PUSH TEMP12>
3149                     <DEAD TEMP12>
3150                     <CALL '\1aLABEL-TAG 1>
3151 PHRASE8
3152                     <RETURN D5>
3153                     <DEAD D5>
3154                     <END \1aFIX-STR-TYP>
3155 #WORD *27030556640*
3156 <GFCN \1aATOM-PART-GEN ("VALUE" ANY NODE ANY) N4 W5>
3157                     <TEMP NM7 RW8 TEMP11 CARE9>
3158                     <INTGO>
3159                     <NTHUV N4 4 = NM7>
3160                     <SET RW8 W5>
3161                     <GEN-LVAL 'CAREFUL = TEMP11>
3162                     <TYPE? TEMP11 <TYPE-CODE FALSE> + TAG17>
3163                     <EQUAL? NM7 'LBIND - TAG15>
3164                     <SET TEMP11 'T (TYPE ATOM)>
3165                     <JUMP + TAG17>
3166 TAG15
3167                     <EQUAL? NM7 'GBIND - TAG16>
3168                     <SET TEMP11 'T (TYPE ATOM)>
3169                     <JUMP + TAG17>
3170 TAG16
3171                     <SET TEMP11 %<> (TYPE FALSE)>
3172 TAG17
3173                     <SET CARE9 TEMP11>
3174                     <DEAD TEMP11>
3175                     <FRAME '\1aGEN>
3176                     <NTHUV N4 5 = TEMP11 (TYPE LIST)>
3177                     <NTHL TEMP11 1 = STACK (TYPE NODE)>
3178                     <DEAD TEMP11>
3179                     <CALL '\1aGEN 1 = TEMP11>
3180                     <FRAME '\1aFREE-TEMP>
3181                     <PUSH TEMP11>
3182                     <PUSH %<>>
3183                     <CALL '\1aFREE-TEMP 2>
3184                     <FRAME '\1aIEMIT>
3185                     <PUSH '`NTHR>
3186                     <PUSH TEMP11>
3187                     <DEAD TEMP11>
3188                     <EQUAL? NM7 'GBIND - PHRASE22>
3189                     <SET TEMP11 1 (TYPE FIX)>
3190                     <JUMP + PHRASE25>
3191 PHRASE22
3192                     <EQUAL? NM7 'LBIND - PHRASE23>
3193                     <SET TEMP11 2 (TYPE FIX)>
3194                     <JUMP + PHRASE25>
3195 PHRASE23
3196                     <EQUAL? NM7 'SPNAME - PHRASE24>
3197                     <DEAD NM7>
3198                     <SET TEMP11 3 (TYPE FIX)>
3199                     <JUMP + PHRASE25>
3200 PHRASE24
3201                     <SET TEMP11 4 (TYPE FIX)>
3202 PHRASE25
3203                     <PUSH TEMP11>
3204                     <DEAD TEMP11>
3205                     <PUSH '=>
3206                     <TYPE? W5 <TYPE-CODE TEMP> - PHRASE27>
3207                     <FRAME '\1aUSE-TEMP>
3208                     <PUSH W5>
3209                     <FRAME '\1aISTYPE?>
3210                     <NTHUV N4 3 = STACK>
3211                     <DEAD N4>
3212                     <CALL '\1aISTYPE? 1 = STACK>
3213                     <CALL '\1aUSE-TEMP 2 = TEMP11>
3214                     <JUMP + PHRASE36>
3215 PHRASE27
3216                     <EQUAL? W5 'DONT-CARE + BOOL31>
3217                     <TYPE? CARE9 <TYPE-CODE FALSE> + PHRASE30>
3218 BOOL31
3219                     <FRAME '\1aGEN-TEMP>
3220                     <FRAME '\1aISTYPE?>
3221                     <NTHUV N4 3 = STACK>
3222                     <DEAD N4>
3223                     <CALL '\1aISTYPE? 1 = NM7>
3224                     <TYPE? NM7 <TYPE-CODE FALSE> - BOOL33>
3225                     <SET NM7 'T (TYPE ATOM)>
3226 BOOL33
3227                     <PUSH NM7>
3228                     <DEAD NM7>
3229                     <CALL '\1aGEN-TEMP 1 = W5>
3230                     <SET TEMP11 W5>
3231                     <JUMP + PHRASE36>
3232 PHRASE30
3233                     <SET TEMP11 W5>
3234 PHRASE36
3235                     <PUSH TEMP11>
3236                     <DEAD TEMP11>
3237                     <PUSH (`RECORD-TYPE ATOM)>
3238                     <SET NM7 6 (TYPE FIX)>
3239                     <TYPE? CARE9 <TYPE-CODE FALSE> + PHRASE38>
3240                     <CONS (`BRANCH-FALSE + `COMPERR) () = TEMP11>
3241                     <JUMP + PHRASE39>
3242 PHRASE38
3243                     <SET TEMP11 () (TYPE LIST)>
3244 PHRASE39
3245                     <LOOP (TEMP11 VALUE) (NM7 VALUE)>
3246 TAG40
3247                     <INTGO>
3248                     <EMPL? TEMP11 + TAG20>
3249                     <NTHL TEMP11 1 = STACK>
3250                     <RESTL TEMP11 1 = TEMP11 (TYPE LIST)>
3251                     <ADD NM7 1 = NM7 (TYPE FIX)>
3252                     <JUMP + TAG40>
3253 TAG20
3254                     <CALL '\1aIEMIT NM7>
3255                     <DEAD NM7>
3256                     <TYPE? CARE9 <TYPE-CODE FALSE> + PHRASE43>
3257                     <DEAD CARE9>
3258                     <FRAME '\1aSPEC-IEMIT>
3259                     <PUSH '`TYPE?>
3260                     <PUSH W5>
3261                     <PUSH <`TYPE-CODE FALSE>>
3262                     <PUSH '+>
3263                     <PUSH '`COMPERR>
3264                     <CALL '\1aSPEC-IEMIT 5>
3265 PHRASE43
3266                     <FRAME '\1aMOVE-ARG>
3267                     <PUSH W5>
3268                     <DEAD W5>
3269                     <PUSH RW8>
3270                     <DEAD RW8>
3271                     <CALL '\1aMOVE-ARG 2 = NM7>
3272                     <RETURN NM7>
3273                     <DEAD NM7>
3274                     <END \1aATOM-PART-GEN>
3275 #WORD *3217271613*
3276 <GFCN \1aOFFSET-PART-GEN ("VALUE" ANY NODE ANY) N4 W5>
3277                     <TEMP NM7 K8:LIST RT10 D6>
3278                     <INTGO>
3279                     <NTHUV N4 4 = NM7>
3280                     <NTHUV N4 5 = K8 (TYPE LIST)>
3281                     <FRAME '\1aISTYPE?>
3282                     <NTHUV N4 3 = STACK>
3283                     <DEAD N4>
3284                     <CALL '\1aISTYPE? 1 = RT10>
3285                     <FRAME '\1aGEN>
3286                     <NTHL K8 1 = STACK (TYPE NODE)>
3287                     <CALL '\1aGEN 1 = D6>
3288                     <RESTL K8 1 = K8 (TYPE LIST)>
3289                     <EMPL? K8 - PHRASE14 (TYPE LIST)>
3290                     <FRAME '\1aFREE-TEMP>
3291                     <PUSH D6>
3292                     <PUSH %<>>
3293                     <CALL '\1aFREE-TEMP 2>
3294                     <FRAME '\1aIEMIT>
3295                     <PUSH '`NTHUV>
3296                     <PUSH D6>
3297                     <DEAD D6>
3298                     <EQUAL? NM7 'INDEX - PHRASE18>
3299                     <DEAD NM7>
3300                     <SET NM7 1 (TYPE FIX)>
3301                     <JUMP + PHRASE20>
3302 PHRASE18
3303                     <SET NM7 3 (TYPE FIX)>
3304 PHRASE20
3305                     <PUSH NM7>
3306                     <DEAD NM7>
3307                     <PUSH '=>
3308                     <TYPE? W5 <TYPE-CODE TEMP> - PHRASE22>
3309                     <FRAME '\1aUSE-TEMP>
3310                     <PUSH W5>
3311                     <SET NM7 RT10>
3312                     <DEAD RT10>
3313                     <TYPE? NM7 <TYPE-CODE FALSE> - BOOL24>
3314                     <SET NM7 'T (TYPE ATOM)>
3315 BOOL24
3316                     <PUSH NM7>
3317                     <DEAD NM7>
3318                     <CALL '\1aUSE-TEMP 2 = NM7>
3319                     <JUMP + PHRASE29>
3320 PHRASE22
3321                     <EQUAL? W5 'DONT-CARE - PHRASE25>
3322                     <FRAME '\1aGEN-TEMP>
3323                     <TYPE? RT10 <TYPE-CODE FALSE> - BOOL27>
3324                     <SET RT10 'T (TYPE ATOM)>
3325 BOOL27
3326                     <PUSH RT10>
3327                     <DEAD RT10>
3328                     <CALL '\1aGEN-TEMP 1 = W5>
3329                     <SET NM7 W5>
3330                     <JUMP + PHRASE29>
3331 PHRASE25
3332                     <SET NM7 W5>
3333 PHRASE29
3334                     <PUSH NM7>
3335                     <DEAD NM7>
3336                     <CALL '\1aIEMIT 5>
3337                     <RETURN W5>
3338                     <DEAD W5>
3339 PHRASE14
3340                     <FRAME '\1aGEN>
3341                     <NTHL K8 1 = STACK (TYPE NODE)>
3342                     <DEAD K8>
3343                     <CALL '\1aGEN 1 = NM7>
3344                     <FRAME '\1aIEMIT>
3345                     <PUSH '`PUTUV>
3346                     <PUSH D6>
3347                     <PUSH 3>
3348                     <PUSH NM7>
3349                     <CALL '\1aIEMIT 4>
3350                     <FRAME '\1aFREE-TEMP>
3351                     <PUSH NM7>
3352                     <DEAD NM7>
3353                     <CALL '\1aFREE-TEMP 1>
3354                     <FRAME '\1aMOVE-ARG>
3355                     <PUSH D6>
3356                     <DEAD D6>
3357                     <PUSH W5>
3358                     <DEAD W5>
3359                     <CALL '\1aMOVE-ARG 2 = W5>
3360                     <RETURN W5>
3361                     <DEAD W5>
3362                     <END \1aOFFSET-PART-GEN>
3363 #WORD *23623150161*
3364 <GFCN \1aPUT-GET-DECL-GEN ("VALUE" ANY NODE ANY) N4 W5>
3365                     <TEMP NM8 TEMP12 NN9 ST10>
3366                     <INTGO>
3367                     <NTHUV N4 4 = NM8>
3368                     <NTHUV N4 5 = TEMP12 (TYPE LIST)>
3369                     <NTHL TEMP12 1 = NN9 (TYPE NODE)>
3370                     <DEAD TEMP12>
3371                     <NTHUV NN9 3 = ST10>
3372                     <EQUAL? NM8 'GET-DECL - PHRASE14>
3373                     <DEAD NM8>
3374                     <FRAME '\1aGEN>
3375                     <PUSH NN9>
3376                     <DEAD NN9>
3377                     <CALL '\1aGEN 1 = NM8>
3378                     <FRAME '\1aFREE-TEMP>
3379                     <PUSH NM8>
3380                     <PUSH %<>>
3381                     <CALL '\1aFREE-TEMP 2>
3382                     <EQUAL? W5 'DONT-CARE - PHRASE18>
3383                     <FRAME '\1aGEN-TEMP>
3384                     <PUSH 'T>
3385                     <CALL '\1aGEN-TEMP 1 = W5>
3386                     <JUMP + PHRASE20>
3387 PHRASE18
3388                     <TYPE? W5 <TYPE-CODE TEMP> - PHRASE20>
3389                     <FRAME '\1aUSE-TEMP>
3390                     <PUSH W5>
3391                     <CALL '\1aUSE-TEMP 1>
3392 PHRASE20
3393                     <EQUAL? ST10 'OFFSET - PHRASE23>
3394                     <FRAME '\1aIEMIT>
3395                     <PUSH '`NTHUV>
3396                     <PUSH NM8>
3397                     <DEAD NM8>
3398                     <PUSH 2>
3399                     <PUSH '=>
3400                     <PUSH W5>
3401                     <CALL '\1aIEMIT 5>
3402                     <RETURN W5>
3403                     <DEAD W5>
3404 PHRASE23
3405                     <FRAME '\1aIEMIT>
3406                     <PUSH '`NTHR>
3407                     <PUSH NM8>
3408                     <DEAD NM8>
3409                     <PUSH 3>
3410                     <PUSH '=>
3411                     <PUSH W5>
3412                     <CONS '`RECORD-TYPE () = TEMP12>
3413                     <FRAME '\1aISTYPE?>
3414                     <PUSH ST10>
3415                     <DEAD ST10>
3416                     <CALL '\1aISTYPE? 1 = NN9>
3417                     <CONS NN9 () = NN9>
3418                     <PUTREST TEMP12 NN9>
3419                     <DEAD NN9>
3420                     <PUSH TEMP12>
3421                     <DEAD TEMP12>
3422                     <CALL '\1aIEMIT 6>
3423                     <RETURN W5>
3424                     <DEAD W5>
3425 PHRASE14
3426                     <TYPE? W5 <TYPE-CODE TEMP> - PHRASE31>
3427                     <FRAME '\1aGEN>
3428                     <PUSH NN9>
3429                     <DEAD NN9>
3430                     <PUSH W5>
3431                     <CALL '\1aGEN 2 = NM8>
3432                     <JUMP + PHRASE33>
3433 PHRASE31
3434                     <FRAME '\1aGEN>
3435                     <PUSH NN9>
3436                     <DEAD NN9>
3437                     <CALL '\1aGEN 1 = NM8>
3438 PHRASE33
3439                     <FRAME '\1aGEN>
3440                     <NTHUV N4 5 = NN9 (TYPE LIST)>
3441                     <DEAD N4>
3442                     <RESTL NN9 1 = NN9 (TYPE LIST)>
3443                     <NTHL NN9 1 = STACK (TYPE NODE)>
3444                     <DEAD NN9>
3445                     <CALL '\1aGEN 1 = TEMP12>
3446                     <EQUAL? W5 'FLUSHED - PHRASE37>
3447                     <FRAME '\1aFREE-TEMP>
3448                     <PUSH NM8>
3449                     <PUSH %<>>
3450                     <CALL '\1aFREE-TEMP 2>
3451 PHRASE37
3452                     <FRAME '\1aFREE-TEMP>
3453                     <PUSH TEMP12>
3454                     <PUSH %<>>
3455                     <CALL '\1aFREE-TEMP 2>
3456                     <EQUAL? ST10 'OFFSET - PHRASE41>
3457                     <FRAME '\1aIEMIT>
3458                     <PUSH '`PUTUV>
3459                     <PUSH NM8>
3460                     <PUSH 2>
3461                     <PUSH TEMP12>
3462                     <DEAD TEMP12>
3463                     <CALL '\1aIEMIT 4>
3464                     <JUMP + PHRASE43>
3465 PHRASE41
3466                     <FRAME '\1aIEMIT>
3467                     <PUSH '`PUTR>
3468                     <PUSH NM8>
3469                     <PUSH 3>
3470                     <PUSH TEMP12>
3471                     <DEAD TEMP12>
3472                     <CONS '`RECORD-TYPE () = NN9>
3473                     <FRAME '\1aISTYPE?>
3474                     <PUSH ST10>
3475                     <DEAD ST10>
3476                     <CALL '\1aISTYPE? 1 = TEMP12>
3477                     <CONS TEMP12 () = TEMP12>
3478                     <PUTREST NN9 TEMP12>
3479                     <DEAD TEMP12>
3480                     <PUSH NN9>
3481                     <DEAD NN9>
3482                     <CALL '\1aIEMIT 5>
3483 PHRASE43
3484                     <EQUAL? W5 'FLUSHED + PHRASE48>
3485                     <FRAME '\1aMOVE-ARG>
3486                     <PUSH NM8>
3487                     <DEAD NM8>
3488                     <PUSH W5>
3489                     <DEAD W5>
3490                     <CALL '\1aMOVE-ARG 2 = W5>
3491 PHRASE48
3492                     <RETURN W5>
3493                     <DEAD W5>
3494                     <END \1aPUT-GET-DECL-GEN>
3495 #WORD *26317626012*
3496                     <GFCN \1aSUBSTRUC-GEN ("VALUE" ANY NODE ANY) N4 W5>
3497                     <TEMP K6 PT7 LN8 (OVERLAP9 'T) (DIR10 %<>) (RSTN13 %<>) (LNTN14 %<>) STRN15:NODE (RESN16 %<>) (THE-SYM19 %<>) (SRC-REST22:FIX 0) (DEST-REST23:FIX 0) TEMP31 NT18 NN21:NODE>
3498                     <INTGO>
3499                     <NTHUV N4 5 = K6 (TYPE LIST)>
3500                     <FRAME '\1aSTRUCTYP>
3501                     <NTHUV N4 3 = STACK>
3502                     <CALL '\1aSTRUCTYP 1 = PT7>
3503                     <LENL K6 = LN8 (TYPE FIX)>
3504                     <NTHL K6 1 = STRN15 (TYPE NODE)>
3505                     <GRTR? LN8 1 - PHRASE35 (TYPE FIX) (DEAD-FALL RSTN13)>
3506                     <RESTL K6 1 = TEMP31 (TYPE LIST)>
3507                     <NTHL TEMP31 1 = RSTN13 (TYPE NODE)>
3508                     <DEAD TEMP31>
3509                     <GRTR? LN8 2 - PHRASE35 (TYPE FIX) (DEAD-FALL LNTN14)>
3510                     <RESTL K6 1 = TEMP31 (TYPE LIST)>
3511                     <RESTL TEMP31 1 = TEMP31 (TYPE LIST)>
3512                     <NTHL TEMP31 1 = LNTN14 (TYPE NODE)>
3513                     <DEAD TEMP31>
3514                     <GRTR? LN8 3 - PHRASE35 (TYPE FIX) (DEAD-FALL RESN16)>
3515                     <RESTL K6 1 = TEMP31 (TYPE LIST)>
3516                     <RESTL TEMP31 1 = TEMP31 (TYPE LIST)>
3517                     <RESTL TEMP31 1 = TEMP31 (TYPE LIST)>
3518                     <NTHL TEMP31 1 = RESN16 (TYPE NODE)>
3519                     <DEAD TEMP31>
3520 PHRASE35
3521                     <VEQUAL? RSTN13 0 + PHRASE37>
3522                     <NTHUV RSTN13 1 = TEMP31 (TYPE FIX)>
3523                     <VEQUAL? TEMP31 2 - PHRASE37 (TYPE FIX)>
3524                     <DEAD TEMP31>
3525                     <NTHUV RSTN13 4 = TEMP31 (TYPE FIX)>
3526                     <ADD TEMP31 SRC-REST22 = SRC-REST22 (TYPE FIX)>
3527                     <DEAD TEMP31>
3528 PHRASE37
3529                     <NTHUV STRN15 1 = NT18 (TYPE FIX)>
3530                     <VEQUAL? NT18 10 - BOOL43 (TYPE FIX) (DEAD-FALL THE-SYM19)>
3531                     <NTHUV STRN15 4 = THE-SYM19>
3532                     <TYPE? THE-SYM19 <TYPE-CODE FALSE> - BOOL42 (DEAD-JUMP NT18)>
3533 BOOL43
3534                     <VEQUAL? NT18 28 - PHRASE40 (TYPE FIX) (DEAD-JUMP N4 DEST-REST23)>
3535                     <DEAD NT18>
3536                     <NTHUV STRN15 5 = NT18 (TYPE LIST)>
3537                     <RESTL NT18 1 = TEMP31 (TYPE LIST)>
3538                     <NTHL TEMP31 1 = NN21 (TYPE NODE)>
3539                     <DEAD TEMP31>
3540                     <NTHUV NN21 1 = TEMP31 (TYPE FIX)>
3541                     <VEQUAL? TEMP31 2 - PHRASE40 (TYPE FIX) (DEAD-JUMP N4 NN21 NT18 DEST-REST23)>
3542                     <DEAD TEMP31>
3543                     <NTHUV NN21 4 = TEMP31 (TYPE FIX)>
3544                     <DEAD NN21>
3545                     <ADD TEMP31 SRC-REST22 = SRC-REST22 (TYPE FIX)>
3546                     <DEAD TEMP31>
3547                     <NTHL NT18 1 = NN21 (TYPE NODE)>
3548                     <DEAD NT18>
3549                     <NTHUV NN21 1 = TEMP31 (TYPE FIX)>
3550                     <VEQUAL? TEMP31 10 - PHRASE40 (TYPE FIX) (DEAD-JUMP N4 NN21 DEST-REST23) (DEAD-FALL THE-SYM19)>
3551                     <DEAD TEMP31>
3552                     <NTHUV NN21 4 = THE-SYM19>
3553                     <DEAD NN21>
3554                     <TYPE? THE-SYM19 <TYPE-CODE FALSE> + PHRASE40 (DEAD-JUMP N4 DEST-REST23)>
3555 BOOL42
3556                     <VEQUAL? RSTN13 0 + PHRASE40 (DEAD-JUMP N4 DEST-REST23)>
3557                     <NTHUV RSTN13 1 = TEMP31 (TYPE FIX)>
3558                     <VEQUAL? TEMP31 2 - PHRASE40 (TYPE FIX) (DEAD-JUMP N4 DEST-REST23)>
3559                     <DEAD TEMP31>
3560                     <VEQUAL? LNTN14 0 + PHRASE40 (DEAD-JUMP N4 DEST-REST23)>
3561                     <LENUV LNTN14 = TEMP31 (TYPE FIX)>
3562                     <LESS? TEMP31 8 + BOOL45 (TYPE FIX)>
3563                     <DEAD TEMP31>
3564                     <NTHUV LNTN14 8 = TEMP31>
3565                     <TYPE? TEMP31 <TYPE-CODE FALSE> - PHRASE40 (DEAD-JUMP N4 DEST-REST23)>
3566                     <DEAD TEMP31>
3567 BOOL45
3568                     <VEQUAL? RESN16 0 + PHRASE40 (DEAD-JUMP N4 DEST-REST23)>
3569                     <NTHUV RESN16 1 = NT18 (TYPE FIX)>
3570                     <VEQUAL? NT18 10 - BOOL47 (TYPE FIX) (DEAD-JUMP DEST-REST23)>
3571                     <NTHUV RESN16 4 = TEMP31>
3572                     <EQUAL? TEMP31 THE-SYM19 + BOOL46 (DEAD-JUMP NT18 LN8) (DEAD-FALL DEST-REST23)>
3573                     <DEAD TEMP31>
3574 BOOL47
3575                     <VEQUAL? NT18 28 - PHRASE40 (TYPE FIX) (DEAD-JUMP N4)>
3576                     <DEAD NT18>
3577                     <NTHUV RESN16 5 = NT18 (TYPE LIST)>
3578                     <RESTL NT18 1 = TEMP31 (TYPE LIST)>
3579                     <NTHL TEMP31 1 = NN21 (TYPE NODE)>
3580                     <DEAD TEMP31>
3581                     <NTHUV NN21 1 = TEMP31 (TYPE FIX)>
3582                     <VEQUAL? TEMP31 2 - PHRASE40 (TYPE FIX) (DEAD-JUMP N4 NN21 NT18)>
3583                     <DEAD TEMP31>
3584                     <NTHUV NN21 4 = DEST-REST23 (TYPE FIX)>
3585                     <DEAD NN21>
3586                     <NTHL NT18 1 = NN21 (TYPE NODE)>
3587                     <DEAD NT18>
3588                     <NTHUV NN21 1 = TEMP31 (TYPE FIX)>
3589                     <VEQUAL? TEMP31 10 - PHRASE40 (TYPE FIX) (DEAD-JUMP N4 NN21 DEST-REST23)>
3590                     <DEAD TEMP31>
3591                     <NTHUV NN21 4 = TEMP31>
3592                     <DEAD NN21>
3593                     <EQUAL? TEMP31 THE-SYM19 - PHRASE40 (DEAD-JUMP N4 DEST-REST23) (DEAD-FALL LN8)>
3594                     <DEAD TEMP31>
3595 BOOL46
3596                     <GRTR? SRC-REST22 DEST-REST23 + PEEP154 (TYPE FIX) (DEAD-JUMP N4 DEST-REST23 DIR10)>
3597                     <LESS? SRC-REST22 DEST-REST23 - PHRASE51 (TYPE FIX) (DEAD-FALL N4 DIR10)>
3598                     <DEAD DEST-REST23>
3599                     <SET DIR10 '`BACKWARD (TYPE ATOM)>
3600                     <JUMP + PHRASE54>
3601 PHRASE51
3602                     <FRAME '\1aCOMPILE-ERROR>
3603                     <PUSH "Bogus SUBSTRUC turkey">
3604                     <PUSH N4>
3605                     <DEAD N4>
3606                     <CALL '\1aCOMPILE-ERROR 2>
3607                     <JUMP + PHRASE54>
3608 PHRASE40
3609                     <VEQUAL? LN8 4 + PHRASE54 (TYPE FIX) (DEAD-FALL DIR10 OVERLAP9)>
3610                     <DEAD LN8>
3611                     <SET OVERLAP9 %<> (TYPE FALSE)>
3612 PEEP154
3613                     <SET DIR10 '`FORWARD (TYPE ATOM)>
3614 PHRASE54
3615                     <TYPE? THE-SYM19 <TYPE-CODE FALSE> + PHRASE56 (DEAD-JUMP THE-SYM19 K6)>
3616                     <RESTL K6 1 = TEMP31 (TYPE LIST)>
3617                     <DEAD K6>
3618                     <LOOP>
3619 MAP59
3620                     <INTGO>
3621                     <EMPL? TEMP31 + MAPAP62 (DEAD-JUMP TEMP31 STRN15)>
3622                     <NTHL TEMP31 1 = NN21>
3623                     <FRAME '\1aINTERFERE?>
3624                     <NTHUV THE-SYM19 10 = STACK (TYPE TEMP)>
3625                     <PUSH NN21>
3626                     <DEAD NN21>
3627                     <CALL '\1aINTERFERE? 2 = K6>
3628                     <TYPE? K6 <TYPE-CODE FALSE> - PHRASE56 (DEAD-JUMP TEMP31 THE-SYM19)>
3629                     <DEAD K6>
3630                     <RESTL TEMP31 1 = TEMP31 (TYPE LIST)>
3631                     <JUMP + MAP59>
3632 MAPAP62
3633                     <FRAME '\1aUSE-TEMP>
3634                     <NTHUV THE-SYM19 10 = THE-SYM19>
3635                     <PUSH THE-SYM19>
3636                     <CALL '\1aUSE-TEMP 1>
3637                     <JUMP + PHRASE75>
3638 PHRASE56
3639                     <FRAME '\1aGEN>
3640                     <PUSH STRN15>
3641                     <DEAD STRN15>
3642                     <FRAME '\1aGEN-TEMP>
3643                     <PUSH %<>>
3644                     <CALL '\1aGEN-TEMP 1 = STACK>
3645                     <CALL '\1aGEN 2 = THE-SYM19>
3646 PHRASE75
3647                     <EQUAL? PT7 'VECTOR - PHRASE79>
3648                     <SET K6 '`RESTUV (TYPE ATOM)>
3649                     <SET LN8 '`LENUV (TYPE ATOM)>
3650                     <JUMP + PHRASE82>
3651 PHRASE79
3652                     <EQUAL? PT7 'UVECTOR - PHRASE80>
3653                     <SET K6 '`RESTUU (TYPE ATOM)>
3654                     <SET LN8 '`LENUU (TYPE ATOM)>
3655                     <JUMP + PHRASE82>
3656 PHRASE80
3657                     <EQUAL? PT7 'STRING - PHRASE81>
3658                     <SET K6 '`RESTUS (TYPE ATOM)>
3659                     <SET LN8 '`LENUS (TYPE ATOM)>
3660                     <JUMP + PHRASE82>
3661 PHRASE81
3662                     <SET K6 '`RESTUB (TYPE ATOM)>
3663                     <SET LN8 '`LENUB (TYPE ATOM)>
3664 PHRASE82
3665                     <TYPE? RSTN13 <TYPE-CODE FALSE> + PHRASE84>
3666                     <NTHUV RSTN13 1 = TEMP31 (TYPE FIX)>
3667                     <VEQUAL? TEMP31 2 + PHRASE84 (TYPE FIX) (DEAD-FALL SRC-REST22)>
3668                     <DEAD TEMP31>
3669                     <FRAME '\1aGEN>
3670                     <PUSH RSTN13>
3671                     <DEAD RSTN13>
3672                     <CALL '\1aGEN 1 = RSTN13>
3673                     <FRAME '\1aIEMIT>
3674                     <PUSH K6>
3675                     <DEAD K6>
3676                     <PUSH THE-SYM19>
3677                     <PUSH RSTN13>
3678                     <PUSH '=>
3679                     <NTHUV THE-SYM19 2 = TEMP31 (TYPE FIX)>
3680                     <GRTR? TEMP31 1 - PEEP153 (TYPE FIX)>
3681                     <DEAD TEMP31>
3682                     <FRAME '\1aFREE-TEMP>
3683                     <PUSH THE-SYM19>
3684                     <DEAD THE-SYM19>
3685                     <CALL '\1aFREE-TEMP 1>
3686                     <FRAME '\1aGEN-TEMP>
3687                     <PUSH PT7>
3688                     <CALL '\1aGEN-TEMP 1 = THE-SYM19>
3689 PEEP153
3690                     <SET TEMP31 THE-SYM19>
3691                     <PUSH TEMP31>
3692                     <DEAD TEMP31>
3693                     <CALL '\1aIEMIT 5>
3694                     <FRAME '\1aFREE-TEMP>
3695                     <PUSH RSTN13>
3696                     <DEAD RSTN13>
3697                     <CALL '\1aFREE-TEMP 1>
3698                     <JUMP + PHRASE96>
3699 PHRASE84
3700                     <TYPE? RSTN13 <TYPE-CODE FALSE> + PHRASE96 (DEAD-JUMP SRC-REST22 K6)>
3701                     <DEAD RSTN13>
3702                     <VEQUAL? SRC-REST22 0 + PHRASE96 (TYPE FIX) (DEAD-JUMP SRC-REST22 K6)>
3703                     <FRAME '\1aIEMIT>
3704                     <PUSH K6>
3705                     <DEAD K6>
3706                     <PUSH THE-SYM19>
3707                     <PUSH SRC-REST22>
3708                     <DEAD SRC-REST22>
3709                     <PUSH '=>
3710                     <NTHUV THE-SYM19 2 = RSTN13 (TYPE FIX)>
3711                     <GRTR? RSTN13 1 - PEEP152 (TYPE FIX)>
3712                     <DEAD RSTN13>
3713                     <FRAME '\1aFREE-TEMP>
3714                     <PUSH THE-SYM19>
3715                     <DEAD THE-SYM19>
3716                     <CALL '\1aFREE-TEMP 1>
3717                     <FRAME '\1aGEN-TEMP>
3718                     <PUSH PT7>
3719                     <CALL '\1aGEN-TEMP 1 = THE-SYM19>
3720 PEEP152
3721                     <SET RSTN13 THE-SYM19>
3722                     <PUSH RSTN13>
3723                     <DEAD RSTN13>
3724                     <CALL '\1aIEMIT 5>
3725 PHRASE96
3726                     <TYPE? LNTN14 <TYPE-CODE FALSE> + PHRASE109 (DEAD-JUMP LNTN14) (DEAD-FALL LN8)>
3727                     <FRAME '\1aGEN>
3728                     <PUSH LNTN14>
3729                     <DEAD LNTN14>
3730                     <CALL '\1aGEN 1 = LNTN14>
3731                     <JUMP + PHRASE111>
3732 PHRASE109
3733                     <FRAME '\1aIEMIT>
3734                     <PUSH LN8>
3735                     <DEAD LN8>
3736                     <PUSH THE-SYM19>
3737                     <PUSH '=>
3738                     <FRAME '\1aGEN-TEMP>
3739                     <PUSH 'FIX>
3740                     <CALL '\1aGEN-TEMP 1 = LNTN14>
3741                     <PUSH LNTN14>
3742                     <CALL '\1aIEMIT 4>
3743 PHRASE111
3744                     <TYPE? RESN16 <TYPE-CODE FALSE> + PHRASE115 (DEAD-JUMP RESN16)>
3745                     <FRAME '\1aGEN>
3746                     <PUSH RESN16>
3747                     <DEAD RESN16>
3748                     <TYPE? W5 <TYPE-CODE TEMP> - PHRASE118>
3749                     <EQUAL? W5 THE-SYM19 + PHRASE118>
3750                     <SET RSTN13 W5>
3751                     <JUMP + PHRASE120>
3752 PHRASE118
3753                     <SET RSTN13 'DONT-CARE (TYPE ATOM)>
3754 PHRASE120
3755                     <PUSH RSTN13>
3756                     <DEAD RSTN13>
3757                     <CALL '\1aGEN 2 = RSTN13>
3758                     <EQUAL? PT7 'VECTOR + BOOL140 (DEAD-JUMP OVERLAP9)>
3759                     <EQUAL? PT7 'UVECTOR + BOOL140 (DEAD-JUMP OVERLAP9) (DEAD-FALL DIR10 PT7)>
3760                     <JUMP + PHRASE139>
3761 PHRASE115
3762                     <FRAME '\1aIEMIT>
3763                     <PUSH '`UUBLOCK>
3764                     <FRAME '\1aFORM>
3765                     <PUSH '`TYPE-CODE>
3766                     <PUSH PT7>
3767                     <CALL '\1aFORM 2 = STACK>
3768                     <PUSH LNTN14>
3769                     <PUSH '=>
3770                     <TYPE? W5 <TYPE-CODE TEMP> - PHRASE133>
3771                     <EQUAL? W5 THE-SYM19 + PHRASE133>
3772                     <FRAME '\1aUSE-TEMP>
3773                     <PUSH W5>
3774                     <CALL '\1aUSE-TEMP 1>
3775                     <SET RSTN13 W5>
3776                     <JUMP + PEEP151>
3777 PHRASE133
3778                     <FRAME '\1aGEN-TEMP>
3779                     <PUSH PT7>
3780                     <CALL '\1aGEN-TEMP 1 = RSTN13>
3781 PEEP151
3782                     <SET TEMP31 RSTN13>
3783                     <PUSH TEMP31>
3784                     <DEAD TEMP31>
3785                     <CONS PT7 () = TEMP31>
3786                     <CONS '`TYPE TEMP31 = STACK>
3787                     <DEAD TEMP31>
3788                     <CALL '\1aIEMIT 6>
3789                     <EQUAL? PT7 'VECTOR + BOOL140 (DEAD-JUMP OVERLAP9)>
3790                     <EQUAL? PT7 'UVECTOR - PHRASE139 (DEAD-JUMP DIR10 PT7) (DEAD-FALL OVERLAP9)>
3791 BOOL140
3792                     <FRAME '\1aIEMIT>
3793                     <PUSH '`MOVE-WORDS>
3794                     <PUSH THE-SYM19>
3795                     <PUSH RSTN13>
3796                     <PUSH LNTN14>
3797                     <CONS PT7 () = TEMP31>
3798                     <DEAD PT7>
3799                     <CONS '`TYPE TEMP31 = STACK>
3800                     <DEAD TEMP31>
3801                     <CONS DIR10 () = TEMP31>
3802                     <DEAD DIR10>
3803                     <CONS '`DIRECTION TEMP31 = STACK>
3804                     <DEAD TEMP31>
3805                     <CALL '\1aIEMIT 6>
3806                     <JUMP + PHRASE142>
3807 PHRASE139
3808                     <FRAME '\1aIEMIT>
3809                     <PUSH '`MOVE-STRING>
3810                     <PUSH THE-SYM19>
3811                     <PUSH RSTN13>
3812                     <PUSH LNTN14>
3813                     <VEQUAL? OVERLAP9 0 - TAG144>
3814                     <DEAD OVERLAP9>
3815                     <SET TEMP31 'T (TYPE ATOM)>
3816                     <JUMP + TAG145>
3817 TAG144
3818                     <SET TEMP31 %<> (TYPE FALSE)>
3819 TAG145
3820                     <CONS TEMP31 () = TEMP31>
3821                     <CONS '`NO-OVERLAP TEMP31 = STACK>
3822                     <DEAD TEMP31>
3823                     <CALL '\1aIEMIT 5>
3824 PHRASE142
3825                     <FRAME '\1aFREE-TEMP>
3826                     <PUSH THE-SYM19>
3827                     <DEAD THE-SYM19>
3828                     <CALL '\1aFREE-TEMP 1>
3829                     <FRAME '\1aFREE-TEMP>
3830                     <PUSH LNTN14>
3831                     <DEAD LNTN14>
3832                     <CALL '\1aFREE-TEMP 1>
3833                     <FRAME '\1aMOVE-ARG>
3834                     <PUSH RSTN13>
3835                     <DEAD RSTN13>
3836                     <PUSH W5>
3837                     <DEAD W5>
3838                     <CALL '\1aMOVE-ARG 2 = TEMP31>
3839                     <RETURN TEMP31>
3840                     <DEAD TEMP31>
3841                     <END \1aSUBSTRUC-GEN>
3842
3843 <ENDPACK