Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / mimc / mmqgen.mima
diff --git a/mim/development/mim/mimc/mmqgen.mima b/mim/development/mim/mimc/mmqgen.mima
new file mode 100644 (file)
index 0000000..441a6b2
--- /dev/null
@@ -0,0 +1,731 @@
+
+<PACKAGE "MMQGEN">
+
+<ENTRY MEMQ-GEN>
+
+<USE "COMPDEC" "CODGEN" "CHKDCL" "MIMGEN" "ADVMESS" "STRGEN">
+
+#WORD *12135077426*
+                   <GFCN \1aMEMQ-GEN ("VALUE" ANY NODE ANY "OPTIONAL" <OR FALSE ATOM> <OR FALSE ATOM> <OR FALSE ATOM> ANY) N9 W10 NOTF11 BRANCH12 DIR13 SETF14>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
+OPT4
+                   <PUSH %<>>
+OPT5
+                   <PUSH %<>>
+OPT6
+                   <PUSH %<>>
+OPT7
+                   <PUSH %<>>
+OPT8
+                   <TEMP TEMP37 STR15 THING16 TYP17 TPS18 FLS19 SDIR20 TTYP21 TYPTMP22 ETY24 TWIN25 B226 B331:ATOM RW32 FC33 LP34 NXT-TAG36 TEM29 TEMP71 TEMP72 TY30>
+                   <INTGO>
+                   <NTHUV N9 5 = TEMP37 (TYPE LIST)>
+                   <RESTL TEMP37 1 = TEMP37 (TYPE LIST)>
+                   <NTHL TEMP37 1 = STR15 (TYPE NODE)>
+                   <DEAD TEMP37>
+                   <NTHUV N9 5 = TEMP37 (TYPE LIST)>
+                   <NTHL TEMP37 1 = THING16 (TYPE NODE)>
+                   <DEAD TEMP37>
+                   <NTHUV STR15 3 = TYP17>
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH TYP17>
+                   <CALL '\1aSTRUCTYP 1 = TPS18>
+                   <EQUAL? W10 'FLUSHED - TAG39>
+                   <SET FLS19 'T (TYPE ATOM)>
+                   <JUMP + TAG40>
+TAG39
+                   <SET FLS19 %<> (TYPE FALSE)>
+TAG40
+                   <SET SDIR20 DIR13>
+                   <NTHUV THING16 3 = TTYP21>
+                   <FRAME '\1aGET-ELE-TYPE>
+                   <PUSH TYP17>
+                   <PUSH 'ALL>
+                   <CALL '\1aGET-ELE-TYPE 2 = ETY24>
+                   <FRAME '\1aTYPESAME>
+                   <PUSH ETY24>
+                   <PUSH TTYP21>
+                   <CALL '\1aTYPESAME 2 = TWIN25>
+                   <VEQUAL? FLS19 0 + PHRASE44>
+                   <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE44>
+                   <SET TEMP37 BRANCH12>
+                   <JUMP + PHRASE46>
+PHRASE44
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = TEMP37>
+PHRASE46
+                   <SET B226 TEMP37>
+                   <DEAD TEMP37>
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = B331>
+                   <SET RW32 W10>
+                   <FRAME '\1aMINL>
+                   <PUSH TYP17>
+                   <CALL '\1aMINL 1 = TEMP37>
+                   <VEQUAL? TEMP37 0 - TAG50 (TYPE FIX)>
+                   <DEAD TEMP37>
+                   <SET FC33 'T (TYPE ATOM)>
+                   <JUMP + TAG53>
+TAG50
+                   <SET FC33 %<> (TYPE FALSE)>
+TAG53
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = LP34>
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = NXT-TAG36>
+                   <TYPE? NOTF11 <TYPE-CODE FALSE> + TAG58>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> - TAG57>
+                   <DEAD DIR13>
+                   <SET DIR13 'T (TYPE ATOM)>
+                   <JUMP + TAG58>
+TAG57
+                   <SET DIR13 %<> (TYPE FALSE)>
+TAG58
+                   <TYPE? W10 <TYPE-CODE TEMP> - PHRASE60>
+                   <NTHUV W10 2 = TEMP37 (TYPE FIX)>
+                   <GRTR? TEMP37 0 + PHRASE60 (TYPE FIX)>
+                   <DEAD TEMP37>
+                   <SET TEM29 W10>
+                   <JUMP + PHRASE64>
+PHRASE60
+                   <SET TEM29 'DONT-CARE (TYPE ATOM)>
+PHRASE64
+                   <NTHUV N9 8 = TEMP37>
+                   <DEAD N9>
+                   <TYPE? TEMP37 <TYPE-CODE FALSE> - PHRASE66>
+                   <DEAD TEMP37>
+                   <NTHUV STR15 1 = TEMP37 (TYPE FIX)>
+                   <GVAL 'SNODES = TEMP71>
+                   <EMPUU? TEMP71 + TAG68>
+                   <LOOP (TEMP37 VALUE) (TEMP71 LENGTH VALUE)>
+TAG69
+                   <NTHUU TEMP71 1 = TEMP72>
+                   <VEQUAL? TEMP72 TEMP37 + PHRASE66>
+                   <DEAD TEMP72>
+                   <RESTUU TEMP71 1 = TEMP71 (TYPE UVECTOR)>
+                   <EMPUU? TEMP71 - TAG69>
+TAG68
+                   <NTHUV THING16 1 = TEMP71 (TYPE FIX)>
+                   <GVAL 'SNODES = TEMP37>
+                   <EMPUU? TEMP37 + PHRASE66>
+                   <LOOP (TEMP71 VALUE) (TEMP37 LENGTH VALUE)>
+TAG74
+                   <NTHUU TEMP37 1 = TEMP72>
+                   <VEQUAL? TEMP72 TEMP71 + TAG73>
+                   <DEAD TEMP72>
+                   <RESTUU TEMP37 1 = TEMP37 (TYPE UVECTOR)>
+                   <EMPUU? TEMP37 - TAG74>
+                   <JUMP + PHRASE66>
+TAG73
+                   <FRAME '\1aGEN>
+                   <PUSH STR15>
+                   <DEAD STR15>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <CALL '\1aGEN 2 = TEM29>
+                   <FRAME '\1aGEN>
+                   <PUSH THING16>
+                   <DEAD THING16>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = THING16>
+                   <JUMP + PHRASE78>
+PHRASE66
+                   <FRAME '\1aGEN>
+                   <PUSH THING16>
+                   <DEAD THING16>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = THING16>
+                   <FRAME '\1aINTERF-CHANGE>
+                   <PUSH THING16>
+                   <DEAD THING16>
+                   <PUSH STR15>
+                   <CALL '\1aINTERF-CHANGE 2 = THING16>
+                   <FRAME '\1aGEN>
+                   <PUSH STR15>
+                   <DEAD STR15>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <CALL '\1aGEN 2 = TEM29>
+PHRASE78
+                   <TYPE? TEM29 <TYPE-CODE TEMP> - BOOL84>
+                   <NTHUV TEM29 2 = TEMP37 (TYPE FIX)>
+                   <GRTR? TEMP37 1 - PHRASE83 (TYPE FIX)>
+                   <DEAD TEMP37>
+BOOL84
+                   <VEQUAL? FLS19 0 - PHRASE88>
+                   <TYPE? NOTF11 <TYPE-CODE FALSE> - PHRASE88>
+                   <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE88>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH TYP17>
+                   <DEAD TYP17>
+                   <CALL '\1aISTYPE? 1 = TEMP37>
+                   <VEQUAL? TPS18 TEMP37 + PHRASE88>
+                   <DEAD TEMP37>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH TEM29>
+                   <PUSH %<>>
+                   <CALL '\1aFREE-TEMP 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`CHTYPE>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <FRAME '\1aFORM>
+                   <PUSH '`TYPE-CODE>
+                   <PUSH TPS18>
+                   <CALL '\1aFORM 2 = STACK>
+                   <PUSH '=>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH TPS18>
+                   <CALL '\1aGEN-TEMP 1 = TEM29>
+                   <PUSH TEM29>
+                   <CALL '\1aIEMIT 5>
+                   <JUMP + PHRASE98>
+PHRASE88
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = STACK>
+                   <CALL '\1aMOVE-ARG 2 = TEM29>
+                   <JUMP + PHRASE98>
+PHRASE83
+                   <VEQUAL? FLS19 0 - PHRASE98>
+                   <TYPE? NOTF11 <TYPE-CODE FALSE> - PHRASE98>
+                   <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE98>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH TYP17>
+                   <DEAD TYP17>
+                   <CALL '\1aISTYPE? 1 = TEMP37>
+                   <VEQUAL? TPS18 TEMP37 + PHRASE98>
+                   <DEAD TEMP37>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`CHTYPE>
+                   <PUSH TEM29>
+                   <FRAME '\1aFORM>
+                   <PUSH '`TYPE-CODE>
+                   <PUSH TPS18>
+                   <CALL '\1aFORM 2 = STACK>
+                   <PUSH '=>
+                   <PUSH TEM29>
+                   <CALL '\1aIEMIT 5>
+PHRASE98
+                   <TYPE? TWIN25 <TYPE-CODE FALSE> - PHRASE104>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH ETY24>
+                   <DEAD ETY24>
+                   <CALL '\1aISTYPE? 1 = TY30>
+                   <TYPE? TY30 <TYPE-CODE FALSE> + PHRASE104>
+                   <FRAME '\1aGEN-TYPE?>
+                   <PUSH THING16>
+                   <PUSH TY30>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE109>
+                   <SET TEMP37 B331>
+                   <JUMP + PHRASE110>
+PHRASE109
+                   <SET TEMP37 B226>
+PHRASE110
+                   <PUSH TEMP37>
+                   <DEAD TEMP37>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TYPE? 4>
+                   <SET TWIN25 'T (TYPE ATOM)>
+PHRASE104
+                   <FRAME '\1aISTYPE?>
+                   <PUSH TTYP21>
+                   <DEAD TTYP21>
+                   <CALL '\1aISTYPE? 1 = TTYP21>
+                   <TYPE? TTYP21 <TYPE-CODE FALSE> - PHRASE112>
+                   <TYPE? TY30 <TYPE-CODE FALSE> - PHRASE112>
+                   <DEAD TY30>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`TYPE>
+                   <PUSH THING16>
+                   <PUSH '=>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = TYPTMP22>
+                   <PUSH TYPTMP22>
+                   <CALL '\1aIEMIT 4>
+PHRASE112
+                   <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE118>
+                   <VEQUAL? FLS19 0 - PHRASE118>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE118>
+                   <TYPE? NOTF11 <TYPE-CODE FALSE> - PHRASE118>
+                   <FRAME '\1a=?>
+                   <PUSH W10>
+                   <PUSH TEM29>
+                   <CALL '\1a=? 2 = TEMP37>
+                   <VEQUAL? TEMP37 0 + PHRASE118>
+                   <DEAD TEMP37>
+                   <TYPE? SETF14 <TYPE-CODE FALSE> - PHRASE118>
+                   <SET B226 BRANCH12>
+PHRASE118
+                   <VEQUAL? FC33 0 + PHRASE129>
+                   <DEAD FC33>
+                   <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE124>
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH TPS18>
+                   <PUSH TEM29>
+                   <PUSH TPS18>
+                   <PUSH 'T>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE127>
+                   <SET TEMP37 B331>
+                   <JUMP + PHRASE128>
+PHRASE127
+                   <SET TEMP37 B226>
+PHRASE128
+                   <PUSH TEMP37>
+                   <DEAD TEMP37>
+                   <CALL '\1aEMPTY-CHECK 5>
+                   <JUMP + PHRASE129>
+PHRASE124
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`EMPTY?>
+                   <PUSH TEM29>
+                   <PUSH '+>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE132>
+                   <SET TEMP37 B331>
+                   <JUMP + PHRASE133>
+PHRASE132
+                   <SET TEMP37 B226>
+PHRASE133
+                   <PUSH TEMP37>
+                   <DEAD TEMP37>
+                   <CALL '\1aIEMIT 4>
+PHRASE129
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`LOOP>
+                   <SET TEMP71 2 (TYPE FIX)>
+                   <TYPE? THING16 <TYPE-CODE TEMP> - PHRASE136>
+                   <TYPE? TYPTMP22 <TYPE-CODE UNBOUND> + PHRASE138>
+                   <CONS 'VALUE () = TEMP72>
+                   <NTHUV TYPTMP22 1 = STR15 (TYPE ATOM)>
+                   <CONS STR15 TEMP72 = TEMP72>
+                   <DEAD STR15>
+                   <CONS TEMP72 () = TEMP37>
+                   <DEAD TEMP72>
+                   <CONS 'VALUE () = TEMP72>
+                   <NTHUV THING16 1 = STR15 (TYPE ATOM)>
+                   <CONS STR15 TEMP72 = TEMP72>
+                   <DEAD STR15>
+                   <CONS TEMP72 TEMP37 = TEMP37>
+                   <DEAD TEMP72>
+                   <JUMP + PHRASE142>
+PHRASE138
+                   <CONS 'VALUE () = TEMP72>
+                   <NTHUV THING16 1 = STR15 (TYPE ATOM)>
+                   <CONS STR15 TEMP72 = TEMP72>
+                   <DEAD STR15>
+                   <CONS TEMP72 () = TEMP37>
+                   <DEAD TEMP72>
+                   <JUMP + PHRASE142>
+PHRASE136
+                   <TYPE? TYPTMP22 <TYPE-CODE UNBOUND> + PHRASE141>
+                   <CONS 'VALUE () = TEMP72>
+                   <NTHUV TYPTMP22 1 = STR15 (TYPE ATOM)>
+                   <CONS STR15 TEMP72 = TEMP72>
+                   <DEAD STR15>
+                   <CONS TEMP72 () = TEMP37>
+                   <DEAD TEMP72>
+                   <JUMP + PHRASE142>
+PHRASE141
+                   <SET TEMP37 () (TYPE LIST)>
+PHRASE142
+                   <LOOP (TEMP37 VALUE) (TEMP71 VALUE)>
+TAG143
+                   <INTGO>
+                   <EMPL? TEMP37 + TAG134>
+                   <NTHL TEMP37 1 = STACK>
+                   <RESTL TEMP37 1 = TEMP37 (TYPE LIST)>
+                   <ADD TEMP71 1 = TEMP71 (TYPE FIX)>
+                   <JUMP + TAG143>
+TAG134
+                   <TYPE? TPS18 <TYPE-CODE FALSE> - PHRASE146>
+                   <CONS 'TYPE () = TEMP72>
+                   <CONS 'VALUE TEMP72 = TEMP72>
+                   <CONS 'LENGTH TEMP72 = TEMP72>
+                   <NTHUV TEM29 1 = STR15 (TYPE ATOM)>
+                   <CONS STR15 TEMP72 = TEMP72>
+                   <DEAD STR15>
+                   <JUMP + PHRASE148>
+PHRASE146
+                   <VEQUAL? TPS18 'LIST - PHRASE147>
+                   <CONS 'VALUE () = TEMP72>
+                   <NTHUV TEM29 1 = STR15 (TYPE ATOM)>
+                   <CONS STR15 TEMP72 = TEMP72>
+                   <DEAD STR15>
+                   <JUMP + PHRASE148>
+PHRASE147
+                   <CONS 'VALUE () = TEMP72>
+                   <CONS 'LENGTH TEMP72 = TEMP72>
+                   <NTHUV TEM29 1 = STR15 (TYPE ATOM)>
+                   <CONS STR15 TEMP72 = TEMP72>
+                   <DEAD STR15>
+PHRASE148
+                   <PUSH TEMP72>
+                   <DEAD TEMP72>
+                   <CALL '\1aIEMIT TEMP71>
+                   <DEAD TEMP71>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH LP34>
+                   <CALL '\1aLABEL-TAG 1>
+                   <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE151>
+                   <FRAME '\1aNTH-DO>
+                   <PUSH TPS18>
+                   <PUSH TEM29>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = TEMP37>
+                   <PUSH TEMP37>
+                   <PUSH 1>
+                   <CALL '\1aNTH-DO 4>
+                   <JUMP + PHRASE154>
+PHRASE151
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`NTH1>
+                   <PUSH TEM29>
+                   <PUSH '=>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = TEMP37>
+                   <PUSH TEMP37>
+                   <CALL '\1aIEMIT 4>
+PHRASE154
+                   <TYPE? TYPTMP22 <TYPE-CODE UNBOUND> + PHRASE158>
+                   <FRAME '\1aGEN-TYPE?>
+                   <PUSH TEMP37>
+                   <PUSH TYPTMP22>
+                   <PUSH NXT-TAG36>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TYPE? 4>
+                   <JUMP + PHRASE160>
+PHRASE158
+                   <TYPE? TWIN25 <TYPE-CODE FALSE> - PHRASE160>
+                   <DEAD TWIN25>
+                   <FRAME '\1aGEN-TYPE?>
+                   <PUSH TEMP37>
+                   <PUSH TTYP21>
+                   <DEAD TTYP21>
+                   <PUSH NXT-TAG36>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TYPE? 4>
+PHRASE160
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`VEQUAL?>
+                   <PUSH TEMP37>
+                   <FRAME '\1aATOMCHK>
+                   <PUSH THING16>
+                   <CALL '\1aATOMCHK 1 = STACK>
+                   <PUSH '+>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE165>
+                   <SET TEMP71 B226>
+                   <JUMP + PHRASE166>
+PHRASE165
+                   <SET TEMP71 B331>
+PHRASE166
+                   <PUSH TEMP71>
+                   <DEAD TEMP71>
+                   <CALL '\1aIEMIT 5>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH TEMP37>
+                   <DEAD TEMP37>
+                   <CALL '\1aFREE-TEMP 1>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH NXT-TAG36>
+                   <DEAD NXT-TAG36>
+                   <CALL '\1aLABEL-TAG 1>
+                   <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE170>
+                   <FRAME '\1aREST-DO>
+                   <PUSH TPS18>
+                   <PUSH TEM29>
+                   <PUSH TEM29>
+                   <PUSH 1>
+                   <CALL '\1aREST-DO 4>
+                   <JUMP + PHRASE172>
+PHRASE170
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`REST1>
+                   <PUSH TEM29>
+                   <PUSH '=>
+                   <PUSH TEM29>
+                   <CALL '\1aIEMIT 4>
+PHRASE172
+                   <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE175>
+                   <FRAME '\1aEMPTY-CHECK>
+                   <PUSH TPS18>
+                   <PUSH TEM29>
+                   <PUSH TPS18>
+                   <DEAD TPS18>
+                   <PUSH %<>>
+                   <PUSH LP34>
+                   <DEAD LP34>
+                   <CALL '\1aEMPTY-CHECK 5>
+                   <JUMP + PHRASE177>
+PHRASE175
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`EMPTY?>
+                   <PUSH TEM29>
+                   <PUSH '->
+                   <PUSH LP34>
+                   <DEAD LP34>
+                   <CALL '\1aIEMIT 4>
+PHRASE177
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH THING16>
+                   <DEAD THING16>
+                   <CALL '\1aFREE-TEMP 1>
+                   <TYPE? TYPTMP22 <TYPE-CODE UNBOUND> + PHRASE181>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH TYPTMP22>
+                   <DEAD TYPTMP22>
+                   <CALL '\1aFREE-TEMP 1>
+PHRASE181
+                   <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE184>
+                   <VEQUAL? FLS19 0 + PHRASE184>
+                   <DEAD FLS19>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE187>
+                   <DEAD DIR13>
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH B226>
+                   <DEAD B226>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B331>
+                   <DEAD B331>
+                   <CALL '\1aLABEL-TAG 1>
+                   <JUMP + PHRASE190>
+PHRASE187
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B331>
+                   <DEAD B331>
+                   <CALL '\1aLABEL-TAG 1>
+PHRASE190
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <CALL '\1aFREE-TEMP 1>
+                   <JUMP + PHRASE264>
+PHRASE184
+                   <TYPE? NOTF11 <TYPE-CODE FALSE> - BOOL194>
+                   <TYPE? SETF14 <TYPE-CODE FALSE> - PHRASE193>
+                   <TYPE? BRANCH12 <TYPE-CODE FALSE> - TAG196>
+                   <SET TEMP71 'T (TYPE ATOM)>
+                   <JUMP + TAG197>
+TAG196
+                   <SET TEMP71 %<> (TYPE FALSE)>
+TAG197
+                   <TYPE? DIR13 <TYPE-CODE FALSE> - TAG198>
+                   <SET TEMP37 'T (TYPE ATOM)>
+                   <JUMP + TAG199>
+TAG198
+                   <SET TEMP37 %<> (TYPE FALSE)>
+TAG199
+                   <VEQUAL? TEMP71 TEMP37 + PHRASE193>
+                   <DEAD TEMP71 TEMP37>
+BOOL194
+                   <EQUAL? TEM29 W10 - PHRASE201>
+                   <FRAME '\1aDEALLOCATE-TEMP>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <CALL '\1aDEALLOCATE-TEMP 1>
+                   <JUMP + PHRASE203>
+PHRASE201
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <CALL '\1aFREE-TEMP 1>
+PHRASE203
+                   <TYPE? NOTF11 <TYPE-CODE FALSE> + PHRASE206>
+                   <DEAD NOTF11>
+                   <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE206>
+                   <DEAD DIR13>
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH B331>
+                   <CALL '\1aBRANCH-TAG 1>
+PHRASE206
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B226>
+                   <DEAD B226>
+                   <CALL '\1aLABEL-TAG 1>
+                   <FRAME '\1aMOVE-ARG>
+                   <FRAME '\1aREFERENCE>
+                   <PUSH SDIR20>
+                   <CALL '\1aREFERENCE 1 = STACK>
+                   <EQUAL? W10 'DONT-CARE - PHRASE213>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = W10>
+PHRASE213
+                   <PUSH W10>
+                   <CALL '\1aMOVE-ARG 2>
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH BRANCH12>
+                   <DEAD BRANCH12>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE218>
+                   <DEAD SETF14>
+                   <FRAME '\1aDEALLOCATE-TEMP>
+                   <PUSH W10>
+                   <CALL '\1aDEALLOCATE-TEMP 1>
+                   <FRAME '\1aMOVE-ARG>
+                   <FRAME '\1aREFERENCE>
+                   <TYPE? SDIR20 <TYPE-CODE FALSE> - TAG222>
+                   <DEAD SDIR20>
+                   <SET TEMP37 'T (TYPE ATOM)>
+                   <JUMP + TAG223>
+TAG222
+                   <SET TEMP37 %<> (TYPE FALSE)>
+TAG223
+                   <PUSH TEMP37>
+                   <DEAD TEMP37>
+                   <CALL '\1aREFERENCE 1 = STACK>
+                   <PUSH W10>
+                   <CALL '\1aMOVE-ARG 2>
+PHRASE218
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B331>
+                   <DEAD B331>
+                   <CALL '\1aLABEL-TAG 1>
+                   <JUMP + PHRASE264>
+PHRASE193
+                   <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE227>
+                   <VEQUAL? B226 BRANCH12 - PHRASE229>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B331>
+                   <DEAD B331>
+                   <CALL '\1aLABEL-TAG 1>
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <PUSH W10>
+                   <DEAD W10>
+                   <CALL '\1aMOVE-ARG 2 = W10>
+                   <JUMP + PHRASE264>
+PHRASE229
+                   <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE232>
+                   <DEAD DIR13>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B226>
+                   <DEAD B226>
+                   <CALL '\1aLABEL-TAG 1>
+                   <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE235>
+                   <DEAD SETF14>
+                   <FRAME '\1aDEALLOCATE-TEMP>
+                   <FRAME '\1aMOVE-ARG>
+                   <FRAME '\1aREFERENCE>
+                   <PUSH %<>>
+                   <CALL '\1aREFERENCE 1 = STACK>
+                   <PUSH W10>
+                   <CALL '\1aMOVE-ARG 2 = STACK>
+                   <CALL '\1aDEALLOCATE-TEMP 1>
+PHRASE235
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH BRANCH12>
+                   <DEAD BRANCH12>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B331>
+                   <DEAD B331>
+                   <CALL '\1aLABEL-TAG 1>
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <PUSH W10>
+                   <DEAD W10>
+                   <CALL '\1aMOVE-ARG 2 = W10>
+                   <JUMP + PHRASE264>
+PHRASE232
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH B331>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B226>
+                   <DEAD B226>
+                   <CALL '\1aLABEL-TAG 1>
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <PUSH W10>
+                   <DEAD W10>
+                   <CALL '\1aMOVE-ARG 2 = W10>
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH BRANCH12>
+                   <DEAD BRANCH12>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B331>
+                   <DEAD B331>
+                   <CALL '\1aLABEL-TAG 1>
+                   <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE264>
+                   <DEAD SETF14>
+                   <FRAME '\1aDEALLOCATE-TEMP>
+                   <PUSH W10>
+                   <CALL '\1aDEALLOCATE-TEMP 1>
+                   <FRAME '\1aMOVE-ARG>
+                   <FRAME '\1aREFERENCE>
+                   <PUSH %<>>
+                   <CALL '\1aREFERENCE 1 = STACK>
+                   <PUSH W10>
+                   <CALL '\1aMOVE-ARG 2>
+                   <JUMP + PHRASE264>
+PHRASE227
+                   <FRAME '\1aDEALLOCATE-TEMP>
+                   <PUSH TEM29>
+                   <CALL '\1aDEALLOCATE-TEMP 1>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B226>
+                   <DEAD B226>
+                   <CALL '\1aLABEL-TAG 1>
+                   <FRAME '\1aMOVE-ARG>
+                   <FRAME '\1aREFERENCE>
+                   <PUSH %<>>
+                   <CALL '\1aREFERENCE 1 = STACK>
+                   <EQUAL? W10 'DONT-CARE - PHRASE259>
+                   <SET TEMP37 TEM29>
+                   <JUMP + PHRASE260>
+PHRASE259
+                   <SET TEMP37 W10>
+                   <DEAD W10>
+PHRASE260
+                   <PUSH TEMP37>
+                   <DEAD TEMP37>
+                   <CALL '\1aMOVE-ARG 2 = W10>
+                   <EQUAL? W10 TEM29 - PHRASE262>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B331>
+                   <DEAD B331>
+                   <CALL '\1aLABEL-TAG 1>
+                   <JUMP + PHRASE264>
+PHRASE262
+                   <FRAME '\1aDEALLOCATE-TEMP>
+                   <PUSH W10>
+                   <CALL '\1aDEALLOCATE-TEMP 1>
+                   <FRAME '\1aBRANCH-TAG>
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = STR15>
+                   <PUSH STR15>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH B331>
+                   <DEAD B331>
+                   <CALL '\1aLABEL-TAG 1>
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH TEM29>
+                   <DEAD TEM29>
+                   <PUSH W10>
+                   <DEAD W10>
+                   <CALL '\1aMOVE-ARG 2 = W10>
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH STR15>
+                   <DEAD STR15>
+                   <CALL '\1aLABEL-TAG 1>
+PHRASE264
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH W10>
+                   <DEAD W10>
+                   <PUSH RW32>
+                   <DEAD RW32>
+                   <CALL '\1aMOVE-ARG 2 = TEMP37>
+                   <RETURN TEMP37>
+                   <DEAD TEMP37>
+                   <END \1aMEMQ-GEN>
+
+<ENDPACKAGE>