Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / mimc / notana.mima
diff --git a/mim/development/mim/mimc/notana.mima b/mim/development/mim/mimc/notana.mima
new file mode 100644 (file)
index 0000000..80a910c
--- /dev/null
@@ -0,0 +1,1404 @@
+
+<PACKAGE "NOTANA">
+
+<ENTRY NOT-ANA TYPE?-ANA ==?-ANA VALID-TYPE?-ANA TYPE-C-ANA =?-ANA S=?-ANA STRCOMP-ANA SUBSTRUC-ANA ATOM-PART-ANA OFFSET-PART-ANA PUT-GET-DECL-ANA>
+
+<USE "SYMANA" "CHKDCL" "COMPDEC" "CARANA" "ADVMESS" "NPRINT">
+
+"      This module contains analysis and generation functions for
+NOT, TYPE? and ==?.  See SYMANA for more details about ANALYSIS and
+CODGEN for more detali abour code generation.
+"
+
+"Analyze NOT usage make sure arg can be FALSE."
+
+#WORD *21516404076*
+<GFCN \1aNOT-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
+                   <TEMP TEMP11 TEMP14 STR8 SUNT9:LIST TEM6>
+                   <INTGO>
+                   <GEN-LVAL 'PRED = TEMP11>
+                   <NTHUV NOD4 2 = TEMP14>
+                   <EQUAL? TEMP11 TEMP14 - TAG10>
+                   <DEAD TEMP11 TEMP14>
+                   <SET TEMP11 'T (TYPE ATOM)>
+                   <JUMP + TAG15>
+TAG10
+                   <SET TEMP11 %<> (TYPE FALSE)>
+TAG15
+                   <GEN-LVAL 'TRUTH = STR8>
+                   <GEN-LVAL 'UNTRUTH = SUNT9>
+                   <GETS 'BIND = TEMP14 (TYPE LBIND)>
+                   <VEQUAL? TEMP11 0 + BOOL23>
+                   <SET TEMP11 NOD4>
+BOOL23
+                   <BBIND 'PRED 'ANY 'FIX TEMP11>
+                   <DEAD TEMP11>
+                   <BBIND 'TRUTH 'LIST 'FIX ()>
+                   <BBIND 'UNTRUTH 'LIST 'FIX ()>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH NOD4>
+                   <DEAD NOD4>
+                   <PUSH RTYP5>
+                   <DEAD RTYP5>
+                   <CALL '\1aSEGFLUSH 2 = TEM6>
+                   <TYPE? TEM6 <TYPE-CODE FALSE> + PHRASE29>
+                   <SET TEMP11 %<> (TYPE FALSE)>
+                   <JUMP + PHRASE31>
+PHRASE29
+                   <FRAME '\1aARGCHK>
+                   <NTHUV NOD4 5 = TEMP11 (TYPE LIST)>
+                   <LENL TEMP11 = STACK (TYPE FIX)>
+                   <PUSH 1>
+                   <PUSH 'NOT>
+                   <PUSH NOD4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aANA>
+                   <NTHUV NOD4 5 = TEMP11 (TYPE LIST)>
+                   <NTHL TEMP11 1 = STACK (TYPE NODE)>
+                   <PUSH 'ANY>
+                   <CALL '\1aANA 2 = TEM6>
+                   <PUTUV NOD4 1 20 (TYPE FIX)>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH TEM6>
+                   <CALL '\1aISTYPE? 1 = TEMP11>
+                   <VEQUAL? TEMP11 'FALSE - PHRASE35>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'BOOL-TRUE>
+                   <PUSH RTYP5>
+                   <CALL '\1aTYPE-OK? 2 = TEM6>
+                   <JUMP + PHRASE41>
+PHRASE35
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH TEM6>
+                   <PUSH 'FALSE>
+                   <CALL '\1aTYPE-OK? 2 = TEMP11>
+                   <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE38>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'BOOLEAN>
+                   <PUSH RTYP5>
+                   <CALL '\1aTYPE-OK? 2 = TEM6>
+                   <JUMP + PHRASE41>
+PHRASE38
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'BOOL-FALSE>
+                   <PUSH RTYP5>
+                   <CALL '\1aTYPE-OK? 2 = TEM6>
+PHRASE41
+                   <NTHR 'UNTRUTH 2 = TEMP11 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP11 1 = STR8 (RECORD-TYPE LBIND)>
+                   <NTHR 'TRUTH 2 = TEMP11 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP11 1 = SUNT9 (RECORD-TYPE LBIND)>
+PHRASE31
+                   <UNBIND TEMP14>
+                   <DEAD TEMP14>
+                   <ADJ -27>
+                   <VEQUAL? TEMP11 0 + PHRASE48>
+                   <DEAD TEMP11>
+                   <SET TEMP11 0 (TYPE FIX)>
+                   <SET TEMP14 STR8>
+                   <DEAD STR8>
+                   <LOOP (TEMP14 VALUE) (TEMP11 VALUE)>
+TAG50
+                   <INTGO>
+                   <EMPL? TEMP14 + TAG49>
+                   <NTHL TEMP14 1 = STACK>
+                   <RESTL TEMP14 1 = TEMP14 (TYPE LIST)>
+                   <ADD TEMP11 1 = TEMP11 (TYPE FIX)>
+                   <JUMP + TAG50>
+TAG49
+                   <GEN-LVAL 'TRUTH = TEMP14>
+                   <TYPE TEMP14 = STR8>
+                   <AND STR8 7 = STR8>
+                   <VEQUAL? STR8 1 + TAG55>
+                   <DEAD STR8>
+                   <LOOP (TEMP14 TYPE VALUE LENGTH) (TEMP11 VALUE)>
+TAG61
+                   <INTGO>
+                   <EMPTY? TEMP14 + TAG60>
+                   <NTH1 TEMP14 = STACK>
+                   <REST1 TEMP14 = TEMP14>
+                   <ADD TEMP11 1 = TEMP11 (TYPE FIX)>
+                   <JUMP + TAG61>
+TAG60
+                   <LIST TEMP11 = TEMP14 (TYPE LIST)>
+                   <DEAD TEMP11>
+                   <JUMP + TAG57>
+TAG55
+                   <LOOP>
+TAG58
+                   <VEQUAL? TEMP11 0 + TAG57>
+                   <POP = STR8>
+                   <CONS STR8 TEMP14 = TEMP14 (TYPE LIST)>
+                   <DEAD STR8>
+                   <SUB TEMP11 1 = TEMP11 (TYPE FIX)>
+                   <JUMP + TAG58>
+TAG57
+                   <GEN-SET 'TRUTH TEMP14>
+                   <DEAD TEMP14>
+                   <SET TEMP14 0 (TYPE FIX)>
+                   <SET STR8 SUNT9>
+                   <DEAD SUNT9>
+                   <LOOP (STR8 VALUE) (TEMP14 VALUE)>
+TAG66
+                   <INTGO>
+                   <EMPL? STR8 + TAG64>
+                   <NTHL STR8 1 = STACK>
+                   <RESTL STR8 1 = STR8 (TYPE LIST)>
+                   <ADD TEMP14 1 = TEMP14 (TYPE FIX)>
+                   <JUMP + TAG66>
+TAG64
+                   <GEN-LVAL 'UNTRUTH = STR8>
+                   <TYPE STR8 = TEMP11>
+                   <AND TEMP11 7 = TEMP11>
+                   <VEQUAL? TEMP11 1 + TAG71>
+                   <DEAD TEMP11>
+                   <LOOP (STR8 TYPE VALUE LENGTH) (TEMP14 VALUE)>
+TAG77
+                   <INTGO>
+                   <EMPTY? STR8 + TAG76>
+                   <NTH1 STR8 = STACK>
+                   <REST1 STR8 = STR8>
+                   <ADD TEMP14 1 = TEMP14 (TYPE FIX)>
+                   <JUMP + TAG77>
+TAG76
+                   <LIST TEMP14 = STR8 (TYPE LIST)>
+                   <DEAD TEMP14>
+                   <JUMP + TAG73>
+TAG71
+                   <LOOP>
+TAG74
+                   <VEQUAL? TEMP14 0 + TAG73>
+                   <POP = TEMP11>
+                   <CONS TEMP11 STR8 = STR8 (TYPE LIST)>
+                   <DEAD TEMP11>
+                   <SUB TEMP14 1 = TEMP14 (TYPE FIX)>
+                   <JUMP + TAG74>
+TAG73
+                   <GEN-SET 'UNTRUTH STR8>
+                   <DEAD STR8>
+PHRASE48
+                   <RETURN TEM6>
+                   <DEAD TEM6>
+                   <END \1aNOT-ANA>
+"      Analyze N==? and ==? usage.  Complain if types differ such that
+ the args  can never be ==?."
+
+#WORD *1401527076*
+<GFCN \1a==?-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
+                   <TEMP K6:LIST TEMP3:LBIND TEMP16 TEMP19 KT9:LIST>
+                   <INTGO>
+                   <NTHUV NOD4 5 = K6 (TYPE LIST)>
+                   <GETS 'BIND = TEMP3 (TYPE LBIND)>
+                   <GEN-LVAL 'PRED = TEMP16>
+                   <NTHUV NOD4 2 = TEMP19>
+                   <EQUAL? TEMP16 TEMP19 + TAG15>
+                   <DEAD TEMP16 TEMP19>
+                   <SET TEMP16 %<> (TYPE FALSE)>
+                   <JUMP + BOOL13>
+TAG15
+                   <SET TEMP16 NOD4>
+BOOL13
+                   <BBIND 'WHON 'NODE 'FIX TEMP16>
+                   <DEAD TEMP16>
+                   <BBIND 'WHO 'LIST 'FIX ()>
+                   <BBIND 'GLN 'NODE 'FIX NOD4>
+                   <BBIND 'GLE 'LIST 'FIX ()>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH NOD4>
+                   <PUSH RTYP5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP16>
+                   <TYPE? TEMP16 <TYPE-CODE FALSE> - PHRASE53>
+                   <EMPL? K6 + PHRASE24>
+                   <RESTL K6 1 = TEMP19 (TYPE LIST)>
+                   <EMPL? TEMP19 - PHRASE24>
+                   <DEAD TEMP19>
+                   <NTHUV NOD4 5 = TEMP19 (TYPE LIST)>
+                   <NTHL TEMP19 1 = TEMP16 (TYPE NODE)>
+                   <DEAD TEMP19>
+                   <NTHUV TEMP16 1 = TEMP19 (TYPE FIX)>
+                   <VEQUAL? TEMP19 6 - PHRASE24 (TYPE FIX)>
+                   <DEAD TEMP19>
+                   <NTHUV TEMP16 4 = TEMP19>
+                   <EQUAL? TEMP19 'LENGTH - PHRASE24>
+                   <DEAD TEMP19>
+                   <NTHUV TEMP16 5 = KT9 (TYPE LIST)>
+                   <DEAD TEMP16>
+                   <EMPL? KT9 + PHRASE24>
+                   <RESTL KT9 1 = TEMP19 (TYPE LIST)>
+                   <EMPL? TEMP19 + PHRASE24>
+                   <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
+                   <EMPL? TEMP19 - PHRASE24>
+                   <DEAD TEMP19>
+                   <FRAME '\1aCOMPILE-WARNING>
+                   <PUSH "Attempting to repair probable erroneous code:
+">
+                   <PUSH NOD4>
+                   <PUSH "
+replaced by">
+                   <CALL '\1aCOMPILE-WARNING 3>
+                   <RESTL KT9 1 = TEMP16 (TYPE LIST)>
+                   <PUTREST K6 TEMP16>
+                   <DEAD TEMP16>
+                   <PUTREST KT9 ()>
+                   <NTHL KT9 1 = TEMP16 (TYPE NODE)>
+                   <DEAD KT9>
+                   <PUTUV TEMP16 2 NOD4>
+                   <DEAD TEMP16>
+                   <FRAME '\1aNODE-COMPLAIN>
+                   <PUSH NOD4>
+                   <CALL '\1aNODE-COMPLAIN 1>
+                   <FRAME '\1aCRLF>
+                   <GEN-LVAL 'OUTCHAN = STACK>
+                   <CALL '\1aCRLF 1>
+PHRASE24
+                   <FRAME '\1aARGCHK>
+                   <PUSH 2>
+                   <LENL K6 = STACK (TYPE FIX)>
+                   <PUSH '==?>
+                   <PUSH NOD4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <PUSH 'ANY>
+                   <CALL '\1aANA 2>
+                   <FRAME '\1aANA>
+                   <RESTL K6 1 = TEMP16 (TYPE LIST)>
+                   <NTHL TEMP16 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP16>
+                   <PUSH 'ANY>
+                   <CALL '\1aANA 2>
+                   <NTHL K6 1 = TEMP16 (TYPE NODE)>
+                   <NTHUV TEMP16 1 = TEMP16 (TYPE FIX)>
+                   <VEQUAL? TEMP16 2 - PHRASE38 (TYPE FIX)>
+                   <DEAD TEMP16>
+                   <RESTL K6 1 = TEMP16 (TYPE LIST)>
+                   <NTHL TEMP16 1 = TEMP16 (TYPE NODE)>
+                   <NTHUV TEMP16 1 = TEMP16 (TYPE FIX)>
+                   <VEQUAL? TEMP16 2 - PHRASE38 (TYPE FIX)>
+                   <DEAD TEMP16>
+                   <NTHUV NOD4 4 = TEMP16>
+                   <EQUAL? TEMP16 '==? - PHRASE41>
+                   <DEAD TEMP16>
+                   <NTHL K6 1 = TEMP16 (TYPE NODE)>
+                   <NTHUV TEMP16 4 = TEMP16>
+                   <RESTL K6 1 = TEMP19 (TYPE LIST)>
+                   <DEAD K6>
+                   <NTHL TEMP19 1 = TEMP19 (TYPE NODE)>
+                   <NTHUV TEMP19 4 = TEMP19>
+                   <EQUAL? TEMP16 TEMP19 - TAG42>
+                   <DEAD TEMP16 TEMP19>
+                   <SET TEMP19 'T (TYPE ATOM)>
+                   <JUMP + TAG44>
+TAG42
+                   <SET TEMP19 %<> (TYPE FALSE)>
+TAG44
+                   <PUTUV NOD4 4 TEMP19>
+                   <DEAD TEMP19>
+                   <JUMP + PHRASE45>
+PHRASE41
+                   <NTHL K6 1 = TEMP19 (TYPE NODE)>
+                   <NTHUV TEMP19 4 = TEMP19>
+                   <RESTL K6 1 = TEMP16 (TYPE LIST)>
+                   <DEAD K6>
+                   <NTHL TEMP16 1 = TEMP16 (TYPE NODE)>
+                   <NTHUV TEMP16 4 = TEMP16>
+                   <EQUAL? TEMP19 TEMP16 + TAG46>
+                   <DEAD TEMP19 TEMP16>
+                   <SET TEMP16 'T (TYPE ATOM)>
+                   <JUMP + TAG47>
+TAG46
+                   <SET TEMP16 %<> (TYPE FALSE)>
+TAG47
+                   <PUTUV NOD4 4 TEMP16>
+                   <DEAD TEMP16>
+PHRASE45
+                   <PUTUV NOD4 5 () (TYPE LIST)>
+                   <PUTUV NOD4 1 2 (TYPE FIX)>
+                   <NTHUV NOD4 4 = TEMP16>
+                   <DEAD NOD4>
+                   <VEQUAL? TEMP16 0 + PHRASE49>
+                   <DEAD TEMP16>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'ATOM>
+                   <PUSH RTYP5>
+                   <DEAD RTYP5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP16>
+                   <JUMP + PHRASE53>
+PHRASE49
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'FALSE>
+                   <PUSH RTYP5>
+                   <DEAD RTYP5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP16>
+                   <JUMP + PHRASE53>
+PHRASE38
+                   <PUTUV NOD4 1 23 (TYPE FIX)>
+                   <FRAME '\1aISTYPE?>
+                   <NTHL K6 1 = TEMP16 (TYPE NODE)>
+                   <NTHUV TEMP16 3 = STACK>
+                   <DEAD TEMP16>
+                   <CALL '\1aISTYPE? 1 = TEMP16>
+                   <VEQUAL? TEMP16 'FIX - PHRASE55>
+                   <DEAD TEMP16>
+                   <FRAME '\1aISTYPE?>
+                   <RESTL K6 1 = TEMP16 (TYPE LIST)>
+                   <NTHL TEMP16 1 = TEMP16 (TYPE NODE)>
+                   <NTHUV TEMP16 3 = STACK>
+                   <DEAD TEMP16>
+                   <CALL '\1aISTYPE? 1 = TEMP16>
+                   <VEQUAL? TEMP16 'FIX - PHRASE55>
+                   <DEAD TEMP16>
+                   <PUTUV NOD4 1 22 (TYPE FIX)>
+                   <FRAME '\1aHACK-BOUNDS>
+                   <NTHR 'WHO 2 = TEMP16 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP16 1 = STACK (RECORD-TYPE LBIND)>
+                   <DEAD TEMP16>
+                   <NTHR 'GLE 2 = TEMP16 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP16 1 = STACK (RECORD-TYPE LBIND)>
+                   <DEAD TEMP16>
+                   <PUSH NOD4>
+                   <DEAD NOD4>
+                   <PUSH K6>
+                   <DEAD K6>
+                   <CALL '\1aHACK-BOUNDS 4>
+PHRASE55
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'BOOLEAN>
+                   <PUSH RTYP5>
+                   <DEAD RTYP5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP16>
+PHRASE53
+                   <UNBIND TEMP3>
+                   <DEAD TEMP3>
+                   <ADJ -36>
+                   <RETURN TEMP16>
+                   <DEAD TEMP16>
+                   <END \1a==?-ANA>
+"      Ananlyze TYPE? usage warn about any potential losers by using
+TYPE-OK?. "
+
+#WORD *23674654532*
+<GFCN \1aTYPE?-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
+                   <TEMP K6 LN7 (ALLGOOD9 'T) TEMP3:LBIND (FTYP11:LIST ()) (FNOK12 %<>) TEMP18 TEMP21 FLG78 TEMP83>
+                   <INTGO>
+                   <NTHUV NOD4 5 = K6 (TYPE LIST)>
+                   <LENL K6 = LN7 (TYPE FIX)>
+                   <GETS 'BIND = TEMP3 (TYPE LBIND)>
+                   <BBIND 'WHO 'LIST 'FIX ()>
+                   <GEN-LVAL 'PRED = TEMP18>
+                   <NTHUV NOD4 2 = TEMP21>
+                   <EQUAL? TEMP18 TEMP21 + TAG17>
+                   <DEAD TEMP18 TEMP21>
+                   <SET TEMP18 %<> (TYPE FALSE)>
+                   <JUMP + BOOL15>
+TAG17
+                   <SET TEMP18 NOD4>
+BOOL15
+                   <BBIND 'WHON <OR NODE FALSE> 'FIX TEMP18>
+                   <DEAD TEMP18>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH NOD4>
+                   <PUSH RTYP5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP18>
+                   <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE23>
+                   <DEAD TEMP18>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH RTYP5>
+                   <DEAD RTYP5>
+                   <PUSH <OR ATOM FALSE>>
+                   <CALL '\1aTYPE-OK? 2 = TEMP18>
+                   <JUMP + PHRASE26>
+PHRASE23
+                   <LESS? LN7 2 - PHRASE28 (TYPE FIX)>
+                   <DEAD LN7>
+                   <FRAME '\1aCOMPILE-ERROR>
+                   <PUSH "Too few arguments to TYPE? ">
+                   <PUSH NOD4>
+                   <CALL '\1aCOMPILE-ERROR 2>
+PHRASE28
+                   <FRAME '\1aEANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <PUSH 'ANY>
+                   <PUSH 'TYPE?>
+                   <CALL '\1aEANA 3 = TEMP18>
+                   <RESTL K6 1 = TEMP21 (TYPE LIST)>
+                   <DEAD K6>
+                   <LOOP>
+MAP32
+                   <INTGO>
+                   <EMPL? TEMP21 + MAPAP35>
+                   <NTHL TEMP21 1 = K6>
+                   <FRAME '\1aEANA>
+                   <PUSH K6>
+                   <PUSH 'ATOM>
+                   <PUSH 'TYPE?>
+                   <CALL '\1aEANA 3>
+                   <NTHUV K6 1 = LN7 (TYPE FIX)>
+                   <VEQUAL? LN7 2 + PHRASE48 (TYPE FIX)>
+                   <DEAD LN7>
+                   <SET ALLGOOD9 %<> (TYPE FALSE)>
+                   <JUMP + BOOL54>
+PHRASE48
+                   <FRAME '\1aISTYPE?>
+                   <NTHUV K6 4 = STACK>
+                   <CALL '\1aISTYPE? 1 = LN7>
+                   <TYPE? LN7 <TYPE-CODE FALSE> - PHRASE51>
+                   <DEAD LN7>
+                   <FRAME '\1aCOMPILE-ERROR>
+                   <PUSH "Argument to TYPE? not a type ">
+                   <PUSH NOD4>
+                   <CALL '\1aCOMPILE-ERROR 2>
+PHRASE51
+                   <FRAME '\1aTYPE-OK?>
+                   <NTHUV K6 4 = STACK>
+                   <PUSH TEMP18>
+                   <CALL '\1aTYPE-OK? 2 = LN7>
+                   <TYPE? LN7 <TYPE-CODE FALSE> + BOOL54>
+                   <DEAD LN7>
+                   <NTHUV K6 4 = LN7>
+                   <DEAD K6>
+                   <CONS LN7 FTYP11 = FTYP11>
+                   <DEAD LN7>
+BOOL54
+                   <RESTL TEMP21 1 = TEMP21 (TYPE LIST)>
+                   <JUMP + MAP32>
+MAPAP35
+                   <VEQUAL? ALLGOOD9 0 + PHRASE57>
+                   <EMPL? FTYP11 + PHRASE57 (TYPE LIST)>
+                   <RESTL FTYP11 1 = TEMP21 (TYPE LIST)>
+                   <EMPL? TEMP21 - PHRASE60 (TYPE LIST)>
+                   <DEAD TEMP21>
+                   <NTHL FTYP11 1 = LN7>
+                   <JUMP + PHRASE61>
+PHRASE60
+                   <CONS 'OR FTYP11 = TEMP21>
+                   <CHTYPE TEMP21 <TYPE-CODE FORM> = LN7>
+                   <DEAD TEMP21>
+PHRASE61
+                   <PUTUV NOD4 1 24 (TYPE FIX)>
+                   <DEAD NOD4>
+                   <FRAME '\1aTYPE-OK?>
+                   <FRAME '\1aFORM>
+                   <PUSH 'NOT>
+                   <PUSH LN7>
+                   <CALL '\1aFORM 2 = STACK>
+                   <PUSH TEMP18>
+                   <DEAD TEMP18>
+                   <CALL '\1aTYPE-OK? 2 = TEMP21>
+                   <TYPE? TEMP21 <TYPE-CODE FALSE> - TAG62>
+                   <DEAD TEMP21>
+                   <SET FNOK12 'T (TYPE ATOM)>
+                   <JUMP + TAG63>
+TAG62
+                   <SET FNOK12 %<> (TYPE FALSE)>
+TAG63
+                   <NTHR 'WHO 2 = TEMP21 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <NTHR TEMP21 1 = TEMP18 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP21>
+                   <LOOP>
+MAP67
+                   <INTGO>
+                   <EMPL? TEMP18 + PHRASE95>
+                   <NTHL TEMP18 1 = K6>
+                   <NTHL K6 1 = FLG78>
+                   <RESTL K6 1 = TEMP21 (TYPE LIST)>
+                   <NTHL TEMP21 1 = TEMP21 (TYPE SYMTAB)>
+                   <FRAME '\1aADD-TYPE-LIST>
+                   <PUSH TEMP21>
+                   <PUSH LN7>
+                   <GEN-LVAL 'TRUTH = STACK>
+                   <PUSH FLG78>
+                   <RESTL K6 1 = TEMP83 (TYPE LIST)>
+                   <RESTL TEMP83 1 = STACK (TYPE LIST)>
+                   <DEAD TEMP83>
+                   <CALL '\1aADD-TYPE-LIST 5 = TEMP83>
+                   <GEN-SET 'TRUTH TEMP83>
+                   <DEAD TEMP83>
+                   <VEQUAL? FNOK12 0 - BOOL86>
+                   <FRAME '\1aADD-TYPE-LIST>
+                   <PUSH TEMP21>
+                   <DEAD TEMP21>
+                   <FRAME '\1aFORM>
+                   <PUSH 'NOT>
+                   <PUSH LN7>
+                   <CALL '\1aFORM 2 = STACK>
+                   <GEN-LVAL 'UNTRUTH = STACK>
+                   <PUSH FLG78>
+                   <DEAD FLG78>
+                   <RESTL K6 1 = K6 (TYPE LIST)>
+                   <RESTL K6 1 = STACK (TYPE LIST)>
+                   <DEAD K6>
+                   <CALL '\1aADD-TYPE-LIST 5 = K6>
+                   <GEN-SET 'UNTRUTH K6>
+                   <DEAD K6>
+BOOL86
+                   <RESTL TEMP18 1 = TEMP18 (TYPE LIST)>
+                   <JUMP + MAP67>
+PHRASE57
+                   <VEQUAL? ALLGOOD9 0 + PHRASE94>
+                   <PUTUV NOD4 1 24 (TYPE FIX)>
+                   <DEAD NOD4>
+                   <JUMP + PHRASE95>
+PHRASE94
+                   <GEN-LVAL 'VERBOSE = TEMP18>
+                   <TYPE? TEMP18 <TYPE-CODE FALSE> + BOOL96>
+                   <DEAD TEMP18>
+                   <FRAME '\1aADDVMESS>
+                   <PUSH NOD4>
+                   <CONS "Not open compiled." () = STACK>
+                   <CALL '\1aADDVMESS 2>
+BOOL96
+                   <PUTUV NOD4 1 52 (TYPE FIX)>
+                   <DEAD NOD4>
+PHRASE95
+                   <FRAME '\1aTYPE-OK?>
+                   <VEQUAL? ALLGOOD9 0 - PHRASE102>
+                   <DEAD ALLGOOD9>
+                   <SET TEMP18 <OR FALSE ATOM> (TYPE FORM)>
+                   <JUMP + PHRASE105>
+PHRASE102
+                   <EMPL? FTYP11 - PHRASE103 (TYPE LIST)>
+                   <DEAD FTYP11>
+                   <SET TEMP18 'FALSE (TYPE ATOM)>
+                   <JUMP + PHRASE105>
+PHRASE103
+                   <VEQUAL? FNOK12 0 + PHRASE104>
+                   <DEAD FNOK12>
+                   <SET TEMP18 'ATOM (TYPE ATOM)>
+                   <JUMP + PHRASE105>
+PHRASE104
+                   <SET TEMP18 <OR FALSE ATOM> (TYPE FORM)>
+PHRASE105
+                   <PUSH TEMP18>
+                   <DEAD TEMP18>
+                   <PUSH RTYP5>
+                   <DEAD RTYP5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP18>
+PHRASE26
+                   <UNBIND TEMP3>
+                   <DEAD TEMP3>
+                   <ADJ -18>
+                   <RETURN TEMP18>
+                   <DEAD TEMP18>
+                   <END \1aTYPE?-ANA>
+#WORD *14540564730*
+<GFCN \1aVALID-TYPE?-ANA ("VALUE" ANY NODE ANY) N4 R5>
+                   <TEMP K6:LIST LN7:FIX TEMP9>
+                   <INTGO>
+                   <NTHUV N4 5 = K6 (TYPE LIST)>
+                   <LENL K6 = LN7 (TYPE FIX)>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH N4>
+                   <PUSH R5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP9>
+                   <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE11>
+                   <FRAME '\1aARGCHK>
+                   <PUSH 1>
+                   <PUSH LN7>
+                   <DEAD LN7>
+                   <PUSH 'VALID-TYPE?>
+                   <PUSH N4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aEANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <DEAD K6>
+                   <PUSH 'ATOM>
+                   <PUSH 'VALID-TYPE?>
+                   <CALL '\1aEANA 3>
+                   <PUTUV N4 1 97 (TYPE FIX)>
+                   <DEAD N4>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <PUSH <OR FALSE TYPE-C>>
+                   <CALL '\1aTYPE-OK? 2 = TEMP9>
+PHRASE11
+                   <RETURN TEMP9>
+                   <DEAD TEMP9>
+                   <END \1aVALID-TYPE?-ANA>
+#WORD *7400517472*
+<GFCN \1aTYPE-C-ANA ("VALUE" ANY NODE ANY) N4 R5>
+                   <TEMP K6:LIST LN7:FIX TEMP9>
+                   <INTGO>
+                   <NTHUV N4 5 = K6 (TYPE LIST)>
+                   <LENL K6 = LN7 (TYPE FIX)>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH N4>
+                   <PUSH R5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP9>
+                   <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE11>
+                   <FRAME '\1aARGCHK>
+                   <PUSH LN7>
+                   <PUSH (1 2)>
+                   <PUSH 'VALID-TYPE?>
+                   <PUSH N4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aEANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <PUSH 'ATOM>
+                   <PUSH 'TYPE-C>
+                   <CALL '\1aEANA 3>
+                   <VEQUAL? LN7 2 - PHRASE15 (TYPE FIX)>
+                   <DEAD LN7>
+                   <FRAME '\1aEANA>
+                   <RESTL K6 1 = K6 (TYPE LIST)>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <DEAD K6>
+                   <PUSH 'ATOM>
+                   <PUSH 'TYPE-C>
+                   <CALL '\1aEANA 3>
+PHRASE15
+                   <PUTUV N4 1 96 (TYPE FIX)>
+                   <DEAD N4>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <PUSH 'TYPE-C>
+                   <CALL '\1aTYPE-OK? 2 = TEMP9>
+PHRASE11
+                   <RETURN TEMP9>
+                   <DEAD TEMP9>
+                   <END \1aTYPE-C-ANA>
+#WORD *2555464510*
+<GFCN \1a=?-ANA ("VALUE" ANY NODE ANY) N4 R5>
+                   <TEMP K6 LN7 TEMP13 N29:NODE>
+                   <INTGO>
+                   <NTHUV N4 5 = K6 (TYPE LIST)>
+                   <LENL K6 = LN7 (TYPE FIX)>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH N4>
+                   <PUSH R5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP13>
+                   <TYPE? TEMP13 <TYPE-CODE FALSE> - PHRASE31>
+                   <FRAME '\1aARGCHK>
+                   <PUSH LN7>
+                   <DEAD LN7>
+                   <PUSH 2>
+                   <NTHUV N4 4 = STACK>
+                   <PUSH N4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aEANA>
+                   <NTHL K6 1 = LN7 (TYPE NODE)>
+                   <PUSH LN7>
+                   <PUSH 'ANY>
+                   <NTHUV N4 4 = STACK>
+                   <CALL '\1aEANA 3>
+                   <FRAME '\1aEANA>
+                   <RESTL K6 1 = TEMP13 (TYPE LIST)>
+                   <NTHL TEMP13 1 = N29 (TYPE NODE)>
+                   <DEAD TEMP13>
+                   <PUSH N29>
+                   <PUSH 'ANY>
+                   <NTHUV N4 4 = STACK>
+                   <CALL '\1aEANA 3>
+                   <NTHUV LN7 1 = TEMP13 (TYPE FIX)>
+                   <VEQUAL? TEMP13 2 - PHRASE21 (TYPE FIX)>
+                   <DEAD TEMP13>
+                   <RESTL K6 1 = TEMP13 (TYPE LIST)>
+                   <NTHL TEMP13 1 = LN7 (TYPE NODE)>
+                   <DEAD TEMP13>
+                   <NTHL K6 1 = N29 (TYPE NODE)>
+                   <DEAD K6>
+PHRASE21
+                   <FRAME '\1aISTYPE?>
+                   <NTHUV N29 3 = STACK>
+                   <DEAD N29>
+                   <CALL '\1aISTYPE? 1 = TEMP13>
+                   <FRAME '\1aISTYPE?>
+                   <NTHUV LN7 3 = STACK>
+                   <DEAD LN7>
+                   <CALL '\1aISTYPE? 1 = K6>
+                   <VEQUAL? K6 'STRING + BOOL25>
+                   <VEQUAL? TEMP13 'STRING - PHRASE24>
+BOOL25
+                   <PUTUV N4 1 95 (TYPE FIX)>
+                   <DEAD N4>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'BOOLEAN>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP13>
+                   <RETURN TEMP13>
+                   <DEAD TEMP13>
+PHRASE24
+                   <TYPE? K6 <TYPE-CODE FALSE> + PHRASE28>
+                   <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE28>
+                   <VEQUAL? K6 TEMP13 + PHRASE28>
+                   <DEAD K6 TEMP13>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'BOOL-FALSE>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP13>
+                   <RETURN TEMP13>
+                   <DEAD TEMP13>
+PHRASE28
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'BOOLEAN>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP13>
+PHRASE31
+                   <RETURN TEMP13>
+                   <DEAD TEMP13>
+                   <END \1a=?-ANA>
+#WORD *21161013720*
+<GFCN \1aS=?-ANA ("VALUE" ANY NODE ANY) N4 R5>
+                   <TEMP K6:LIST TEMP8>
+                   <INTGO>
+                   <NTHUV N4 5 = K6 (TYPE LIST)>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH N4>
+                   <PUSH R5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP8>
+                   <TYPE? TEMP8 <TYPE-CODE FALSE> - PHRASE10>
+                   <FRAME '\1aARGCHK>
+                   <LENL K6 = STACK (TYPE FIX)>
+                   <PUSH 2>
+                   <NTHUV N4 4 = STACK>
+                   <PUSH N4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aEANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <PUSH 'STRING>
+                   <PUSH 'S=?>
+                   <CALL '\1aEANA 3>
+                   <FRAME '\1aEANA>
+                   <RESTL K6 1 = K6 (TYPE LIST)>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <DEAD K6>
+                   <PUSH 'STRING>
+                   <PUSH 'S=?>
+                   <CALL '\1aEANA 3>
+                   <PUTUV N4 1 95 (TYPE FIX)>
+                   <DEAD N4>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'BOOLEAN>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP8>
+PHRASE10
+                   <RETURN TEMP8>
+                   <DEAD TEMP8>
+                   <END \1aS=?-ANA>
+#WORD *13713777251*
+<GFCN \1aATOM-PART-ANA ("VALUE" ANY NODE ANY) N4 R5>
+                   <TEMP K6 NM7:ATOM TEMP10 NN8:NODE>
+                   <INTGO>
+                   <NTHUV N4 5 = K6 (TYPE LIST)>
+                   <NTHUV N4 4 = NM7 (TYPE ATOM)>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH N4>
+                   <PUSH R5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP10>
+                   <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE30>
+                   <FRAME '\1aARGCHK>
+                   <LENL K6 = STACK (TYPE FIX)>
+                   <VEQUAL? NM7 'GBIND + BOOL16>
+                   <VEQUAL? NM7 'LBIND - PHRASE15>
+BOOL16
+                   <SET TEMP10 (1 2) (TYPE LIST)>
+                   <JUMP + PHRASE18>
+PHRASE15
+                   <SET TEMP10 1 (TYPE FIX)>
+PHRASE18
+                   <PUSH TEMP10>
+                   <DEAD TEMP10>
+                   <PUSH NM7>
+                   <PUSH N4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aEANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <PUSH 'ATOM>
+                   <PUSH NM7>
+                   <CALL '\1aEANA 3>
+                   <RESTL K6 1 = TEMP10 (TYPE LIST)>
+                   <EMPL? TEMP10 + PHRASE21 (TYPE LIST)>
+                   <DEAD TEMP10>
+                   <FRAME '\1aEANA>
+                   <RESTL K6 1 = TEMP10 (TYPE LIST)>
+                   <NTHL TEMP10 1 = NN8 (TYPE NODE)>
+                   <DEAD TEMP10>
+                   <PUSH NN8>
+                   <PUSH 'ANY>
+                   <PUSH NM7>
+                   <CALL '\1aEANA 3>
+PHRASE21
+                   <NTHL K6 1 = TEMP10 (TYPE NODE)>
+                   <NTHUV TEMP10 1 = TEMP10 (TYPE FIX)>
+                   <VEQUAL? TEMP10 2 - PHRASE24 (TYPE FIX)>
+                   <DEAD TEMP10>
+                   <VEQUAL? NM7 'LBIND + PHRASE24>
+                   <VEQUAL? NM7 'GBIND + PHRASE24>
+                   <PUTUV N4 1 2 (TYPE FIX)>
+                   <PUTUV N4 5 () (TYPE LIST)>
+                   <FRAME>
+                   <GVAL NM7 = TEMP10>
+                   <DEAD NM7>
+                   <NTHL K6 1 = K6 (TYPE NODE)>
+                   <NTHUV K6 4 = STACK>
+                   <DEAD K6>
+                   <ACALL TEMP10 1 = K6>
+                   <DEAD TEMP10>
+                   <PUTUV N4 4 K6>
+                   <DEAD K6>
+                   <FRAME '\1aTYPE-OK?>
+                   <FRAME '\1aTYPE>
+                   <NTHUV N4 4 = STACK>
+                   <DEAD N4>
+                   <CALL '\1aTYPE 1 = STACK>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP10>
+                   <RETURN TEMP10>
+                   <DEAD TEMP10>
+PHRASE24
+                   <VEQUAL? NM7 'GBIND + BOOL34>
+                   <VEQUAL? NM7 'LBIND - BOOL33>
+BOOL34
+                   <RESTL K6 1 = K6 (TYPE LIST)>
+                   <EMPL? K6 + BOOL33 (TYPE LIST)>
+                   <DEAD K6>
+                   <NTHUV NN8 1 = K6 (TYPE FIX)>
+                   <VEQUAL? K6 2 - PHRASE32 (TYPE FIX)>
+                   <DEAD K6>
+                   <NTHUV NN8 4 = K6>
+                   <DEAD NN8>
+                   <TYPE? K6 <TYPE-CODE FALSE> - PHRASE32>
+                   <DEAD K6>
+BOOL33
+                   <PUTUV N4 1 100 (TYPE FIX)>
+                   <DEAD N4>
+PHRASE32
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <VEQUAL? NM7 'SPNAME - PHRASE38>
+                   <SET K6 'STRING (TYPE ATOM)>
+                   <JUMP + PHRASE40>
+PHRASE38
+                   <VEQUAL? NM7 'OBLIST? - PHRASE39>
+                   <SET K6 <OR FALSE OBLIST> (TYPE FORM)>
+                   <JUMP + PHRASE40>
+PHRASE39
+                   <SET K6 NM7>
+                   <DEAD NM7>
+PHRASE40
+                   <PUSH K6>
+                   <DEAD K6>
+                   <CALL '\1aTYPE-OK? 2 = TEMP10>
+PHRASE30
+                   <RETURN TEMP10>
+                   <DEAD TEMP10>
+                   <END \1aATOM-PART-ANA>
+#WORD *15512442764*
+<GFCN \1aPUT-GET-DECL-ANA ("VALUE" ANY NODE ANY) N4 R5>
+                   <TEMP K6 NM7:ATOM TEMP10 ST8 TEMP25:FIX TEMP31>
+                   <INTGO>
+                   <NTHUV N4 5 = K6 (TYPE LIST)>
+                   <NTHUV N4 4 = NM7 (TYPE ATOM)>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH N4>
+                   <PUSH R5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP10>
+                   <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE40>
+                   <FRAME '\1aARGCHK>
+                   <LENL K6 = STACK (TYPE FIX)>
+                   <VEQUAL? NM7 'PUT-DECL - PHRASE15>
+                   <SET TEMP10 2 (TYPE FIX)>
+                   <JUMP + PHRASE17>
+PHRASE15
+                   <SET TEMP10 1 (TYPE FIX)>
+PHRASE17
+                   <PUSH TEMP10>
+                   <DEAD TEMP10>
+                   <PUSH NM7>
+                   <PUSH N4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aEANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <PUSH <OR ATOM OFFSET GBIND LBIND>>
+                   <PUSH NM7>
+                   <CALL '\1aEANA 3 = ST8>
+                   <VEQUAL? NM7 'PUT-DECL - PHRASE20>
+                   <FRAME '\1aTYPE-AND>
+                   <PUSH ST8>
+                   <PUSH R5>
+                   <CALL '\1aTYPE-AND 2 = TEMP10>
+                   <TYPE? TEMP10 <TYPE-CODE FALSE> - BOOL21>
+                   <SET TEMP10 ST8>
+                   <DEAD ST8>
+BOOL21
+                   <SET ST8 TEMP10>
+                   <DEAD TEMP10>
+                   <FRAME '\1aEANA>
+                   <RESTL K6 1 = TEMP10 (TYPE LIST)>
+                   <NTHL TEMP10 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP10>
+                   <PUSH <OR ATOM FALSE FORM SEGMENT>>
+                   <PUSH NM7>
+                   <CALL '\1aEANA 3>
+                   <PUSH N4>
+                   <SET TEMP25 1 (TYPE FIX)>
+                   <NTHUV N4 8 = TEMP10>
+                   <TYPE TEMP10 = TEMP31>
+                   <AND TEMP31 7 = TEMP31>
+                   <VEQUAL? TEMP31 1 + TAG27>
+                   <DEAD TEMP31>
+                   <LOOP (TEMP10 TYPE VALUE LENGTH) (TEMP25 VALUE)>
+TAG33
+                   <INTGO>
+                   <EMPTY? TEMP10 + TAG32>
+                   <NTH1 TEMP10 = STACK>
+                   <REST1 TEMP10 = TEMP10>
+                   <ADD TEMP25 1 = TEMP25 (TYPE FIX)>
+                   <JUMP + TAG33>
+TAG32
+                   <LIST TEMP25 = TEMP10 (TYPE LIST)>
+                   <DEAD TEMP25>
+                   <JUMP + TAG29>
+TAG27
+                   <LOOP>
+TAG30
+                   <VEQUAL? TEMP25 0 + TAG29>
+                   <POP = TEMP31>
+                   <CONS TEMP31 TEMP10 = TEMP10 (TYPE LIST)>
+                   <DEAD TEMP31>
+                   <SUB TEMP25 1 = TEMP25 (TYPE FIX)>
+                   <JUMP + TAG30>
+TAG29
+                   <PUTUV N4 8 TEMP10>
+                   <DEAD TEMP10>
+PHRASE20
+                   <NTHL K6 1 = TEMP10 (TYPE NODE)>
+                   <NTHUV TEMP10 1 = TEMP10 (TYPE FIX)>
+                   <VEQUAL? TEMP10 2 - PHRASE35 (TYPE FIX)>
+                   <DEAD TEMP10>
+                   <VEQUAL? NM7 'GET-DECL - PHRASE35>
+                   <PUTUV N4 1 2 (TYPE FIX)>
+                   <PUTUV N4 5 () (TYPE LIST)>
+                   <FRAME '\1aGET-DECL>
+                   <NTHL K6 1 = TEMP10 (TYPE NODE)>
+                   <DEAD K6>
+                   <NTHUV TEMP10 4 = STACK>
+                   <DEAD TEMP10>
+                   <CALL '\1aGET-DECL 1 = TEMP10>
+                   <PUTUV N4 4 TEMP10>
+                   <DEAD TEMP10>
+                   <FRAME '\1aTYPE-OK?>
+                   <FRAME '\1aTYPE>
+                   <NTHUV N4 4 = STACK>
+                   <DEAD N4>
+                   <CALL '\1aTYPE 1 = STACK>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP10>
+                   <RETURN TEMP10>
+                   <DEAD TEMP10>
+PHRASE35
+                   <FRAME '\1aISTYPE?>
+                   <PUSH ST8>
+                   <CALL '\1aISTYPE? 1 = TEMP10>
+                   <SET TEMP31 [LBIND GBIND OFFSET] (TYPE VECTOR)>
+                   <TYPE? TEMP10 <TYPE-CODE ATOM> - PHRASE42>
+                   <LOOP (TEMP10 VALUE) (TEMP31 LENGTH VALUE)>
+TAG44
+                   <NTHUV TEMP31 1 = K6>
+                   <VEQUAL? K6 TEMP10 + TAG43>
+                   <DEAD K6>
+                   <RESTUV TEMP31 1 = TEMP31 (TYPE VECTOR)>
+                   <EMPUV? TEMP31 - TAG44>
+                   <JUMP + PHRASE42>
+TAG43
+                   <PUTUV N4 1 102 (TYPE FIX)>
+                   <DEAD N4>
+                   <JUMP + PHRASE48>
+PHRASE42
+                   <GEN-LVAL 'VERBOSE = TEMP31>
+                   <TYPE? TEMP31 <TYPE-CODE FALSE> + PHRASE48>
+                   <DEAD TEMP31>
+                   <FRAME '\1aADDVMESS>
+                   <PUSH N4>
+                   <DEAD N4>
+                   <CONS ST8 () = TEMP31>
+                   <CONS "Not open compiled because type is " TEMP31 = TEMP31>
+                   <CONS NM7 TEMP31 = STACK>
+                   <DEAD TEMP31>
+                   <CALL '\1aADDVMESS 2>
+PHRASE48
+                   <FRAME '\1aTYPE-OK?>
+                   <VEQUAL? NM7 'GET-DECL - PHRASE54>
+                   <DEAD NM7>
+                   <SET TEMP31 <OR ATOM FALSE FORM SEGMENT> (TYPE FORM)>
+                   <JUMP + PHRASE55>
+PHRASE54
+                   <SET TEMP31 ST8>
+                   <DEAD ST8>
+PHRASE55
+                   <PUSH TEMP31>
+                   <DEAD TEMP31>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP10>
+PHRASE40
+                   <RETURN TEMP10>
+                   <DEAD TEMP10>
+                   <END \1aPUT-GET-DECL-ANA>
+#WORD *1530543267*
+<GFCN \1aOFFSET-PART-ANA ("VALUE" ANY NODE ANY) N4 R5>
+                   <TEMP K6 NM7:ATOM TEMP9>
+                   <INTGO>
+                   <NTHUV N4 5 = K6 (TYPE LIST)>
+                   <NTHUV N4 4 = NM7 (TYPE ATOM)>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH N4>
+                   <PUSH R5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP9>
+                   <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE28>
+                   <FRAME '\1aARGCHK>
+                   <LENL K6 = STACK (TYPE FIX)>
+                   <VEQUAL? NM7 'INDEX - PHRASE14>
+                   <SET TEMP9 1 (TYPE FIX)>
+                   <JUMP + PHRASE16>
+PHRASE14
+                   <SET TEMP9 (1 2) (TYPE LIST)>
+PHRASE16
+                   <PUSH TEMP9>
+                   <DEAD TEMP9>
+                   <PUSH NM7>
+                   <PUSH N4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aEANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <PUSH 'OFFSET>
+                   <PUSH NM7>
+                   <CALL '\1aEANA 3>
+                   <RESTL K6 1 = TEMP9 (TYPE LIST)>
+                   <EMPL? TEMP9 + PHRASE19 (TYPE LIST)>
+                   <DEAD TEMP9>
+                   <FRAME '\1aEANA>
+                   <RESTL K6 1 = TEMP9 (TYPE LIST)>
+                   <NTHL TEMP9 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP9>
+                   <PUSH <OR ATOM FALSE FORM SEGMENT>>
+                   <PUSH NM7>
+                   <CALL '\1aEANA 3>
+PHRASE19
+                   <NTHL K6 1 = TEMP9 (TYPE NODE)>
+                   <NTHUV TEMP9 1 = TEMP9 (TYPE FIX)>
+                   <VEQUAL? TEMP9 2 - PHRASE22 (TYPE FIX)>
+                   <DEAD TEMP9>
+                   <RESTL K6 1 = TEMP9 (TYPE LIST)>
+                   <EMPL? TEMP9 - PHRASE22 (TYPE LIST)>
+                   <DEAD TEMP9>
+                   <PUTUV N4 1 2 (TYPE FIX)>
+                   <PUTUV N4 5 () (TYPE LIST)>
+                   <FRAME>
+                   <GVAL NM7 = TEMP9>
+                   <DEAD NM7>
+                   <NTHL K6 1 = K6 (TYPE NODE)>
+                   <NTHUV K6 4 = STACK>
+                   <DEAD K6>
+                   <ACALL TEMP9 1 = K6>
+                   <DEAD TEMP9>
+                   <PUTUV N4 4 K6>
+                   <DEAD K6>
+                   <FRAME '\1aTYPE-OK?>
+                   <FRAME '\1aTYPE>
+                   <NTHUV N4 4 = STACK>
+                   <DEAD N4>
+                   <CALL '\1aTYPE 1 = STACK>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP9>
+                   <RETURN TEMP9>
+                   <DEAD TEMP9>
+PHRASE22
+                   <PUTUV N4 1 101 (TYPE FIX)>
+                   <DEAD N4>
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <VEQUAL? NM7 'INDEX - PHRASE31>
+                   <DEAD NM7>
+                   <SET K6 'FIX (TYPE ATOM)>
+                   <JUMP + PHRASE33>
+PHRASE31
+                   <RESTL K6 1 = TEMP9 (TYPE LIST)>
+                   <DEAD K6>
+                   <EMPL? TEMP9 + PHRASE32 (TYPE LIST)>
+                   <DEAD TEMP9>
+                   <SET K6 'OFFSET (TYPE ATOM)>
+                   <JUMP + PHRASE33>
+PHRASE32
+                   <SET K6 <OR ATOM FALSE FORM SEGMENT> (TYPE FORM)>
+PHRASE33
+                   <PUSH K6>
+                   <DEAD K6>
+                   <CALL '\1aTYPE-OK? 2 = TEMP9>
+PHRASE28
+                   <RETURN TEMP9>
+                   <DEAD TEMP9>
+                   <END \1aOFFSET-PART-ANA>
+#WORD *33723345361*
+                   <GFCN \1aSTRCOMP-ANA ("VALUE" ANY NODE ANY) N4 R5>
+                   <TEMP K6:LIST TEMP8>
+                   <INTGO>
+                   <NTHUV N4 5 = K6 (TYPE LIST)>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH N4>
+                   <PUSH R5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP8>
+                   <TYPE? TEMP8 <TYPE-CODE FALSE> - PHRASE10>
+                   <FRAME '\1aARGCHK>
+                   <LENL K6 = STACK (TYPE FIX)>
+                   <PUSH 2>
+                   <NTHUV N4 4 = STACK>
+                   <PUSH N4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aSTRCOMP-ARG-ANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <PUSH N4>
+                   <PUSH 1>
+                   <CALL '\1aSTRCOMP-ARG-ANA 3 = TEMP8>
+                   <TYPE? TEMP8 <TYPE-CODE FALSE> + PHRASE13>
+                   <DEAD TEMP8>
+                   <FRAME '\1aSTRCOMP-ARG-ANA>
+                   <RESTL K6 1 = TEMP8 (TYPE LIST)>
+                   <DEAD K6>
+                   <NTHL TEMP8 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP8>
+                   <PUSH N4>
+                   <PUSH 2>
+                   <CALL '\1aSTRCOMP-ARG-ANA 3 = TEMP8>
+                   <TYPE? TEMP8 <TYPE-CODE FALSE> + PHRASE13>
+                   <DEAD TEMP8>
+                   <PUTUV N4 1 95 (TYPE FIX)>
+                   <DEAD N4>
+PHRASE13
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH 'FIX>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP8>
+PHRASE10
+                   <RETURN TEMP8>
+                   <DEAD TEMP8>
+                   <END \1aSTRCOMP-ANA>
+
+#WORD *37573707570*
+                   <GFCN \1aSTRCOMP-ARG-ANA ("VALUE" ANY NODE NODE FIX) N4 P5 IDX6>
+                   <TEMP TYP7 ITYP8 NN9:NODE>
+                   <INTGO>
+                   <FRAME '\1aEANA>
+                   <PUSH N4>
+                   <PUSH 'ANY>
+                   <PUSH 'STRCOMP>
+                   <CALL '\1aEANA 3 = TYP7>
+                   <FRAME '\1aISTYPE?>
+                   <PUSH TYP7>
+                   <CALL '\1aISTYPE? 1 = ITYP8>
+                   <TYPE? ITYP8 <TYPE-CODE FALSE> + PHRASE12>
+                   <VEQUAL? ITYP8 'ATOM - PHRASE19>
+                   <DEAD ITYP8>
+                   <NTHUV N4 1 = TYP7 (TYPE FIX)>
+                   <VEQUAL? TYP7 2 - PHRASE17 (TYPE FIX)>
+                   <DEAD TYP7>
+                   <NTHUV N4 4 = TYP7 (TYPE ATOM)>
+                   <NTHR TYP7 3 = TYP7 (RECORD-TYPE ATOM)>
+                   <PUTUV N4 4 TYP7>
+                   <DEAD TYP7>
+                   <PUTUV N4 3 'STRING>
+                   <DEAD N4>
+                   <RETURN 'T>
+PHRASE17
+                   <FRAME '\1aNODEFM>
+                   <PUSH 100>
+                   <PUSH P5>
+                   <PUSH 'STRING>
+                   <PUSH 'SPNAME>
+                   <CONS N4 () = STACK>
+                   <GVAL 'SPNAME = STACK>
+                   <CALL '\1aNODEFM 6 = NN9>
+                   <NTHUV P5 5 = TYP7 (TYPE LIST)>
+                   <DEAD P5>
+                   <GRTR? IDX6 0 - COMPERR (TYPE FIX)>
+                   <SET ITYP8 IDX6>
+                   <DEAD IDX6>
+                   <SUB ITYP8 1 = ITYP8 (TYPE FIX)>
+                   <GRTR? ITYP8 0 - RESTL23 (TYPE FIX)>
+                   <LOOP (TYP7 VALUE) (ITYP8 VALUE)>
+RESTL22
+                   <INTGO>
+                   <EMPL? TYP7 + COMPERR>
+                   <RESTL TYP7 1 = TYP7 (TYPE LIST)>
+                   <SUB ITYP8 1 = ITYP8 (TYPE FIX)>
+                   <GRTR? ITYP8 0 + RESTL22 (TYPE FIX)>
+RESTL23
+                   <EMPL? TYP7 + COMPERR>
+                   <PUTL TYP7 1 NN9>
+                   <DEAD TYP7>
+                   <PUTUV N4 2 NN9>
+                   <DEAD N4 NN9>
+PHRASE19
+                   <RETURN 'T>
+PHRASE12
+                   <FRAME '\1a=?>
+                   <PUSH TYP7>
+                   <PUSH <OR ATOM STRING>>
+                   <CALL '\1a=? 2 = ITYP8>
+                   <VEQUAL? ITYP8 0 + PHRASE24>
+                   <DEAD ITYP8>
+                   <RETURN 'T>
+PHRASE24
+                   <FRAME '\1aTYPE-OK?>
+                   <PUSH TYP7>
+                   <DEAD TYP7>
+                   <PUSH <OR ATOM STRING>>
+                   <CALL '\1aTYPE-OK? 2 = ITYP8>
+                   <TYPE? ITYP8 <TYPE-CODE FALSE> - PHRASE26>
+                   <DEAD ITYP8>
+                   <FRAME '\1aCOMPILE-ERROR>
+                   <PUSH "Argument wrong type to: ">
+                   <PUSH 'STRCOMP>
+                   <PUSH P5>
+                   <DEAD P5>
+                   <CALL '\1aCOMPILE-ERROR 3 = TYP7>
+                   <RETURN TYP7>
+                   <DEAD TYP7>
+PHRASE26
+                   <RETURN %<>>
+                   <END \1aSTRCOMP-ARG-ANA>
+
+#WORD *1131001456*
+<GFCN \1aSUBSTRUC-ANA ("VALUE" ANY NODE ANY) N4 R5>
+                   <TEMP K6 LN7 TEMP10 TEMP20>
+                   <INTGO>
+                   <NTHUV N4 5 = K6 (TYPE LIST)>
+                   <LENL K6 = LN7 (TYPE FIX)>
+                   <FRAME '\1aSEGFLUSH>
+                   <PUSH N4>
+                   <PUSH R5>
+                   <CALL '\1aSEGFLUSH 2 = TEMP10>
+                   <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE12>
+                   <FRAME '\1aARGCHK>
+                   <PUSH LN7>
+                   <PUSH (1 4)>
+                   <NTHUV N4 4 = STACK>
+                   <PUSH N4>
+                   <CALL '\1aARGCHK 4>
+                   <FRAME '\1aEANA>
+                   <NTHL K6 1 = STACK (TYPE NODE)>
+                   <PUSH 'STRUCTURED>
+                   <PUSH 'SUBSTRUC>
+                   <CALL '\1aEANA 3 = TEMP10>
+                   <GRTR? LN7 1 - PHRASE16 (TYPE FIX)>
+                   <FRAME '\1aEANA>
+                   <RESTL K6 1 = TEMP20 (TYPE LIST)>
+                   <NTHL TEMP20 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP20>
+                   <PUSH 'FIX>
+                   <PUSH 'SUBSTRUC>
+                   <CALL '\1aEANA 3>
+PHRASE16
+                   <GRTR? LN7 2 - PHRASE22 (TYPE FIX)>
+                   <FRAME '\1aEANA>
+                   <RESTL K6 1 = TEMP20 (TYPE LIST)>
+                   <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
+                   <NTHL TEMP20 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP20>
+                   <PUSH 'FIX>
+                   <PUSH 'SUBSTRUC>
+                   <CALL '\1aEANA 3>
+PHRASE22
+                   <GRTR? LN7 3 - PHRASE25 (TYPE FIX)>
+                   <DEAD LN7>
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH TEMP10>
+                   <DEAD TEMP10>
+                   <CALL '\1aSTRUCTYP 1 = TEMP10>
+                   <FRAME '\1aEANA>
+                   <RESTL K6 1 = TEMP20 (TYPE LIST)>
+                   <DEAD K6>
+                   <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
+                   <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
+                   <NTHL TEMP20 1 = STACK (TYPE NODE)>
+                   <DEAD TEMP20>
+                   <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE29>
+                   <FRAME '\1aFORM>
+                   <PUSH 'PRIMTYPE>
+                   <PUSH TEMP10>
+                   <DEAD TEMP10>
+                   <CALL '\1aFORM 2 = TEMP20>
+                   <JUMP + PHRASE31>
+PHRASE29
+                   <SET TEMP20 'STRUCTURED (TYPE ATOM)>
+PHRASE31
+                   <PUSH TEMP20>
+                   <DEAD TEMP20>
+                   <PUSH 'SUBSTRUC>
+                   <CALL '\1aEANA 3 = TEMP10>
+                   <PUSH N4>
+                   <SET LN7 1 (TYPE FIX)>
+                   <NTHUV N4 8 = TEMP20>
+                   <TYPE TEMP20 = K6>
+                   <AND K6 7 = K6>
+                   <VEQUAL? K6 1 + TAG35>
+                   <DEAD K6>
+                   <LOOP (TEMP20 TYPE VALUE LENGTH) (LN7 VALUE)>
+TAG41
+                   <INTGO>
+                   <EMPTY? TEMP20 + TAG40>
+                   <NTH1 TEMP20 = STACK>
+                   <REST1 TEMP20 = TEMP20>
+                   <ADD LN7 1 = LN7 (TYPE FIX)>
+                   <JUMP + TAG41>
+TAG40
+                   <LIST LN7 = TEMP20 (TYPE LIST)>
+                   <DEAD LN7>
+                   <JUMP + TAG37>
+TAG35
+                   <LOOP>
+TAG38
+                   <VEQUAL? LN7 0 + TAG37>
+                   <POP = K6>
+                   <CONS K6 TEMP20 = TEMP20 (TYPE LIST)>
+                   <DEAD K6>
+                   <SUB LN7 1 = LN7 (TYPE FIX)>
+                   <JUMP + TAG38>
+TAG37
+                   <PUTUV N4 8 TEMP20>
+                   <DEAD TEMP20>
+PHRASE25
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH TEMP10>
+                   <CALL '\1aSTRUCTYP 1 = TEMP20>
+                   <SET K6 [STRING VECTOR UVECTOR BYTES] (TYPE VECTOR)>
+                   <TYPE? TEMP20 <TYPE-CODE ATOM> - PHRASE43>
+                   <LOOP (TEMP20 VALUE) (K6 LENGTH VALUE)>
+TAG45
+                   <NTHUV K6 1 = LN7>
+                   <VEQUAL? LN7 TEMP20 + TAG44>
+                   <DEAD LN7>
+                   <RESTUV K6 1 = K6 (TYPE VECTOR)>
+                   <EMPUV? K6 - TAG45>
+                   <JUMP + PHRASE43>
+TAG44
+                   <PUTUV N4 1 81 (TYPE FIX)>
+                   <DEAD N4>
+PHRASE43
+                   <FRAME '\1aTYPE-OK?>
+                   <FRAME '\1aSTRUCTYP>
+                   <PUSH TEMP10>
+                   <DEAD TEMP10>
+                   <CALL '\1aSTRUCTYP 1 = STACK>
+                   <PUSH R5>
+                   <DEAD R5>
+                   <CALL '\1aTYPE-OK? 2 = TEMP10>
+PHRASE12
+                   <RETURN TEMP10>
+                   <DEAD TEMP10>
+                   <END \1aSUBSTRUC-ANA>\r\r
+<COND (<AND <GASSIGNED? NOT-ANA> <GASSIGNED? ELEMENT-DECL>> <PUTPROP ,NOT ANALYSIS ,NOT-ANA> <PUTPROP ,==? ANALYSIS ,==?-ANA> <PUTPROP ,N==? ANALYSIS ,==?-ANA> <PUTPROP ,TYPE? ANALYSIS ,TYPE?-ANA> <PUTPROP ,=? ANALYSIS ,=?-ANA> <PUTPROP ,N=? ANALYSIS ,=?-ANA> <PUTPROP ,VALID-TYPE? ANALYSIS ,VALID-TYPE?-ANA> <PUTPROP ,TYPE-C ANALYSIS ,TYPE-C-ANA> <PUTPROP ,INDEX ANALYSIS ,OFFSET-PART-ANA> <PUTPROP ,ELEMENT-DECL ANALYSIS ,OFFSET-PART-ANA> <PUTPROP ,PUT-DECL ANALYSIS ,PUT-GET-DECL-ANA> <PUTPROP ,GET-DECL ANALYSIS ,PUT-GET-DECL-ANA> <PUTPROP ,SPNAME ANALYSIS ,ATOM-PART-ANA> <PUTPROP ,OBLIST? ANALYSIS ,ATOM-PART-ANA> <PUTPROP ,LBIND ANALYSIS ,ATOM-PART-ANA> <PUTPROP ,GBIND ANALYSIS ,ATOM-PART-ANA> <PUTPROP ,S=? ANALYSIS ,S=?-ANA> <PUTPROP ,STRCOMP ANALYSIS ,STRCOMP-ANA> <PUTPROP ,SUBSTRUC ANALYSIS ,SUBSTRUC-ANA>)>
+
+<ENDPACKAGE>
\ No newline at end of file