Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / mimc / newrep.mima
diff --git a/mim/development/mim/mimc/newrep.mima b/mim/development/mim/mimc/newrep.mima
new file mode 100644 (file)
index 0000000..1066d52
--- /dev/null
@@ -0,0 +1,1246 @@
+
+<PACKAGE "NEWREP">
+
+<ENTRY PROG-REP-GEN RETURN-GEN AGAIN-GEN ACTIV? MULTI-RETURN-GEN>
+
+<USE "COMPDEC" "CODGEN" "CHKDCL" "MIMGEN" "ADVMESS" "NOTGEN">
+
+" Generate code for a poor innocent PROG or REPEAT."
+
+"\f"
+
+#WORD *13702303173*
+                   <GFCN \1aPROG-REP-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY) PNOD8 PWHERE9 NOTF10 BRANCH11 DIR12>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7>
+OPT4
+                   <PUSH %<>>
+OPT5
+                   <PUSH %<>>
+OPT6
+                   <PUSH %<>>
+OPT7
+                   <TEMP TEMP3:LBIND (TEMP36 %<>) DEST18 K19:LIST ORPNOD22 OFREE-TEMPS27 TEMP59 FOK30 TEMP77 TEMP95 EXIT15 TEMP120 TEMP121 MYFRAME89:TEMP BNDTMP24:TEMP>
+                   <INTGO>
+                   <GETS 'BIND = TEMP3 (TYPE LBIND)>
+                   <BBIND 'PNOD 'NODE %<> PNOD8>
+                   <DEAD PNOD8>
+                   <FIXBIND>
+                   <BBIND 'START-TAG 'ATOM 'FIX>
+                   <GEN-LVAL 'BASEF = TEMP36>
+                   <BBIND 'BASEF 'NODE 'FIX TEMP36>
+                   <DEAD TEMP36>
+                   <EQUAL? PWHERE9 'FLUSHED - PHRASE40>
+                   <SET DEST18 'FLUSHED (TYPE ATOM)>
+                   <JUMP + PHRASE43>
+PHRASE40
+                   <EQUAL? PWHERE9 'DONT-CARE - PHRASE41>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = DEST18>
+                   <JUMP + PHRASE43>
+PHRASE41
+                   <SET DEST18 PWHERE9>
+PHRASE43
+                   <NTHR 'PNOD 2 = TEMP36 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP36 1 = TEMP36 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP36 5 = K19 (TYPE LIST)>
+                   <DEAD TEMP36>
+                   <BBIND 'SPECD 'ANY 'FIX>
+                   <GEN-ASSIGNED? 'RPNOD + TAG47>
+                   <SET TEMP36 %<> (TYPE FALSE)>
+                   <JUMP + BOOL46>
+TAG47
+                   <GEN-LVAL 'RPNOD = TEMP36>
+BOOL46
+                   <SET ORPNOD22 TEMP36>
+                   <DEAD TEMP36>
+                   <BBIND 'RPNOD 'NODE 'FIX>
+                   <GEN-LVAL 'FREE-TEMPS = OFREE-TEMPS27>
+                   <SET TEMP36 K19>
+                   <LOOP (TEMP36 VALUE)>
+TAG58
+                   <RESTL TEMP36 1 = TEMP59 (TYPE LIST)>
+                   <EMPL? TEMP59 + TAG60>
+                   <SET TEMP36 TEMP59>
+                   <DEAD TEMP59>
+                   <JUMP + TAG58>
+TAG60
+                   <NTHL TEMP36 1 = TEMP59>
+                   <DEAD TEMP36>
+                   <NTHUV TEMP59 3 = TEMP36>
+                   <DEAD TEMP59>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH TEMP36>
+                   <PUSH 'FALSE>
+                   <CALL '\1aTYPE-OK? 2 = FOK30>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH TEMP36>
+                   <DEAD TEMP36>
+                   <CALL '\1aISTYPE? 1 = TEMP59>
+                   <VEQUAL? TEMP59 'FALSE + TAG62>
+                   <DEAD TEMP59>
+                   <SET TEMP36 'T (TYPE ATOM)>
+                   <JUMP + TAG64>
+TAG62
+                   <SET TEMP36 %<> (TYPE FALSE)>
+TAG64
+                   <BBIND 'STK 'FIX 'FIX 0>
+                   <BBIND 'STK-CHARS7 'FIX 'FIX 0>
+                   <BBIND 'STK-CHARS8 'FIX 'FIX 0>
+                   <BBIND 'STKTMP 'ANY 'FIX>
+                   <NTHR 'PNOD 2 = TEMP59 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP59 1 = TEMP59 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP59 12 = TEMP59>
+                   <TYPE? TEMP59 <TYPE-CODE FALSE> - BOOL68>
+                   <DEAD TEMP59>
+                   <FRAME '\1aACTIV?>
+                   <NTHR 'PNOD 2 = TEMP59 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP59 1 = TEMP59 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP59 10 = STACK (TYPE LIST)>
+                   <DEAD TEMP59>
+                   <CALL '\1aACTIV? 1 = TEMP59>
+                   <VEQUAL? TEMP59 0 + PHRASE66>
+                   <DEAD TEMP59>
+BOOL68
+                   <TYPE? DEST18 <TYPE-CODE TEMP> - PHRASE66>
+                   <FRAME '\1aUSE-TEMP>
+                   <PUSH DEST18>
+                   <CALL '\1aUSE-TEMP 1>
+PHRASE66
+                   <GETS 'BIND = TEMP59 (TYPE LBIND)>
+                   <GEN-LVAL 'TMPS = TEMP77>
+                   <BBIND 'TMPS 'FORM 'FIX TEMP77>
+                   <DEAD TEMP77>
+                   <GEN-LVAL 'TMPS-NEXT = TEMP77>
+                   <BBIND 'TMPS-NEXT 'LIST 'FIX TEMP77>
+                   <DEAD TEMP77>
+                   <GEN-LVAL 'FREE-TEMPS = TEMP77>
+                   <BBIND 'FREE-TEMPS 'LIST 'FIX TEMP77>
+                   <DEAD TEMP77>
+                   <GEN-LVAL 'ALL-TEMPS-LIST = TEMP77>
+                   <BBIND 'ALL-TEMPS-LIST 'LIST 'FIX TEMP77>
+                   <DEAD TEMP77>
+                   <NTHR 'PNOD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP77 9 = TEMP77>
+                   <GVAL 'BIND = TEMP95>
+                   <EQUAL? TEMP77 TEMP95 + PHRASE92>
+                   <DEAD TEMP77 TEMP95>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHR 'RPNOD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP77 1 TEMP95 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP77 TEMP95>
+                   <JUMP + PHRASE100>
+PHRASE92
+                   <TYPE? ORPNOD22 <TYPE-CODE FALSE> + PHRASE100>
+                   <NTHR 'RPNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP95 1 ORPNOD22 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP95 ORPNOD22>
+PHRASE100
+                   <SET ORPNOD22 DEST18>
+                   <FRAME '\1aMAKE-TAG>
+                   <PUSH "EXIT">
+                   <CALL '\1aMAKE-TAG 1 = EXIT15>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP95 12 = TEMP95>
+                   <TYPE? TEMP95 <TYPE-CODE FALSE> - BOOL106>
+                   <DEAD TEMP95>
+                   <FRAME '\1aACTIV?>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP95 10 = STACK (TYPE LIST)>
+                   <DEAD TEMP95>
+                   <CALL '\1aACTIV? 1 = TEMP95>
+                   <VEQUAL? TEMP95 0 + PHRASE145>
+                   <DEAD TEMP95>
+BOOL106
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <PUTUV TEMP95 12 'T>
+                   <DEAD TEMP95>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHR 'BASEF 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP77 1 TEMP95 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP77 TEMP95>
+                   <NTHR 'ALL-TEMPS-LIST 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <CONS %<> () = TEMP77>
+                   <NTHR 'FREE-TEMPS 2 = TEMP121 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP121 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP121>
+                   <CONS TEMP120 TEMP77 = TEMP120>
+                   <DEAD TEMP77>
+                   <NTHR 'TMPS-NEXT 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <CONS TEMP77 TEMP120 = TEMP120>
+                   <DEAD TEMP77>
+                   <NTHR 'TMPS 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <CONS TEMP77 TEMP120 = TEMP120>
+                   <DEAD TEMP77>
+                   <CONS TEMP120 TEMP95 = TEMP120>
+                   <DEAD TEMP95>
+                   <NTHR 'ALL-TEMPS-LIST 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP95 1 TEMP120 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP95 TEMP120>
+                   <EQUAL? DEST18 'FLUSHED - PHRASE131>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ICALL>
+                   <PUSH EXIT15>
+                   <CALL '\1aIEMIT 2>
+                   <JUMP + PHRASE133>
+PHRASE131
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ICALL>
+                   <PUSH EXIT15>
+                   <PUSH '=>
+                   <PUSH DEST18>
+                   <CALL '\1aIEMIT 4>
+PHRASE133
+                   <FRAME '\1aMIM-TEMPS-HOLD>
+                   <CALL '\1aMIM-TEMPS-HOLD 0>
+                   <FRAME '\1aMIM-TEMPS-EMIT>
+                   <CALL '\1aMIM-TEMPS-EMIT 0>
+                   <NTHR 'FREE-TEMPS 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP120 1 () (RECORD-TYPE LBIND)>
+                   <DEAD TEMP120>
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = MYFRAME89>
+                   <FRAME '\1aPREV-FRAME>
+                   <PUSH MYFRAME89>
+                   <CALL '\1aPREV-FRAME 1>
+                   <FRAME '\1aPUT>
+                   <NTHR 'ALL-TEMPS-LIST 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHL TEMP120 1 = STACK>
+                   <DEAD TEMP120>
+                   <PUSH 4>
+                   <PUSH MYFRAME89>
+                   <CALL '\1aPUT 3>
+                   <EQUAL? PWHERE9 'FLUSHED + PHRASE145>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = DEST18>
+PHRASE145
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP120 12 = TEMP120>
+                   <TYPE? TEMP120 <TYPE-CODE FALSE> + PHRASE148>
+                   <DEAD TEMP120>
+                   <FRAME '\1aBIND-CODE>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = STACK (RECORD-TYPE LBIND)>
+                   <DEAD TEMP120>
+                   <CALL '\1aBIND-CODE 1 = TEMP120>
+                   <JUMP + PHRASE154>
+PHRASE148
+                   <FRAME '\1aBIND-CODE>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = STACK (RECORD-TYPE LBIND)>
+                   <DEAD TEMP95>
+                   <PUSH 'T>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = BNDTMP24>
+                   <PUSH BNDTMP24>
+                   <CALL '\1aBIND-CODE 3 = TEMP120>
+PHRASE154
+                   <NTHR 'SPECD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP95 1 TEMP120 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP95 TEMP120>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHR 'BASEF 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP95 1 TEMP120 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP95 TEMP120>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP120 9 = TEMP120>
+                   <GVAL 'REPEAT = TEMP95>
+                   <EQUAL? TEMP120 TEMP95 + BOOL167>
+                   <DEAD TEMP120 TEMP95>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP95 19 = TEMP95>
+                   <TYPE? TEMP95 <TYPE-CODE FALSE> + PHRASE166>
+                   <DEAD TEMP95>
+BOOL167
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`LOOP>
+                   <CALL '\1aIEMIT 1>
+PHRASE166
+                   <FRAME '\1aLABEL-TAG>
+                   <FRAME '\1aMAKE-TAG>
+                   <PUSH "AGAIN">
+                   <CALL '\1aMAKE-TAG 1 = TEMP121>
+                   <PUSH TEMP121>
+                   <CALL '\1aLABEL-TAG 1>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP95 9 = TEMP95>
+                   <GVAL 'REPEAT = TEMP120>
+                   <EQUAL? TEMP95 TEMP120 + BOOL177>
+                   <DEAD TEMP95 TEMP120>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP120 19 = TEMP120>
+                   <TYPE? TEMP120 <TYPE-CODE FALSE> + PHRASE176>
+                   <DEAD TEMP120>
+BOOL177
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`INTGO>
+                   <CALL '\1aIEMIT 1>
+PHRASE176
+                   <TYPE? NOTF10 <TYPE-CODE FALSE> + TAG186>
+                   <DEAD NOTF10>
+                   <TYPE? DIR12 <TYPE-CODE FALSE> - TAG185>
+                   <DEAD DIR12>
+                   <SET DIR12 'T (TYPE ATOM)>
+                   <JUMP + TAG186>
+TAG185
+                   <SET DIR12 %<> (TYPE FALSE)>
+TAG186
+                   <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE188>
+                   <CONS DIR12 () = TEMP120>
+                   <CONS BRANCH11 TEMP120 = TEMP120>
+                   <JUMP + PHRASE189>
+PHRASE188
+                   <GVAL 'NO-DATUM = TEMP120>
+PHRASE189
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <PUTUV TEMP95 15 TEMP120>
+                   <DEAD TEMP95 TEMP120>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <PUTUV TEMP95 14 DEST18>
+                   <DEAD TEMP95>
+                   <NTHR 'SPECD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <PUTUV TEMP120 13 TEMP95>
+                   <DEAD TEMP120 TEMP95>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <PUTUV TEMP120 16 TEMP121>
+                   <DEAD TEMP120>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <PUTUV TEMP120 17 EXIT15>
+                   <DEAD TEMP120>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP120 9 = TEMP120>
+                   <GVAL 'REPEAT = TEMP95>
+                   <EQUAL? TEMP120 TEMP95 + BOOL204>
+                   <DEAD TEMP120 TEMP95>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP95 19 = TEMP95>
+                   <TYPE? TEMP95 <TYPE-CODE FALSE> + PHRASE203>
+                   <DEAD TEMP95>
+BOOL204
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP95 9 = TEMP95>
+                   <GVAL 'REPEAT = TEMP120>
+                   <EQUAL? TEMP95 TEMP120 - PHRASE210>
+                   <DEAD TEMP95 TEMP120>
+                   <FRAME '\1aSEQ-GEN>
+                   <PUSH K19>
+                   <DEAD K19>
+                   <PUSH 'FLUSHED>
+                   <CALL '\1aSEQ-GEN 2>
+                   <JUMP + PHRASE274>
+PHRASE210
+                   <EQUAL? DEST18 'FLUSHED - PHRASE214>
+                   <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE216>
+                   <TYPE? FOK30 <TYPE-CODE FALSE> + PHRASE216>
+                   <VEQUAL? TEMP36 0 + PHRASE216>
+                   <FRAME '\1aPSEQ-GEN>
+                   <PUSH K19>
+                   <DEAD K19>
+                   <PUSH 'FLUSHED>
+                   <PUSH BRANCH11>
+                   <PUSH DIR12>
+                   <DEAD DIR12>
+                   <PUSH %<>>
+                   <CALL '\1aPSEQ-GEN 5>
+                   <JUMP + PHRASE274>
+PHRASE216
+                   <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE219>
+                   <TYPE? DIR12 <TYPE-CODE FALSE> + PHRASE222>
+                   <DEAD DIR12>
+                   <VEQUAL? TEMP36 0 + PHRASE219>
+                   <DEAD TEMP36>
+                   <JUMP + PHRASE223>
+PHRASE222
+                   <TYPE? FOK30 <TYPE-CODE FALSE> + PHRASE219>
+                   <DEAD FOK30>
+PHRASE223
+                   <FRAME '\1aSEQ-GEN>
+                   <PUSH K19>
+                   <DEAD K19>
+                   <PUSH 'FLUSHED>
+                   <CALL '\1aSEQ-GEN 2>
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH BRANCH11>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <JUMP + PHRASE274>
+PHRASE219
+                   <FRAME '\1aSEQ-GEN>
+                   <PUSH K19>
+                   <DEAD K19>
+                   <PUSH 'FLUSHED>
+                   <CALL '\1aSEQ-GEN 2>
+                   <JUMP + PHRASE274>
+PHRASE214
+                   <FRAME '\1aSEQ-GEN>
+                   <PUSH K19>
+                   <DEAD K19>
+                   <PUSH DEST18>
+                   <CALL '\1aSEQ-GEN 2 = TEMP36>
+                   <SET FOK30 TEMP36>
+                   <GVAL 'NO-DATUM = TEMP120>
+                   <EQUAL? TEMP120 FOK30 - PHRASE231>
+                   <DEAD TEMP120 FOK30>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP120 15 = TEMP120>
+                   <EMPTY? TEMP120 + PHRASE274>
+                   <DEAD TEMP120>
+                   <JUMP + PHRASE274>
+PHRASE231
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP120 15 = TEMP120>
+                   <GVAL 'NO-DATUM = TEMP95>
+                   <EQUAL? TEMP120 TEMP95 - PHRASE274>
+                   <DEAD TEMP120 TEMP95>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <PUTUV TEMP95 15 TEMP36>
+                   <DEAD TEMP95 TEMP36>
+                   <JUMP + PHRASE274>
+PHRASE203
+                   <EQUAL? DEST18 'FLUSHED - PHRASE246>
+                   <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE248>
+                   <TYPE? FOK30 <TYPE-CODE FALSE> + PHRASE248>
+                   <VEQUAL? TEMP36 0 + PHRASE248>
+                   <FRAME '\1aPSEQ-GEN>
+                   <PUSH K19>
+                   <DEAD K19>
+                   <PUSH 'FLUSHED>
+                   <PUSH BRANCH11>
+                   <PUSH DIR12>
+                   <DEAD DIR12>
+                   <PUSH %<>>
+                   <CALL '\1aPSEQ-GEN 5>
+                   <JUMP + PHRASE274>
+PHRASE248
+                   <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE251>
+                   <TYPE? DIR12 <TYPE-CODE FALSE> + PHRASE254>
+                   <DEAD DIR12>
+                   <VEQUAL? TEMP36 0 + PHRASE251>
+                   <DEAD TEMP36>
+                   <JUMP + PHRASE255>
+PHRASE254
+                   <TYPE? FOK30 <TYPE-CODE FALSE> + PHRASE251>
+                   <DEAD FOK30>
+PHRASE255
+                   <FRAME '\1aSEQ-GEN>
+                   <PUSH K19>
+                   <DEAD K19>
+                   <PUSH 'FLUSHED>
+                   <CALL '\1aSEQ-GEN 2>
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH BRANCH11>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <JUMP + PHRASE274>
+PHRASE251
+                   <FRAME '\1aSEQ-GEN>
+                   <PUSH K19>
+                   <DEAD K19>
+                   <PUSH 'FLUSHED>
+                   <CALL '\1aSEQ-GEN 2>
+                   <JUMP + PHRASE274>
+PHRASE246
+                   <FRAME '\1aSEQ-GEN>
+                   <PUSH K19>
+                   <DEAD K19>
+                   <PUSH DEST18>
+                   <PUSH 'T>
+                   <CALL '\1aSEQ-GEN 3 = TEMP36>
+                   <SET FOK30 TEMP36>
+                   <GVAL 'NO-DATUM = TEMP95>
+                   <EQUAL? TEMP95 FOK30 - PHRASE263>
+                   <DEAD TEMP95 FOK30>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP95 15 = TEMP95>
+                   <EMPTY? TEMP95 + PHRASE274>
+                   <DEAD TEMP95>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP95 15 = TEMP95>
+                   <GVAL 'NO-DATUM = TEMP120>
+                   <EQUAL? TEMP95 TEMP120 + PHRASE274>
+                   <DEAD TEMP95 TEMP120>
+                   <JUMP + PHRASE274>
+PHRASE263
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP120 15 = TEMP120>
+                   <GVAL 'NO-DATUM = TEMP95>
+                   <EQUAL? TEMP120 TEMP95 - PHRASE274>
+                   <DEAD TEMP120 TEMP95>
+                   <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
+                   <PUTUV TEMP95 15 TEMP36>
+                   <DEAD TEMP95 TEMP36>
+PHRASE274
+                   <GEN-ASSIGNED? 'NPRUNE + PHRASE280>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <PUTUV TEMP120 5 () (TYPE LIST)>
+                   <DEAD TEMP120>
+PHRASE280
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP120 9 = TEMP120>
+                   <GVAL 'REPEAT = TEMP77>
+                   <EQUAL? TEMP120 TEMP77 + PHRASE285>
+                   <DEAD TEMP120 TEMP77>
+                   <NTHR 'PNOD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP77 12 = TEMP77>
+                   <TYPE? TEMP77 <TYPE-CODE FALSE> + PHRASE289>
+                   <DEAD TEMP77>
+                   <FRAME '\1aPROG-END>
+                   <PUSH DEST18>
+                   <DEAD DEST18>
+                   <CALL '\1aPROG-END 1>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH MYFRAME89>
+                   <DEAD MYFRAME89>
+                   <CALL '\1aFREE-TEMP 1>
+                   <JUMP + PHRASE299>
+PHRASE289
+                   <NTHR 'SPECD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <TYPE? TEMP77 <TYPE-CODE FALSE> + PHRASE299>
+                   <DEAD TEMP77>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`UNBIND>
+                   <PUSH BNDTMP24>
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aFREE-TEMP>
+                   <PUSH BNDTMP24>
+                   <DEAD BNDTMP24>
+                   <CALL '\1aFREE-TEMP 1>
+                   <JUMP + PHRASE299>
+PHRASE285
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH TEMP121>
+                   <DEAD TEMP121>
+                   <CALL '\1aBRANCH-TAG 1>
+PHRASE299
+                   <FRAME '\1aLABEL-TAG>
+                   <PUSH EXIT15>
+                   <DEAD EXIT15>
+                   <CALL '\1aLABEL-TAG 1>
+                   <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <VEQUAL? TEMP77 0 + PHRASE303 (TYPE FIX)>
+                   <DEAD TEMP77>
+                   <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <NTHR 'STK 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <ADD TEMP77 TEMP120 = TEMP77 (TYPE FIX)>
+                   <DEAD TEMP120>
+                   <NTHR 'STK-CHARS8 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP120 1 TEMP77 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP120 TEMP77>
+                   <NTHR 'STK-CHARS7 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <NTHR 'STK 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <ADD TEMP77 TEMP120 = TEMP77 (TYPE FIX)>
+                   <DEAD TEMP120>
+                   <NTHR 'STK-CHARS7 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP120 1 TEMP77 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP120 TEMP77>
+                   <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP77 1 0 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP77>
+PHRASE303
+                   <NTHR 'PNOD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP77 12 = TEMP77>
+                   <TYPE? TEMP77 <TYPE-CODE FALSE> - PHRASE325>
+                   <DEAD TEMP77>
+                   <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <TYPE? TEMP77 <TYPE-CODE UNBOUND> + PHRASE327>
+                   <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <VEQUAL? TEMP77 0 + PHRASE329 (TYPE FIX)>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`SUB>
+                   <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <PUSH '=>
+                   <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <CONS 'FIX () = TEMP77>
+                   <CONS '`TYPE TEMP77 = STACK>
+                   <CALL '\1aIEMIT 6>
+                   <JUMP + PHRASE341>
+PHRASE329
+                   <NTHR 'STK-CHARS7 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <VEQUAL? TEMP77 0 + PHRASE341 (TYPE FIX)>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`IFSYS>
+                   <PUSH "TOPS20">
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`SUB>
+                   <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <NTHR 'STK-CHARS7 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <PUSH '=>
+                   <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <CALL '\1aIEMIT 5>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ENDIF>
+                   <PUSH "TOPS20">
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`IFSYS>
+                   <PUSH "UNIX">
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`SUB>
+                   <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <PUSH '=>
+                   <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <CALL '\1aIEMIT 5>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ENDIF>
+                   <PUSH "UNIX">
+                   <CALL '\1aIEMIT 2>
+PHRASE341
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ADJ>
+                   <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aFREE-TEMP>
+                   <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
+                   <CALL '\1aFREE-TEMP 1>
+                   <JUMP + PHRASE378>
+PHRASE327
+                   <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <VEQUAL? TEMP77 0 + PHRASE370 (TYPE FIX)>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ADJ>
+                   <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <SUB 0 TEMP77 = STACK (TYPE FIX)>
+                   <CALL '\1aIEMIT 2>
+                   <JUMP + PHRASE378>
+PHRASE370
+                   <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <VEQUAL? TEMP77 0 + PHRASE378 (TYPE FIX)>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`IFSYS>
+                   <PUSH "TOPS20">
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ADJ>
+                   <NTHR 'STK-CHARS7 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <SUB 0 TEMP77 = STACK (TYPE FIX)>
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ENDIF>
+                   <PUSH "TOPS20">
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`IFSYS>
+                   <PUSH "UNIX">
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ADJ>
+                   <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
+                   <SUB 0 TEMP77 = STACK (TYPE FIX)>
+                   <CALL '\1aIEMIT 2>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ENDIF>
+                   <PUSH "UNIX">
+                   <CALL '\1aIEMIT 2>
+PHRASE378
+                   <NTHR 'FREE-TEMPS 2 = OFREE-TEMPS27 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR OFREE-TEMPS27 1 = OFREE-TEMPS27 (RECORD-TYPE LBIND)>
+PHRASE325
+                   <UNBIND TEMP59>
+                   <DEAD TEMP59>
+                   <ADJ -36>
+                   <GEN-SET 'FREE-TEMPS OFREE-TEMPS27>
+                   <DEAD OFREE-TEMPS27>
+                   <FRAME '\1aREST>
+                   <GEN-LVAL 'TMPS = STACK>
+                   <FRAME '\1aLENGTH>
+                   <GEN-LVAL 'TMPS = STACK>
+                   <CALL '\1aLENGTH 1 = TEMP120>
+                   <SUB TEMP120 1 = STACK (TYPE FIX)>
+                   <DEAD TEMP120>
+                   <CALL '\1aREST 2 = TEMP120>
+                   <GEN-SET 'TMPS-NEXT TEMP120>
+                   <DEAD TEMP120>
+                   <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP120 15 = TEMP120>
+                   <GVAL 'NO-DATUM = TEMP121>
+                   <EQUAL? TEMP120 TEMP121 + BOOL407>
+                   <DEAD TEMP120 TEMP121>
+                   <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE406>
+                   <DEAD BRANCH11>
+BOOL407
+                   <NTHR 'PNOD 2 = TEMP121 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP121 1 = TEMP121 (RECORD-TYPE LBIND)>
+                   <NTHUV TEMP121 12 = TEMP121>
+                   <TYPE? TEMP121 <TYPE-CODE FALSE> + PHRASE411>
+                   <DEAD TEMP121>
+                   <EQUAL? PWHERE9 'FLUSHED + PHRASE411>
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH ORPNOD22>
+                   <DEAD ORPNOD22>
+                   <PUSH PWHERE9>
+                   <DEAD PWHERE9>
+                   <CALL '\1aMOVE-ARG 2 = TEMP121>
+                   <JUMP + PHRASE417>
+PHRASE411
+                   <GVAL 'NO-DATUM = TEMP121>
+                   <JUMP + PHRASE417>
+PHRASE406
+                   <FRAME '\1aMOVE-ARG>
+                   <PUSH ORPNOD22>
+                   <DEAD ORPNOD22>
+                   <PUSH PWHERE9>
+                   <DEAD PWHERE9>
+                   <CALL '\1aMOVE-ARG 2 = TEMP121>
+PHRASE417
+                   <UNBIND TEMP3>
+                   <DEAD TEMP3>
+                   <ADJ -81>
+                   <RETURN TEMP121>
+                   <DEAD TEMP121>
+                   <END \1aPROG-REP-GEN>
+
+#WORD *6352630665*
+                   <GFCN \1aPROG-END ("VALUE" ATOM ANY) RESULT4>
+                   <TEMP TEMP8:ATOM>
+                   <INTGO>
+                   <EQUAL? RESULT4 'FLUSHED - PHRASE6>
+                   <FRAME '\1aMIM-RETURN>
+                   <PUSH 'T>
+                   <CALL '\1aMIM-RETURN 1 = TEMP8>
+                   <RETURN TEMP8>
+                   <DEAD TEMP8>
+PHRASE6
+                   <FRAME '\1aMIM-RETURN>
+                   <PUSH RESULT4>
+                   <DEAD RESULT4>
+                   <CALL '\1aMIM-RETURN 1 = TEMP8>
+                   <RETURN TEMP8>
+                   <DEAD TEMP8>
+                   <END \1aPROG-END>
+
+#WORD *6336051540*
+                   <GFCN \1aACTIV? ("VALUE" <OR ATOM !<FALSE>> <LIST [REST SYMTAB]>) BST4>
+                   <TEMP TEMP5>
+                   <INTGO>
+                   <LOOP>
+AGAIN8
+                   <INTGO>
+                   <EMPL? BST4 - PHRASE10 (TYPE LIST)>
+                   <RETURN %<>>
+PHRASE10
+                   <NTHL BST4 1 = TEMP5 (TYPE SYMTAB)>
+                   <NTHUV TEMP5 4 = TEMP5 (TYPE FIX)>
+                   <VEQUAL? TEMP5 1 - PHRASE12 (TYPE FIX)>
+                   <DEAD TEMP5>
+                   <NTHL BST4 1 = TEMP5 (TYPE SYMTAB)>
+                   <NTHUV TEMP5 11 = TEMP5>
+                   <TYPE? TEMP5 <TYPE-CODE FALSE> + BOOL17>
+                   <DEAD TEMP5>
+                   <NTHL BST4 1 = TEMP5 (TYPE SYMTAB)>
+                   <NTHUV TEMP5 3 = TEMP5>
+                   <TYPE? TEMP5 <TYPE-CODE FALSE> + PHRASE12>
+                   <DEAD TEMP5>
+BOOL17
+                   <RETURN 'T>
+PHRASE12
+                   <RESTL BST4 1 = BST4 (TYPE LIST)>
+                   <JUMP + AGAIN8>
+                   <END \1aACTIV?>
+
+"\f"
+
+" Generate code for a RETURN."
+
+#WORD *12456413012*
+                   <GFCN \1aRETURN-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
+                   <TEMP (CD1-8 %<>) (NF10 0) (FOK13 %<>) TEMP25 RTA14 DEST9 LL11 RT12>
+                   <INTGO>
+                   <NTHUV NOD4 5 = CD1-8 (TYPE LIST)>
+                   <EMPL? CD1-8 + PHRASE20>
+                   <RESTL CD1-8 1 = CD1-8 (TYPE LIST)>
+                   <EMPL? CD1-8 - PHRASE20>
+                   <DEAD CD1-8>
+                   <GEN-LVAL 'RPNOD = NF10>
+                   <JUMP + PHRASE26>
+PHRASE20
+                   <NTHUV NOD4 5 = TEMP25 (TYPE LIST)>
+                   <RESTL TEMP25 1 = TEMP25 (TYPE LIST)>
+                   <NTHL TEMP25 1 = TEMP25 (TYPE NODE)>
+                   <NTHUV TEMP25 4 = TEMP25 (TYPE SYMTAB)>
+                   <NTHUV TEMP25 11 = CD1-8>
+                   <DEAD TEMP25>
+                   <TYPE? CD1-8 <TYPE-CODE FALSE> + PHRASE24>
+                   <SET NF10 CD1-8>
+                   <DEAD CD1-8>
+                   <JUMP + PHRASE26>
+PHRASE24
+                   <FRAME '\1aSUBR-GEN>
+                   <PUSH NOD4>
+                   <DEAD NOD4>
+                   <PUSH WHERE5>
+                   <DEAD WHERE5>
+                   <CALL '\1aSUBR-GEN 2 = CD1-8>
+                   <RETURN CD1-8>
+                   <DEAD CD1-8>
+PHRASE26
+                   <NTHUV NF10 17 = RTA14>
+                   <NTHUV NF10 14 = DEST9>
+                   <EQUAL? DEST9 'FLUSHED - PHRASE29>
+                   <NTHUV NF10 15 = LL11>
+                   <TYPE? LL11 <TYPE-CODE LIST> - PHRASE31>
+                   <GVAL 'NO-DATUM = TEMP25>
+                   <EQUAL? TEMP25 LL11 + PHRASE31>
+                   <DEAD TEMP25>
+                   <FRAME '\1aTYPE-OK?>
+                   <NTHUV NOD4 5 = TEMP25 (TYPE LIST)>
+                   <DEAD NOD4>
+                   <NTHL TEMP25 1 = CD1-8 (TYPE NODE)>
+                   <DEAD TEMP25>
+                   <NTHUV CD1-8 3 = RT12>
+                   <PUSH RT12>
+                   <PUSH 'FALSE>
+                   <CALL '\1aTYPE-OK? 2 = TEMP25>
+                   <TYPE? TEMP25 <TYPE-CODE FALSE> + PHRASE34>
+                   <DEAD TEMP25>
+                   <SET FOK13 'T (TYPE ATOM)>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH RT12>
+                   <DEAD RT12>
+                   <CALL '\1aISTYPE? 1 = TEMP25>
+                   <VEQUAL? TEMP25 'FALSE + PHRASE34>
+                   <DEAD TEMP25>
+                   <FRAME '\1aPRED-BRANCH-GEN>
+                   <NTHL LL11 1 = STACK>
+                   <PUSH CD1-8>
+                   <DEAD CD1-8>
+                   <RESTL LL11 1 = TEMP25 (TYPE LIST)>
+                   <DEAD LL11>
+                   <NTHL TEMP25 1 = STACK>
+                   <DEAD TEMP25>
+                   <PUSH 'FLUSHED>
+                   <PUSH %<>>
+                   <CALL '\1aPRED-BRANCH-GEN 5>
+                   <JUMP + PHRASE50>
+PHRASE34
+                   <RESTL LL11 1 = TEMP25 (TYPE LIST)>
+                   <NTHL TEMP25 1 = TEMP25>
+                   <TYPE? TEMP25 <TYPE-CODE FALSE> + PHRASE41>
+                   <DEAD TEMP25>
+                   <VEQUAL? FOK13 0 - PHRASE39>
+                   <DEAD FOK13>
+                   <JUMP + PHRASE42>
+PHRASE41
+                   <VEQUAL? FOK13 0 + PHRASE39>
+                   <DEAD FOK13>
+PHRASE42
+                   <NTHUV CD1-8 1 = TEMP25 (TYPE FIX)>
+                   <VEQUAL? TEMP25 2 + PHRASE44 (TYPE FIX)>
+                   <DEAD TEMP25>
+                   <FRAME '\1aGEN>
+                   <PUSH CD1-8>
+                   <DEAD CD1-8>
+                   <PUSH 'FLUSHED>
+                   <CALL '\1aGEN 2>
+PHRASE44
+                   <NTHL LL11 1 = RTA14>
+                   <DEAD LL11>
+                   <JUMP + PHRASE50>
+PHRASE39
+                   <NTHUV CD1-8 1 = TEMP25 (TYPE FIX)>
+                   <VEQUAL? TEMP25 2 + PHRASE50 (TYPE FIX)>
+                   <DEAD TEMP25>
+                   <FRAME '\1aGEN>
+                   <PUSH CD1-8>
+                   <DEAD CD1-8>
+                   <PUSH 'FLUSHED>
+                   <CALL '\1aGEN 2>
+                   <JUMP + PHRASE50>
+PHRASE31
+                   <FRAME '\1aGEN>
+                   <NTHUV NOD4 5 = TEMP25 (TYPE LIST)>
+                   <DEAD NOD4>
+                   <NTHL TEMP25 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP25>
+                   <PUSH 'FLUSHED>
+                   <CALL '\1aGEN 2>
+                   <JUMP + PHRASE50>
+PHRASE29
+                   <EQUAL? DEST9 'DONT-CARE - PHRASE52>
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = DEST9>
+PHRASE52
+                   <FRAME '\1aGEN>
+                   <NTHUV NOD4 5 = TEMP25 (TYPE LIST)>
+                   <DEAD NOD4>
+                   <NTHL TEMP25 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP25>
+                   <PUSH DEST9>
+                   <CALL '\1aGEN 2 = CD1-8>
+                   <NTHUV NF10 14 = TEMP25>
+                   <EQUAL? TEMP25 'DONT-CARE - PHRASE56>
+                   <DEAD TEMP25>
+                   <PUTUV NF10 14 CD1-8>
+PHRASE56
+                   <NTHUV NF10 15 = TEMP25>
+                   <GVAL 'NO-DATUM = FOK13>
+                   <EQUAL? TEMP25 FOK13 + PHRASE58>
+                   <DEAD TEMP25 FOK13>
+                   <FRAME '\1aDEALLOCATE-TEMP>
+                   <PUSH CD1-8>
+                   <CALL '\1aDEALLOCATE-TEMP 1>
+PHRASE58
+                   <PUTUV NF10 15 CD1-8>
+                   <DEAD CD1-8>
+PHRASE50
+                   <NTHUV NF10 12 = FOK13>
+                   <TYPE? FOK13 <TYPE-CODE FALSE> + PHRASE62>
+                   <DEAD FOK13>
+                   <FRAME '\1aPROG-END>
+                   <PUSH DEST9>
+                   <DEAD DEST9>
+                   <CALL '\1aPROG-END 1>
+                   <JUMP + PHRASE64>
+PHRASE62
+                   <NTHUV NF10 13 = FOK13>
+                   <TYPE? FOK13 <TYPE-CODE FALSE> + PHRASE66>
+                   <DEAD FOK13>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`UNBIND>
+                   <NTHUV NF10 13 = STACK>
+                   <DEAD NF10>
+                   <CALL '\1aIEMIT 2>
+PHRASE66
+                   <FRAME '\1aBRANCH-TAG>
+                   <PUSH RTA14>
+                   <DEAD RTA14>
+                   <CALL '\1aBRANCH-TAG 1>
+PHRASE64
+                   <GVAL 'NO-DATUM = CD1-8>
+                   <RETURN CD1-8>
+                   <DEAD CD1-8>
+                   <END \1aRETURN-GEN>
+
+#WORD *20213406350*
+                   <GFCN \1aMULTI-RETURN-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
+                   <TEMP (K6 %<>) FTMP10 N11 (LOCAL12 %<>) SEGTMP14 (I15:FIX 0) TEMP22 FR13 TEMP45 N61:NODE TEMP89 RES92>
+                   <INTGO>
+                   <NTHUV NOD4 5 = K6 (TYPE LIST)>
+                   <NTHL K6 1 = N11 (TYPE NODE)>
+                   <NTHUV N11 1 = TEMP22 (TYPE FIX)>
+                   <VEQUAL? TEMP22 2 - PHRASE21 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <SET LOCAL12 'T (TYPE ATOM)>
+                   <GEN-LVAL 'RPNOD = N11>
+                   <GEN-ASSIGNED? 'SEGLABEL - PHRASE33>
+                   <GEN-LVAL 'COUNTMP = FTMP10>
+                   <JUMP + PHRASE33>
+PHRASE21
+                   <NTHUV N11 1 = TEMP22 (TYPE FIX)>
+                   <VEQUAL? TEMP22 10 - PHRASE30 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <NTHUV N11 4 = TEMP22 (TYPE SYMTAB)>
+                   <NTHUV TEMP22 11 = TEMP22>
+                   <TYPE? TEMP22 <TYPE-CODE FALSE> + PHRASE30>
+                   <SET N11 TEMP22>
+                   <DEAD TEMP22>
+                   <SET FR13 0 (TYPE FIX)>
+                   <JUMP + PHRASE33>
+PHRASE30
+                   <FRAME '\1aGEN>
+                   <PUSH N11>
+                   <PUSH 'DONT-CARE>
+                   <CALL '\1aGEN 2 = FR13>
+PHRASE33
+                   <RESTL K6 1 = TEMP45 (TYPE LIST)>
+                   <LOOP>
+MAP36
+                   <INTGO>
+                   <EMPL? TEMP45 + MAPAP39>
+                   <NTHL TEMP45 1 = TEMP22>
+                   <NTHUV TEMP22 1 = TEMP22 (TYPE FIX)>
+                   <VEQUAL? TEMP22 3 + PHRASE48 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <ADD I15 1 = I15 (TYPE FIX)>
+PHRASE48
+                   <RESTL TEMP45 1 = TEMP45 (TYPE LIST)>
+                   <JUMP + MAP36>
+MAPAP39
+                   <RESTL K6 1 = TEMP22 (TYPE LIST)>
+                   <DEAD K6>
+                   <LOOP>
+MAP51
+                   <INTGO>
+                   <EMPL? TEMP22 + MAPAP54>
+                   <NTHL TEMP22 1 = K6>
+                   <NTHUV K6 1 = TEMP45 (TYPE FIX)>
+                   <VEQUAL? TEMP45 3 - PHRASE64 (TYPE FIX)>
+                   <DEAD TEMP45>
+                   <TYPE? SEGTMP14 <TYPE-CODE UNBOUND> - PHRASE67>
+                   <TYPE? FTMP10 <TYPE-CODE UNBOUND> + PHRASE69>
+                   <VEQUAL? I15 0 + PHRASE75 (TYPE FIX)>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`ADD>
+                   <PUSH FTMP10>
+                   <PUSH I15>
+                   <PUSH '=>
+                   <PUSH FTMP10>
+                   <CALL '\1aIEMIT 5>
+                   <JUMP + PHRASE75>
+PHRASE69
+                   <FRAME '\1aGEN-TEMP>
+                   <CALL '\1aGEN-TEMP 0 = FTMP10>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`SET>
+                   <PUSH FTMP10>
+                   <PUSH I15>
+                   <CALL '\1aIEMIT 3>
+PHRASE75
+                   <FRAME '\1aGEN-TEMP>
+                   <PUSH %<>>
+                   <CALL '\1aGEN-TEMP 1 = SEGTMP14>
+PHRASE67
+                   <FRAME '\1aSTRUCTYP-SEG>
+                   <NTHUV K6 5 = TEMP45 (TYPE LIST)>
+                   <DEAD K6>
+                   <NTHL TEMP45 1 = N61 (TYPE NODE)>
+                   <DEAD TEMP45>
+                   <NTHUV N61 3 = STACK>
+                   <CALL '\1aSTRUCTYP-SEG 1 = K6>
+                   <VEQUAL? LOCAL12 0 + PHRASE81>
+                   <FRAME '\1aGEN>
+                   <PUSH N61>
+                   <PUSH SEGTMP14>
+                   <CALL '\1aGEN 2>
+                   <FRAME '\1aSEGMENT-STACK>
+                   <PUSH SEGTMP14>
+                   <PUSH FTMP10>
+                   <PUSH K6>
+                   <DEAD K6>
+                   <FRAME '\1aISTYPE?>
+                   <NTHUV N61 3 = STACK>
+                   <DEAD N61>
+                   <CALL '\1aISTYPE? 1 = STACK>
+                   <CALL '\1aSEGMENT-STACK 4>
+                   <JUMP + PHRASE110>
+PHRASE81
+                   <GETS 'BIND = TEMP45 (TYPE LBIND)>
+                   <FRAME '\1aMAKE-TAG>
+                   <CALL '\1aMAKE-TAG 0 = TEMP89>
+                   <BBIND 'SEGLABEL 'ANY 'FIX TEMP89>
+                   <DEAD TEMP89>
+                   <BBIND 'COUNTMP 'ANY 'FIX FTMP10>
+                   <BBIND 'SEGCALLED 'ANY 'FIX %<>>
+                   <FRAME '\1aGEN>
+                   <PUSH N61>
+                   <PUSH SEGTMP14>
+                   <CALL '\1aGEN 2 = RES92>
+                   <GVAL 'NO-DATUM = TEMP89>
+                   <EQUAL? TEMP89 RES92 - BOOL97>
+                   <DEAD TEMP89 RES92>
+                   <EQUAL? K6 'MULTI + PHRASE96>
+BOOL97
+                   <FRAME '\1aSEGMENT-STACK>
+                   <PUSH SEGTMP14>
+                   <NTHR 'COUNTMP 2 = TEMP89 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP89 1 = STACK (RECORD-TYPE LBIND)>
+                   <DEAD TEMP89>
+                   <PUSH K6>
+                   <DEAD K6>
+                   <FRAME '\1aISTYPE?>
+                   <NTHUV N61 3 = STACK>
+                   <DEAD N61>
+                   <CALL '\1aISTYPE? 1 = STACK>
+                   <NTHR 'SEGLABEL 2 = TEMP89 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP89 1 = STACK (RECORD-TYPE LBIND)>
+                   <DEAD TEMP89>
+                   <CALL '\1aSEGMENT-STACK 5>
+                   <JUMP + PHRASE104>
+PHRASE96
+                   <NTHR 'SEGCALLED 2 = TEMP89 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP89 1 = TEMP89 (RECORD-TYPE LBIND)>
+                   <TYPE? TEMP89 <TYPE-CODE FALSE> + PHRASE104>
+                   <DEAD TEMP89>
+                   <FRAME '\1aLABEL-TAG>
+                   <NTHR 'SEGLABEL 2 = TEMP89 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP89 1 = STACK (RECORD-TYPE LBIND)>
+                   <DEAD TEMP89>
+                   <CALL '\1aLABEL-TAG 1>
+PHRASE104
+                   <UNBIND TEMP45>
+                   <DEAD TEMP45>
+                   <ADJ -27>
+                   <JUMP + PHRASE110>
+PHRASE64
+                   <FRAME '\1aGEN>
+                   <PUSH K6>
+                   <DEAD K6>
+                   <GVAL 'POP-STACK = STACK>
+                   <CALL '\1aGEN 2>
+PHRASE110
+                   <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
+                   <JUMP + MAP51>
+MAPAP54
+                   <VEQUAL? LOCAL12 0 + PHRASE113>
+                   <NTHUV N11 14 = TEMP22>
+                   <EQUAL? TEMP22 'FLUSHED + BOOL115>
+                   <DEAD TEMP22>
+                   <GEN-ASSIGNED? 'SEGLABEL + PHRASE113>
+BOOL115
+                   <FRAME '\1aCOMPILE-ERROR>
+                   <PUSH "MULTI-RETURN to nothing">
+                   <PUSH NOD4>
+                   <DEAD NOD4>
+                   <CALL '\1aCOMPILE-ERROR 2>
+                   <JUMP + PHRASE129>
+PHRASE113
+                   <VEQUAL? LOCAL12 0 + PHRASE118>
+                   <DEAD LOCAL12>
+                   <GEN-ASSIGNED? 'SEGLABEL - PHRASE118>
+                   <TYPE? SEGTMP14 <TYPE-CODE UNBOUND> - PHRASE121>
+                   <DEAD SEGTMP14>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`SET>
+                   <PUSH FTMP10>
+                   <DEAD FTMP10>
+                   <PUSH I15>
+                   <DEAD I15>
+                   <CALL '\1aIEMIT 3>
+PHRASE121
+                   <NTHUV N11 13 = FTMP10>
+                   <TYPE? FTMP10 <TYPE-CODE FALSE> + PHRASE124>
+                   <DEAD FTMP10>
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`UNBIND>
+                   <NTHUV N11 13 = STACK>
+                   <DEAD N11>
+                   <CALL '\1aIEMIT 2>
+PHRASE124
+                   <FRAME '\1aBRANCH-TAG>
+                   <GEN-LVAL 'SEGLABEL = STACK>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <JUMP + PHRASE129>
+PHRASE118
+                   <FRAME '\1aIEMIT>
+                   <PUSH '`MRETURN>
+                   <TYPE? FTMP10 <TYPE-CODE UNBOUND> + PHRASE132>
+                   <SET TEMP45 FTMP10>
+                   <DEAD FTMP10>
+                   <JUMP + PHRASE133>
+PHRASE132
+                   <SET TEMP45 I15>
+                   <DEAD I15>
+PHRASE133
+                   <PUSH TEMP45>
+                   <DEAD TEMP45>
+                   <PUSH FR13>
+                   <DEAD FR13>
+                   <CALL '\1aIEMIT 3>
+PHRASE129
+                   <GVAL 'NO-DATUM = FTMP10>
+                   <RETURN FTMP10>
+                   <DEAD FTMP10>
+                   <END \1aMULTI-RETURN-GEN>
+
+"\f"
+
+" Generate code for an AGAIN."
+
+#WORD *22677501762*
+                   <GFCN \1aAGAIN-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
+                   <TEMP TEMP14>
+                   <INTGO>
+                   <NTHUV NOD4 5 = TEMP14 (TYPE LIST)>
+                   <EMPL? TEMP14 - PHRASE13 (TYPE LIST)>
+                   <DEAD TEMP14>
+                   <GEN-LVAL 'RPNOD = TEMP14>
+                   <JUMP + PHRASE19>
+PHRASE13
+                   <NTHUV NOD4 5 = TEMP14 (TYPE LIST)>
+                   <NTHL TEMP14 1 = TEMP14 (TYPE NODE)>
+                   <NTHUV TEMP14 4 = TEMP14 (TYPE SYMTAB)>
+                   <NTHUV TEMP14 11 = TEMP14>
+                   <TYPE? TEMP14 <TYPE-CODE FALSE> - PHRASE19>
+                   <FRAME '\1aSUBR-GEN>
+                   <PUSH NOD4>
+                   <DEAD NOD4>
+                   <PUSH WHERE5>
+                   <DEAD WHERE5>
+                   <CALL '\1aSUBR-GEN 2 = TEMP14>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE19
+                   <FRAME '\1aBRANCH-TAG>
+                   <NTHUV TEMP14 16 = STACK>
+                   <DEAD TEMP14>
+                   <CALL '\1aBRANCH-TAG 1>
+                   <GVAL 'NO-DATUM = TEMP14>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+                   <END \1aAGAIN-GEN>
+
+#WORD *652007507*
+                   <GFCN \1aUNBIND-LOCS ("VALUE" ATOM)>
+                   <TEMP>
+                   <INTGO>
+                   <RETURN 'T>
+                   <END \1aUNBIND-LOCS>
+
+<ENDPACKAGE>