#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  static const int Err = 0;
  static const int Obj = 1;
  static const int Map = 2;
  static const int Moni = 4;
  static const int Nst = 5;
  static const int Le = 6;
  static const int Ge = 7;
  static const int Ar = 8;
  static const int Adec = 9;
  static const int Sh = 10;
  static const int Ent = 16;
  static const int Flt = 17;
  static const int Bar = 20;
  static const int Bget = 21;
  static const int Bput = 22;
  static const int Adr = 28;
  static const int Int = 29;
  static const int Ptxt = 38;
  static const int Beg = 108;
  static const int Ext = 128;
  static const int Own = 64;
  static const int Body = 64;
  static const int Ref = 32;
  static const int Array = 8;
  static const int Proc = 4;
  static int Line = 1;
  static int Lines = 0;
  static int Icount = 0;
  static int Sym = 0;
  static int Symtype = 0;
  static int Decl = 0;
  static int Sstype = 1;
  static int Section = 0;
  static int Ownc = 0;
  static int Faulty = 0;
  static int Pos1 = 0;
  static int Pos = 0;
  int Char[73 /*1:73*/];
  static int Dmax = 0;
  static const int Dbound = 500;
  int Dict[500 /*1:500*/];
  static int Global = 0;
  static int Tmax = 0;
  int X;
  static int Lmin = 253;
  int *Tt0;
  int *Ttx;
  int Tagtype[224 /*0:223*/];
  int Index[224 /*0:223*/];
  int Ss;
  static const int Nodebound = 70;
  int Refco[70 /*1:70*/];
  int Sub[70 /*1:70*/];
  static int Gmax1 = 196;
  static int Gmax = 196;
  static int Phrase[16 /*112:127*/] = {194, 69,  72,  77,  81,  115, 125, 147,
                                       153, 156, 159, 168, 173, 176, 188, 0};
  static int Atomic[32 /*80:111*/] = {
      64, 70, 72, 77, 68, 69, 73, 67, 73, 73, 74, 77, 76, 77, 78, 78,
      65, 65, 66, 66, 74, 78, 74, 12, 18, 15, 15, 65, 10, 15, 9,  42};
  static int Initial[79 /*1:79*/] = {
      36225,   35842,   33923,   3332,    68741,   0,       0,       0,
      0,       0,       0,       0,       0,       0,       0,       0,
      -118767, 0,       0,       3604,    0,       0,       0,       0,
      0,       0,       0,       0,       0,       0,       -131041, 0,
      0,       -117854, -117981, 3876,    -117595, -117722, 0,       2088,
      4009,    0,       0,       0,       0,       33838,   33071,   0,
      0,       1842,    1075,    1460,    3765,    0,       66615,   99384,
      33849,   33850,   98363,   0,       0,       0,       0,       35664,
      -118944, -118429, 0,       0,       0,       0,       0,       35794,
      -118058, -118044, 0,       -118196, -118061, -118043, 0};
  static int Gram[256 /*0:255*/] = {
      0,       756,     -129612, -129999, 1140,    -94156,  -94155,  -129132,
      9,       -126846, 4996,    1653,    -128746, 1073,    -131063, 33918,
      -129978, 1095,    -129999, 2676,    -130640, 9,       10,      5134,
      1137,    5329,    5745,    6129,    6526,    6517,    39367,   33913,
      33909,   4465,    -126452, 110,     37625,   -126739, 110,     6726,
      40441,   5376,    -123378, 9,       38642,   -127729, 9,       39027,
      -127601, 9,       1074,    7825,    39667,   -124020, 110,     -123127,
      7417,    -123923, 110,     2832,    8070,    1088,    7040,    8262,
      -122481, -123002, 1040,    -122810, 8070,    9030,    -122225, 0,
      9358,    9594,    9610,    9850,    16,      9998,    10233,   10348,
      9849,    -118944, -118767, -118196, -118058, -118061, -131041, -117981,
      -117854, -118429, -118044, -118043, -117722, 13477,   -117492, 46494,
      -131008, 46664,   -117492, 46750,   46960,   47216,   32890,   32887,
      46915,   32839,   46970,   79735,   65648,   79736,   -116497, 0,
      80231,   116,     112506,  -115978, 15482,   -82774,  -82645,  0,
      32768,   15862,   15222,   -82774,  0,       -114546, -114004, -113852,
      16890,   -121227, 17402,   -112979, 32768,   118,     32880,   17424,
      -112870, -112741, -112612, -112979, 32768,   51450,   50301,   50428,
      50555,   -117971, 0,       -111775, -113832, 17243,   -78819,  0,
      65658,   -111774, -113818, 17247,   -117608, -117607, 32839,   -110439,
      -109800, 53629,   -110438, -109669, -109796, 0,       53883,   53756,
      54525,   -109542, -109029, 0,       54652,   55165,   -108902, 0,
      -131007, -131001, -131006, -113847, -113851, -113843, -113846, -113842,
      -121458, 23826,   24061,   104,     24299,   24332,   57338,   24681,
      57594,   13162,   24974,   25210,   16,      0,       0,       0,
      0,       0,       0,       0,       0,       0,       0,       0,
      0,       0,       0,       0,       0,       0,       0,       0,
      0,       0,       0,       0,       0,       0,       0,       0,
      0,       0,       0,       0,       0,       0,       0,       0,
      0,       0,       0,       0,       0,       0,       0,       0,
      0,       0,       0,       0,       0,       0,       0,       0,
      0,       0,       0,       0,       0,       0,       0,       0};
  static int Kdict[394 /*32:425*/] = {
      0,       387,     131,     403,     131,     131,     407,     131,
      411,     415,     419,     431,     447,     451,     131,     475,
      129,     129,     129,     129,     129,     129,     129,     129,
      129,     129,     487,     490,     495,     523,     539,     131,
      131,     556,     628,     656,     708,     752,     904,     128,
      128,     972,     1152,    128,     1188,    1232,    1248,    1256,
      1284,    128,     1348,    1440,    1552,    1604,    128,     1636,
      1648,    128,     128,     131,     1695,    131,     131,     131,
      -118367, -64814,  66268,   66204,   106541,  65947,   65550,   65552,
      -117462, 66331,   66522,   -116949, -65448,  65628,   66013,   65551,
      -116051, -116162, -65384,  65692,   65553,   66077,   -115665, 66459,
      66395,   65546,   65545,   -114500, -114627, -114754, 69677,   65818,
      77869,   65818,   -113987, -57332,  73773,   66142,   -113347, -113474,
      110637,  65882,   102445,  -112188, 8782,    -112349, -112470, -60760,
      65578,   71336,   68265,   -111039, -111676, 82,      70696,   -111197,
      -111318, 70056,   71080,   68009,   71592,   -110395, 10841,   69,
      65728,   9415,    78,      65591,   -108534, -109361, 8665,    8908,
      65586,   -108851, 10702,   84,      77827,   8909,    10830,   65547,
      65536,   -107711, 9946,    -107862, 69864,   70888,   -107325, 68,
      71528,   -107094, 69736,   70760,   -102452, -105010, 88,      -105271,
      84,      -105659, 9426,    10702,   8649,    73731,   10066,   9793,
      73728,   84,      66847,   68,      -104625, 65592,   70,      -102842,
      80,      -103099, 82,      -103351, 9167,    8402,    77,      65595,
      77,      65593,   9938,    65594,   9801,    69,      65595,   8915,
      -65489,  65584,   -100671, -101559, 10575,   65556,   9422,    9299,
      -101051, 65582,   10700,   69,      65583,   -100148, 9813,    84,
      65572,   8915,    66719,   -94266,  -98738,  -98993,  11603,   -99158,
      70248,   71272,   84,      70568,   8916,    8903,    82,      -95295,
      -96186,  -97075,  -97586,  -65470,  65606,   9921,    69,      -63422,
      67654,   10305,   -96557,  -60603,  70470,   8912,    67,      66373,
      78,      -95661,  -61115,  69958,   8912,    67,      65861,   10578,
      11457,   -94770,  66116,   9921,    69,      -62910,  68166,   66356,
      77,      -93360,  83,      -93526,  69800,   70824,   -93142,  70440,
      71464,   -92607,  10825,   67817,   -92221,  68,      71656,   -91741,
      -91862,  69928,   70952,   67881,   10063,   10825,   10575,   65573,
      10831,   65580,   -90160,  -90286,  10071,   69635,   65579,   82,
      70632,   82,      -89019,  10057,   10836,   11333,   84,      65574,
      9412,    8387,    8916,    -88237,  -61179,  69894,   8912,    67,
      65797,   -86587,  10959,   9428,    8910,    -86957,  -60667,  70406,
      8912,    67,      66309,   -85296,  -85933,  10964,   10066,   66591,
      9813,    7892,    -85443,  65571,   65570,   8389,    84,      65587,
      -82111,  -82488,  -82736,  -83884,  9431,    8660,    72,      70145,
      -83007,  -83249,  9426,    9166,    65990,   80,      66783,   10834,
      65585,   8645,    67845,   10575,   84,      65536,   68,      -81501,
      -81622,  70376,   71400,   68329,   -80447,  -80696,  10962,   69,
      66655,   10053,   65558,   68,      -79837,  -79958,  70120,   71144,
      68073,   78,      -79028,  9428,    76,      67061,   10693,   83,
      66484,   9416,    8908,    66869,   -77373,  10575,   -77533,  -77654,
      69992,   71016,   67945,   84,      -77014,  70184,   71208,   -76611,
      65753,   106541};
  int *App;
  int Bapp;
  int *Mref;
  auto void Compileblock(int Level, int Btag, int *Btype, int *Gd);
  App = &Phrase[112];
  Bapp = *App;
  Tt0 = &Tagtype[0];
  *Tt0 = Beg;
  Mref = &Gram[(unsigned)Initial[34] >> 7 & 255];
  Compileblock(-3, 0, *Tt0, *Tt0);
  Newline();
  if (Faulty) _imp_monitor(192);
  void Compileblock(int Level, int Btag, int *Btype, int *Gd) {
    auto void Printss(int S);
    auto int Gapp(void);
    auto void Fault(int N);
    auto void Analyse(void);
    auto void Compile(void);
    static int Ac = ~255;
    static int Aclit = 0;
    int Tbase;
    int Dbase;
    int Lstack;
    int Estack;
    int Pmax;
    int Atag;
    int Danger;
    int Access;
    int Extind;
    int Ibase;
    Tbase = Tmax;
    Dbase = Dmax;
    Lstack = 3;
    Estack = 0;
    if (*Btype != Beg) {
      Analyse();
      X = Gapp() << 8;
      if (*Btype & (~255)) {
        if ((*Btype & (~255)) != X && Global != 0) Fault(18);
      } else
        *Btype = *Btype + X;
      if (!(*Btype & Body)) goto Fin;
    }
    if (Btag) Printss(Map + 8);
    Access = Btag;
    Extind = *Btype & Ext;
    *Btype = *Btype ^ Extind;
    Atag = 0;
    Ibase = Icount;
    Danger = 0;
    Pmax = Tmax;
    if (Pmax - 1 == Tbase && (Tagtype[Pmax] & 62) == 0) {
      Ac = ~Pmax;
      Aclit = 0;
    }
    for (;;) {
      Line += Lines;
      Newlines(Lines);
      Lines = 0;
      Analyse();
      if (Ss) Compile();
      if (Sstype < 0) {
        Ac = ~255;
        if (Sstype << 1) break;
        Compileblock(Level + 3, X, Tagtype[X], Danger);
      }
    }
    Printss(Map);
  Fin:
    Tmax = Tbase;
    Dmax = Dbase;
    return;
    void Printss(int S) {
      int K;
      int P;
      Selectoutput(S & 7);
      Write(Line, 3);
      Space();
      Space();
      if (S) {
        Spaces(Level);
        Pos1 = 0;
      }
      P = 1;
      for (;;) {
        if (P == Pos1) Printsymbol('^');
        if (P == Pos) break;
        K = Char[P];
        P++;
        if (K == Nl || (K == '%' && P == Pos)) break;
        Printsymbol(K);
      }
      if (S == Map) Write(Icount - Ibase, 5);
      Newline();
      Selectoutput(Obj);
    }
    void Printident(void) {
      int I;
      int J;
      int K;
      int L;
      I = Index[X];
      J = (unsigned)I >> 9;
      Printsymbol(((unsigned)J >> 3) + 32);
      I = I & 511;
      J = J & 7;
      while (J) {
        J--;
        for (L = 12; L >= 0; L -= 6) {
          K = (unsigned)Dict[I - J] >> L & 63;
          if (K) Printsymbol(K + 32);
        }
      }
    }
    int Gapp(void) {
      static const int Comma = 15;
      static const int Lb = 14;
      int I;
      int L;
      int Class(int K) {
        if (K & (Array + Proc)) return ((K & 15) + 80);
        if (!(K & Ref)) return (122);
        if (!(K & 2)) return (119);
        return (120);
      }
      void Setgcell(int C) {
        C += L << 7;
        while (L != Gmax) {
          L++;
          if (Gram[L] == C) return;
        }
        Gmax++;
        L = Gmax;
        Gram[L] = C;
      }
      I = Tmax;
      if (I == Tbase) return (255);
      L = Gmax1;
      for (;;) {
        Setgcell(Class(Tagtype[I]));
        I--;
        if (I == Tbase) break;
        Setgcell(Comma);
      }
      Setgcell(Lb);
      return (L);
    }
    void Fault(int N) {
      static int S_sw;
      static void *S[19 /*0:18*/] = {
          &&S_0,  &&S_1,  &&S_2,  &&S_3,  &&S_4,  &&S_5,  &&S_6,
          &&S_7,  &&S_8,  &&S_9,  &&S_10, &&S_11, &&S_12, &&S_13,
          &&S_14, &&S_15, &&S_16, &&S_17, &&S_18,
      };
      if (N > 2) Pos1 = 0;
      if (Pos) Printss(Err);
      Selectoutput(Err);
      Printsymbol('*');
      goto *S[S_sw = N];
    S_0:
      printstring("FORM");
      goto F;
    S_1:
      printstring("ATOM");
      goto F;
    S_2:
      printstring("Name");
      goto F;
    S_3:
      printstring("Size");
      goto F;
    S_4:
      printstring("DUPLICATE");
      goto F;
    S_5:
      printstring("%BEGIN");
      goto M;
    S_6:
      printstring("%CYCLE");
      goto M;
    S_7:
      printstring("%START");
      goto M;
    S_8:
      printstring("%End");
      goto M;
    S_9:
      printstring("%REPEAT");
      goto M;
    S_10:
      printstring("%FINISh");
      goto M;
    S_11:
      printstring("%RESULT");
      goto M;
    S_12:
      Printsymbol('\'');
      Printident();
      Printsymbol('\'');
    M:
      printstring(" MISSING");
      goto F;
    S_13:
      printstring("BOUNDS");
      goto F;
    S_14:
      printstring("Index");
      goto F;
    S_15:
      printstring("CONText");
      goto E;
    S_16:
      printstring("Access");
      goto A;
    S_17:
      printstring("ORDER");
      goto F;
    S_18:
      printstring("MATCH");
    F:
      Faulty = 1;
    A:
      Access = -1;
    E:
      Newline();
      Selectoutput(Obj);
      if (!Symtype) Pos = 0;
    }
    void Analyse(void) {
      static const int Comma = 15;
      int Atom1;
      int Atom2;
      int Subatom;
      int Last;
      int Head;
      int Max;
      int Dup;
      int Text;
      int Lim;
      int Index0;
      int K;
      int N;
      int S;
      int G;
      int Class;
      int Nmin;
      int Nmax;
      int *Z;
      static int Quote = 0;
      static int Key = 0;
      static int Gg = 0;
      void Readsym(void) {
        if (Sym != Nl) goto L__2;
        Pos = 0;
        Pos1 = 0;
      L__1:
        Symtype = 1;
      L__2:
        Readsymbol(Sym);
        if (Pos != 73) Pos++;
        Char[Pos] = Sym;
        if (Sym != Nl) {
          if (Quote) return;
          if (Sym == ' ') goto L__1;
          if (Sym == '%') {
            Symtype = 2;
            goto L__2;
          }
          if (Sym >= 96) Sym -= 32;
          Key = Kdict[Sym];
          if ((Key & 3) != 0 || Symtype != 2) Symtype = (Key & 3) - 2;
        } else {
          Lines++;
          Symtype = Quote;
        }
      }
      void Codeatom(int Target) {
        int I;
        int J;
        int K;
      L__1:
        Pos1 = Pos;
        Atom1 = 9;
        Atom2 = 0;
        Subatom = 0;
        if (!Symtype) return;
        if (Symtype == -2) goto Name;
        if (Symtype < 0) goto Number;
        if (Quote) goto Quoted;
        if (Sym == '\'') goto Quotemark;
        if (Sym == '"') goto String;
        I = (unsigned)Key >> 2;
        Readsym();
        for (;;) {
          J = Kdict[I];
          if (J & 65536) break;
          if ((J & 127) != Sym || Symtype < 0) {
            if (J >= 0) goto Err;
            I++;
          } else {
            K = (unsigned)J >> 7 & 511;
            Readsym();
            if (J > 0) {
              if (K) {
                if (K != Sym || Symtype < 0) goto Err;
                Readsym();
              }
              K = I + 1;
            }
            I = K;
          }
        }
        Atom1 = J & 63;
        Subatom = (unsigned)J >> 6 & 1023;
        if (Atom1 == 0 && Subatom == 0) goto L__1;
        if (J < 0) Atom2 = Kdict[I + 1] & 63;
        if (Atom1 >= 8) return;
        if (Last >= 8) Decl = 0;
        Decl = Decl ^ Subatom;
        if (Last != 0 && (Decl & Proc) != 0) Decl = Decl - Body + Ref;
        if (Atom1) return;
        if (Symtype > 0) goto L__1;
      Err:
        Atom1 = -1;
        return;
      Quoted:;
        if (Last != Comma) {
          Atom1 = Comma;
          return;
        }
      Quotemark:;
        if (Last == 38) goto String;
        Quote = Sym;
        Readsym();
        Atom1 = 71;
        Subatom = Sym;
        if (Sym == Quote && Nextsymbol() == Quote) Readsym();
        if (Nextsymbol() != Quote) return;
        Readsym();
        goto Endquote;
      String:;
        Quote = Sym;
        Readsym();
        Atom1 = 67;
        Subatom = Text;
        J = 0;
        while (Sym != Quote || Nextsymbol() == Quote) {
          if (Sym == Quote) Readsym();
          if (J & (~127)) {
            Dict[Text] = J;
            Text--;
            if (Text == Dmax) {
              Atom1 = -3;
              Text++;
            }
            J = 0;
          }
          J = (J << 7) + Sym;
          Readsym();
        }
        Dict[Text] = J - 131072;
        Text--;
      Endquote:;
        Quote = 0;
        Readsym();
        return;
      Number:;
        if (Last == 17 || (Last == 0 && Section == 0)) goto Name;
        Atom1 = 71;
        I = 10;
        for (;;) {
          Subatom = 0;
          for (;;) {
            if (Symtype == -1)
              K = Sym - '0';
            else
              K = Sym - 'A' + 10;
            if (K >= I) goto Err;
            Subatom += K;
            Readsym();
            if (Symtype >= 0) break;
            J = I;
            K = Subatom;
            Subatom = 0;
            while (J) {
              if (J & 1) Subatom += K;
              K = K << 1;
              J = (unsigned)J >> 1;
            }
          }
          if (Sym != '_') return;
          I = Subatom;
          Readsym();
          if (Symtype >= 0) goto Err;
        }
        void Lookup(int D) {
          static int I;
          int J;
          int K;
          int L;
          int M;
          I = Index0 + Tmax + 1;
          L = Index0 + Lim;
        Rep:
          I--;
          if (I == L) goto New;
          if ((*Integer(I) & (~511)) != Head) goto Rep;
          J = *Integer(I) & 511;
          K = Max;
          while (K != Dmax) {
            M = Dict[K];
            if (Dict[J] != M) goto Rep;
            J--;
            K--;
          }
          Subatom = I - Index0;
          Ttx = &Tagtype[Subatom];
          Atom1 = (*Ttx & 15) + 64;
          if (*Ttx & Proc)
            *App = (unsigned)*Ttx >> 8;
          else
            *App = Bapp;
          if (!(D & 255)) return;
          if (D == 36 && *App == 0) return;
          if ((*Ttx & 255) + Body == D) {
            *Ttx = *Ttx + Body;
            return;
          }
          Dup = 1;
        New:
          if (!D) return;
          Tmax++;
          Subatom = Tmax;
          Ttx = &Tagtype[Subatom];
          *Ttx = D;
          Atom1 = (*Ttx & 15) + 64;
          Index[Tmax] = Head + Max;
          Dmax = Max;
        }
      Name:;
        Head = (Sym - 32) << 12;
        Max = Dmax;
        for (;;) {
          Readsym();
          if (Symtype >= 0) goto L__25;
          Head += 512;
          Max++;
          J = Sym - 32;
          Readsym();
          if (Symtype >= 0) break;
          J = (J << 6) + Sym - 32;
          Readsym();
          if (Symtype >= 0) break;
          J = (J << 6) + Sym - 32;
          Dict[Max] = J;
        }
        Dict[Max] = J;
      L__25:
        Atom1 = -2;
        Atom2 = 70;
        Lim = Tbase;
        if (Last == 0 && Sym == ':') {
          Lookup(64);
          return;
        }
        if (Last == 17) {
          Lookup(256);
          return;
        }
        if (Target == 70 && Decl != 0) {
          Lookup(Decl);
          return;
        }
        Lim = Global;
        if (Last == 40)
          Lookup(256);
        else
          Lookup(0);
        if (Atom1 != 65 || (*Ttx & (~255)) == 0) return;
        Atom1 = 71;
        Subatom = Dict[(unsigned)*Ttx >> 8];
      }
      Ss = 0;
      Sstype = 1;
      Decl = 0;
      Atom1 = 0;
      Last = 0;
      Dup = 0;
      Text = Dbound;
      Index0 = Addr(Index[0]);
      *Mref = (*Mref & (~127)) + 119;
      if (*Btype & 2) *Mref = *Mref + 1;
      Nmax = 0;
      Nmin = Nodebound + 1;
      N = 0;
      if (Gg == 0 || Section != 0) {
        if (!Symtype) Readsym();
        if (Symtype == 0 || Sym == '!') goto Skp;
        Codeatom(0);
        if (Atom1 == 11) goto Skp;
      }
      if (Gg) goto L4;
      if (Atom1 <= 0) goto L__91;
      Gg = Initial[Atom1];
      if (!Gg) goto L__91;
      Sstype = Gg << 1 & 0600000;
      if (Gg < 0) {
        Nmax = 1;
        Refco[Nmax] = 0;
        Sub[Nmax] = 1;
      }
    L1:
      Last = Atom1;
      Atom1 = 0;
      S = Subatom;
    L2:
      Class = Gg & 127;
      if (Class >= 24) {
        Nmin--;
        if (Nmin == Nmax) goto L__90;
        Sub[Nmin] = S;
      L3:
        Z = &N;
        for (;;) {
          K = *Z & 127;
          if (K == 0 || (Gg & 98304) == 0) break;
          Gg -= 32768;
          Z = &Refco[K];
        }
        Refco[Nmin] = (Class << 7) + K;
        *Z = (*Z ^ K) + Nmin;
      }
    L4:
      G = (unsigned)Gg >> 7 & 255;
      for (;;) {
        Gg = Gram[G];
        Class = Gg & 127;
        if (!Class) break;
        if (Class < 112) {
          if (Class >= 80) Class = Atomic[Class];
          if (!Atom1) Codeatom(Class);
          if (Class == Atom1 || Class == Atom2) goto L1;
          if (Gg >= 0) goto L__91;
          G++;
        } else {
          Nmax++;
          if (Nmax == Nmin) goto L__90;
          Refco[Nmax] = N;
          Sub[Nmax] = G;
          N = 0;
          G = Phrase[Class];
        }
      }
      S = 0;
      while (N) {
        Z = &Refco[N];
        K = *Z & 127;
        *Z = (*Z ^ K) + S;
        S = N;
        N = K;
      }
      if (!Nmax) goto L5;
      N = Refco[Nmax];
      G = Sub[Nmax];
      Nmax--;
      K = Gg;
      for (;;) {
        Gg = Gram[G];
        if (!K) break;
        if (Gg >= 0) goto L__91;
        K -= 32768;
        G++;
      }
      if (S == 0 || (*Z & 127) != 0) goto L2;
      Class = (unsigned)*Z >> 7;
      goto L3;
    L5:
      Ss = S;
      if (Dup) Fault(4);
      return;
    L__90:
      Atom1 = -3;
    L__91:
      while (Sym != Nl) Readsym();
      if (Atom1 < 0)
        Fault(-Atom1);
      else
        Fault(0);
      Quote = 0;
      Symtype = 0;
      Decl = 0;
      Section = 0;
      Gg = 0;
      return;
    Skp:
      while (Symtype) Readsym();
    }
    void Compile(void) {
      static const int Lac = 68;
      static const int Lad = 95;
      static const int Tad = 71;
      static const int Ada = 64;
      static const int Dac = 65;
      static const int Dad = 93;
      int I;
      int J;
      int K;
      int Next;
      int Link;
      int Class;
      int Refdest;
      int Bown;
      int Pend;
      int Pend1;
      int Pendopr;
      int Labcode;
      int Else;
      int Main;
      int Ltag;
      int Lnest;
      int Final;
      int Control;
      int Inc;
      int End;
      int Ilit;
      int Elit;
      static int Lit = 0;
      static int Lit1 = 0;
      static int C_sw;
      static void *C[112 /*1:112*/] = {
          &&C_1,       &&C_2,       &&C_3,       &&C_4,       &&C_5,
          &&C_6,       &&C_7,       &&C_8,       &&C_9,       &&C_10,
          &&C_11,      &&C_12,      &&C_13,      &&C_14,      &&C_15,
          &&C_16,      &&C_17,      &&C_18,      &&C_19,      &&C_20,
          &&C_default, &&C_default, &&C_default, &&C_default, &&C_default,
          &&C_default, &&C_default, &&C_default, &&C_default, &&C_default,
          &&C_default, &&C_default, &&C_default, &&C_34,      &&C_35,
          &&C_36,      &&C_37,      &&C_default, &&C_default, &&C_40,
          &&C_41,      &&C_42,      &&C_43,      &&C_44,      &&C_45,
          &&C_46,      &&C_47,      &&C_48,      &&C_49,      &&C_50,
          &&C_51,      &&C_52,      &&C_53,      &&C_default, &&C_55,
          &&C_56,      &&C_57,      &&C_58,      &&C_59,      &&C_default,
          &&C_default, &&C_default, &&C_default, &&C_64,      &&C_65,
          &&C_66,      &&C_67,      &&C_68,      &&C_69,      &&C_70,
          &&C_71,      &&C_72,      &&C_73,      &&C_74,      &&C_default,
          &&C_76,      &&C_77,      &&C_78,      &&C_default, &&C_80,
          &&C_81,      &&C_82,      &&C_83,      &&C_84,      &&C_85,
          &&C_86,      &&C_87,      &&C_88,      &&C_89,      &&C_90,
          &&C_91,      &&C_92,      &&C_93,      &&C_94,      &&C_95,
          &&C_96,      &&C_97,      &&C_98,      &&C_99,      &&C_100,
          &&C_101,     &&C_102,     &&C_103,     &&C_104,     &&C_105,
          &&C_106,     &&C_107,     &&C_108,     &&C_109,     &&C_110,
          &&C_111,     &&C_112,
      };
      void Pr(int X) {
        int I;
        I = abs(X);
        while (I) {
          Printsymbol((I & 15) + '0');
          I = (unsigned)I >> 4;
        }
        if (X < 0) Printsymbol('-');
      }
      void Plantname(int X) {
        int I;
        int J;
        void Next(void) {
          Space();
          if (J) {
            J--;
            Pr(Dict[I - J]);
          }
        }
        I = Index[X];
        J = (unsigned)I >> 9 & 7;
        Pr((I & (~511)) + (Tagtype[X] & 15));
        I = I & 511;
        Next();
        Next();
        Space();
      }
      void Swop(void) {
        static int T;
        if (Level < 0)
          if (!Section) {
            Printsymbol('(');
            T = X;
          } else {
            Pr(T);
            Printsymbol(')');
            if (Global) {
              Plantname(T);
              Pr(T);
              Printsymbol('!');
            }
          }
        else
          Printsymbol('/');
        Section = Section ^ 1;
      }
      void Def(int T) {
        Pr(T);
        Printsymbol('.');
        if (Section) return;
        Access = 1;
        Ac = ~255;
      }
      void Op(int Op) {
        Printsymbol(Op);
        Icount++;
      }
      void Plant(int V) {
        Pr(V);
        Op('#');
      }
      void Print(int X) {
        if (Pendopr >= 0) {
          if (Next != Link) Final = 0;
          Pendopr = Pendopr ^ Final;
          if (Pendopr) {
            Pr(Pendopr);
            Op(79);
          }
          if (!Final) {
            Labcode = Main;
            Pr(Lmin);
            Op(76);
          }
          if (Lnest & 1) Def(Ltag - 1);
          Pendopr = -1;
          Access = 1;
        }
        Pr(X);
      }
      void Nest(void) {
        Print(Nst);
        Op(66);
        Ac = ~Ac;
      }
      void Pop(void) {
        Op(84);
        Ac = 255;
      }
      void Expend(void) {
        int C;
        if (Pend < 0) return;
        if (Ac >= 0) Nest();
        if (~Ac != Pend)
          if (!Pend) {
            Print(Lit);
            Op(36);
          } else {
            C = Lac;
            if (Pend & 256) C = Lad;
            if (Lit) {
              Print(Lit);
              Op(36);
              C = Tad;
              if (Pend & 256) C = Ada;
            }
            Print(Pend & 255);
            Op(C);
          }
        else if (Aclit != Lit)
          if (!Pend) {
            Print(Lit);
            Op(36);
          } else {
            Print(Lit - Aclit);
            Op(39);
          }
        Ac = Pend;
        Aclit = Lit;
        Pend = -1;
      }
      void Load(int T) {
        Expend();
        Pend = T;
        Lit = 0;
      }
      void Do(int C) {
        if (Pend >= 0)
          if (!Pend) {
            Print(Lit);
            Op(C - 32);
          } else {
            if (Lit)
              if (C == Tad) {
                Print(Lit);
                Op(39);
              } else {
                Expend();
                goto L__1;
              }
            Print(Pend);
            Op(C);
          }
        else {
        L__1:
          Op(C + 16);
        }
        Pend = -1;
        if (C != 75) Ac = 255;
      }
      void Store(int T) {
        static const int Dzm = 67;
        static const int Isz = 73;
        if (Pend == 0 && Lit == 0) {
          Pend = -1;
          if (~Ac == T) Ac = ~255;
          Final = 512;
          Print(T);
          Op(Dzm);
        } else if (Pend == T && Lit == 1 && ~Ac != T) {
          Pend = -1;
          Final = 512;
          Print(T);
          Op(Isz);
          Op(79);
        } else {
          Expend();
          if (Pendopr < 0) {
            Ac = T;
            Aclit = 0;
          }
          Ac = ~Ac;
          Final = 512;
          Print(T);
          Op(Dac);
        }
      }
      void Opr(int X) {
        Expend();
        Print(X);
        Op(79);
        if (X & 4125) Ac = 255;
      }
      void Not(void) {
        if (Pend)
          Opr(1);
        else
          Lit = ~Lit;
      }
      void Neg(void) {
        if (Pend < 0) {
          Print(-1);
          Op(39);
        } else
          Lit--;
        Not();
      }
      void Call(int T) {
        Expend();
        Print(T);
        Op(66);
        Ac = 255;
      }
      void Jmsx(int T) {
        if (Pend >= 0) {
          Print(2);
          Op(Dac);
          Ac = ~Ac;
        } else {
          Store(1);
          Pop();
          Store(2);
          Load(1);
        }
        Call(T);
      }
      void Jump(int T) {
        Print(T);
        Op(76);
      }
      void Mon(int N) {
        Print(Moni);
        Op(82);
        Plant((N & 255) + 256);
        Ac = ~255;
        Access = 0;
      }
      void Aref(void) {
        Call(Ar);
        Print(X);
        Op(Lad);
      }
      void Baref(void) {
        Call(Bar);
        Print(X);
        Op(Lad);
      }
      void Plantown(void) {
        Ownc--;
        if (!(Ownc & Bown)) {
          if (Bown) Lit = (Lit << 9) + Lit1;
          Plant(Lit);
        } else
          Lit1 = Lit;
      }
      void Compileend(void) {
        int I;
        int J;
        int K;
        while (Lstack != 3) {
          Fault((Lstack & 1) + 9);
          Lmin += 2;
          Lstack = (unsigned)Lstack >> 2;
        }
        X = Tmax;
        Swop();
        if (Danger) Plant(0);
        I = -1;
        while (X != Tbase) {
          Ttx = Tt0;
          K = *Ttx & 255;
          if (K == Own + Array) {
            J = (unsigned)*Ttx >> 8;
            if (J) {
              Swop();
              Def(X);
              Plant(Dict[J - 1]);
              J = Dict[J];
              Plant(J);
              while (J > 0) {
                Op(79);
                J--;
              }
              Swop();
            }
          }
          if (!(K & (Ext + Own)))
            if (K == 0 || (K & (Proc + Ref)) == Proc)
              Fault(12);
            else {
              if ((K & (Ref + Array + Proc)) == 0 && Danger == 0) {
                Def(X);
              } else {
                Def(-X);
              }
              if ((K & (Ref + Array + Proc)) == 0 && Danger != 0) {
                Plant(-1);
              } else
                Plant(0);
              I--;
            }
          X--;
        }
        if (Btag) {
          Def(Btag);
          Plant(0);
          if (!Danger) {
            if (Pmax != Tbase)
              for (;;) {
                Print(Pmax);
                Op(Dad);
                Pmax--;
                if (Pmax == Tbase) break;
                Pop();
              }
          } else {
            J = Pmax - Tbase;
            if (J) J--;
            Call(Ent);
            Plant(I);
            Plant(I + J - 1);
          }
          if (Btag != Danger && Danger > 0)
            *Gd = Btag;
          else
            *Btype = *Btype + Ext;
        }
        Swop();
      }
      void Getnext(void) {
        int I;
        if (!Next) {
          Next = Refco[Link] & 127;
          Link = Sub[Link];
        }
        for (;;) {
          X = Sub[Next];
          Ttx = Tt0;
          I = Refco[Next];
          Class = (unsigned)I >> 7;
          if (Class < 112 || X == 0) break;
          if (I & 127) {
            Sub[Next] = Link;
            Link = Next;
          }
          Next = X;
        }
        Next = I & 127;
      }
      Pend = -1;
      Lit = 0;
      Labcode = 0;
      Else = 0;
      Pendopr = -1;
      if (Ac >= 0) exit(0);
      Next = Ss;
      Link = 0;
      if (Sstype == 0 && Access == 0) Fault(16);
    L__1:
      Getnext();
    L__2:
      if (Class <= 31) goto *C[C_sw = (X)-1];
      goto *C[C_sw = (Class)-1];
    L__9:
      if (Next != Link) goto L__1;
    L__10:
      if (!Labcode) return;
    L__11:
      if (!(Labcode & 1)) {
        Jump(-(Lmin + 1));
        Access = 0;
      }
      if (!Labcode) return;
      if (Labcode != 3) Def(Lmin);
      if (Else) Def(Lmin + 1);
      return;
      int Size(void) {
        int I;
        I = Lit - Lit1 + 1;
        if (I <= 0 || I > 4095) {
          Fault(13);
          I = 200;
        }
        return (I);
      }
      void Save(int V) {
        Dmax++;
        Dict[Dmax] = V;
      }
    C_70:;
      if (!(*Ttx & Own)) {
        if (*Ttx & Ext) goto L__811;
        if ((*Ttx & (Ref + Array)) != Array) goto L__9;
        if (*Ttx & 2) {
          Print(3);
          Op(67);
        }
        if (Ac >= 0) {
          if (Lstack != 3) Fault(17);
          Jmsx(Adec);
        } else {
          Load(1);
          Call(Adec);
        }
        Atag = X;
        Print(Atag);
        Op(Dad);
        Ac = ~255;
        goto L__9;
      }
      Ownc = 0;
      Pend = -1;
      if (!(*Ttx & 3)) {
        Save(-Lit);
        Save(Size());
      L__701:
        *Ttx = (Dmax << 8) + *Ttx;
        goto L__9;
      }
      if (*Ttx & Ext) {
        Save(Lit);
        goto L__701;
      }
      if (!Section) Swop();
      if (*Ttx & Ref) X = -X;
      Def(X);
      if ((*Ttx & (Ref + Array)) != Array) {
        Plant(Lit);
        if (Level < 0) Swop();
        goto L__9;
      }
      Plant(-Lit);
      Ownc = Size();
      Plant(Ownc);
      Lit = 0;
      Bown = 0;
      if (!(*Ttx & 2)) goto L__9;
      Bown = 1;
      Ownc += Ownc & 1;
      goto L__9;
    C_108:;
      Lit1 = Lit;
      Pend = -1;
      goto L__9;
    C_109:;
      if (Ownc > 0) Plantown();
      Lit = 0;
      Pend = -1;
      goto L__9;
    C_110:;
      while (Ownc > 0) {
        Plantown();
        Lit = 0;
      }
      if (Section) Swop();
      return;
    C_81:;
      if (!(*Ttx & (Ext + Body))) {
        if (!Global) *Ttx = *Ttx + Ext;
        return;
      }
    L__811:
      Printsymbol('(');
      if (*Ttx & Body) goto L__9;
      Plantname(X);
      Print(X);
      Printsymbol(',');
      Printsymbol(')');
      goto L__9;
    C_57:;
      Tbase = Tmax;
      return;
    C_58:;
      Global = Tbase;
      Tbase = Tmax;
      Line = 1;
      Lines = 0;
      Icount = 0;
      Closeoutput();
      return;
    C_55:;
      if (Level < 0) {
        Sstype = 0;
        Access = 1;
        Level = 0;
        Printsymbol('!');
      } else {
        Tmax++;
        X = Tmax;
        Tagtype[X] = Beg;
        Index[X] = 0;
        Call(X);
        Ac = ~255;
        Printsymbol('(');
      }
      return;
    C_56:;
      if (!Btag) {
        Fault(5);
        Sstype = 0;
        return;
      }
      if (Access) {
        if (Access > 0 && (*Btype & 15) != 12 && Global != 0) Fault(11);
        Print(Btag);
        Op(92);
      }
      if (!Danger) Danger = -Atag;
      Compileend();
      if (Global) Plantname(Tbase);
      Print(Tbase);
      Printsymbol(')');
      if (!Extind) return;
      if (Level) Fault(15);
      Plantname(Tbase);
      Pr(Tbase);
      Printsymbol('!');
      return;
    C_59:;
      if (Access) Mon(0);
      Danger = 0;
      if (Level >= 0) Compileend();
      Printsymbol(')');
      if (!Btag) return;
      Fault(8);
      _imp_monitor(192);
      void Poplabel(int Ind) {
        if (Lstack == 3 || (Lstack & 1) != Ind) {
          Fault(Ind + 6);
          return;
        }
        Labcode = Lstack & 3;
        Else = Estack & 1;
        Lstack = (unsigned)Lstack >> 2;
        Estack = (unsigned)Estack >> 1;
        Lmin += 2;
      }
    C_107:;
      Control = X;
      Pend1 = Pend;
      Lit1 = Lit;
      Pend = -1;
      goto L__9;
      void Set(int *W) {
        if (Pend) {
          Tmax++;
          *W = Tmax;
          Tagtype[*W] = 1;
          Index[*W] = 0;
          Store(*W);
          Lit = 0;
        } else {
          *W = 0;
          Pend = -1;
        }
      }
    C_105:;
      Set(Inc);
      Ilit = Lit;
      goto L__9;
    C_106:;
      Set(End);
      Elit = Lit;
      Load(Inc);
      Lit = Ilit;
      Neg();
      if (Pend1 < 0) {
        if (Ac < 0) Pop();
        Do(Tad);
      } else if (Pend) {
        Load(Pend1);
        Lit = Lit1;
        Do(Tad);
      } else {
        Pend = Pend1;
        Lit += Lit1;
      }
      Store(Control);
      Def(Lmin + 1);
      Load(Control);
      Load(End);
      Lit = Elit;
      Do(75);
      Jump(Lmin);
      Load(Inc);
      Lit = Ilit;
      Do(Tad);
      Store(Control);
      Labcode = 2;
      goto L__9;
    C_51:;
      Poplabel(0);
      goto L__11;
    C_53:;
      if (X & 1) Jump(Lmin - 1);
      Def(Lmin + 1);
    C_52:;
      Labcode = 0;
      Main = (unsigned)X >> 3;
      Lnest = X & 7;
      Ltag = Lmin;
      goto L__9;
      void Push(int Andor) {
        if ((Lnest & 2) != Andor) {
          Andor += 4;
          Lnest = Lnest | 1;
        }
        if (Lnest & 1) Ltag--;
        Lnest = (Lnest << 3) + Andor;
      }
    C_42:;
      Push(0);
      goto L__9;
    C_43:;
      Push(2);
      goto L__9;
    C_44:;
      Lnest = Lnest ^ 2;
      goto L__9;
    C_45:;
      if (Next) Push(0);
      if (Pend == 0 && Lit == 0) {
        Pend = -1;
        if (Next) X += 4096;
      } else {
        K = Pend;
        if (X & 64)
          if (Pend == 0 && Lit > 0 && Next == 0) {
            Print(64);
            Op(79);
            Neg();
            Do(Tad);
          } else {
            if (X & 128) {
              Jmsx(Le);
              X = X ^ 448;
            } else {
              Jmsx(Ge);
              X = X ^ 832;
            }
            if (K >= 0) Ac = K;
          }
        else {
          Do(75);
          if (X == 640) {
            if (K >= 0 && Next != 0) {
              Pend = K;
              Ac = ~255;
            }
            X = 0;
          } else
            X = 512;
        }
      }
    Condskip:;
      if (Lnest & 2) X = X ^ 512;
      if ((Lnest & (~7)) != 0 || Main == 2) {
        if (X) Opr(X);
        if (!Next) Ac = ~Ac;
        I = Ltag;
        J = Lnest;
        while (!(J & 4)) {
          J = (unsigned)J >> 3;
          I += J & 1;
        }
        Jump(I);
        if (I == Lmin) Labcode = Main;
        if (Lnest & 1) Def(Ltag - 1);
        Lnest = (unsigned)Lnest >> 3;
        Ltag += Lnest & 1;
      } else {
        Pendopr = X;
        Final = 0;
        Ac = ~Ac;
        if (Lnest & 1) Ac = ~255;
      }
      goto L__9;
    C_49:
    C_50:;
      if (Pendopr >= 0) Print(0);
      if (!Labcode) Def(Lmin + 1);
      if (Lstack < 0) _imp_monitor(21);
      Lstack = (Lstack << 2) + Labcode;
      Estack = (Estack << 1) + Else;
      Lmin -= 2;
      return;
    C_46:;
      Poplabel(1);
      goto L__9;
    C_47:;
      Poplabel(1);
      if (Labcode == 3) Fault(15);
    C_48:;
      if (Access) {
        Jump(Lmin + 1);
        Else = 1;
      }
      Labcode = 3;
      Def(Lmin);
      goto L__9;
    C_20:;
      J = Lmin + 2;
      K = 1;
      while (K & Lstack) {
        J += 2;
        K = K << 2;
      }
      if (!((-K) & Lstack)) {
        Fault(15);
        K = 0;
      }
      Access = 0;
      Final = 512;
      Jump(J);
      Lstack = K << 1 | Lstack;
      goto L__9;
    C_80:;
      if (X < Atag) Fault(17);
      Def(X);
      return;
    C_64:;
      Access = 0;
      Final = 512;
      Jump(X);
      goto L__9;
    C_82:;
      I = (unsigned)*Ttx >> 8;
      if (!I) return;
      Lit += Dict[I - 1];
      if (Lit <= 0) {
        Lit += Dict[I];
        if (Lit > 0) {
          Print(Lit + 1);
          Space();
          Def(X);
          return;
        }
      }
      Fault(14);
      return;
    C_72:;
      Aref();
      Print(3);
      Op(88);
      Mon(135);
      goto L__10;
    C_16:;
      I = 12;
    Pex:
      if ((*Btype & 15) != I) Fault(15);
      Access = 0;
      Final = 512;
      Print(Btag);
      Op(92);
      goto L__9;
    C_17:;
      Opr(2050);
    L__171:
      I = 4;
      goto Pex;
    C_18:;
      Opr(2048);
      goto L__171;
    C_35:;
      I = (*Btype & 3) + 4;
      J = Ac;
      K = Aclit;
      Expend();
      Ac = J;
      if (Ac >= 0) Ac = ~255;
      Aclit = K;
      goto Pex;
    C_34:;
      I = (*Btype & 3) + 12;
      Store(3);
      goto Pex;
    C_19:;
      Mon(64);
      goto L__9;
    C_36:;
      if (Btag) Fault(15);
      Call(Flt);
      Plant(1);
      Ac = ~255;
      Getnext();
      Jump(X);
      goto L__9;
    C_37:;
      Pend = -1;
      Mon(Lit);
      goto L__9;
    C_40:;
      Lit = Sub[Next];
    C_41:;
      Print(Lit);
      Op(X);
      Ac = ~255;
      return;
    C_67:
    C_87:;
      Call(Ptxt);
      do {
        I = Dict[X];
        Plant(I);
        X--;
      } while (I >= 0);
      Ac = ~255;
      Getnext();
      goto L__9;
      void Pcall(void) {
        Call(X);
        if (Danger != 0 && Danger != Btag) return;
        if ((*Ttx & Ext) == 0 && X <= Pmax) Danger = X;
      }
      void Mcall(void) {
        if (X == Int && Pend > 0 && Lit == 0 &&
            (Tagtype[Pend] & (Own + Ref)) == Own) {
          I = Pend;
          Pend = -1;
        } else {
          Pcall();
          I = 3;
        }
      }
      void Restore(void) {
        if (Pend1 >= 0) {
          Pend = Pend1;
          Lit = Lit1;
          Ac = ~255;
          Expend();
        } else
          Pop();
      }
    C_71:;
      I = X;
      Getnext();
      if (Pend >= 0 && Class == 28 && X <= 2) {
        if (X != 1) I = -I;
        Lit += I;
        goto L__9;
      }
      Load(0);
      Lit = I;
      goto L__2;
    C_103:;
      Pend1 = Pend;
      Lit1 = Lit;
      Pend = -1;
      goto L__9;
    C_65:;
      Load(X);
      goto L__9;
    C_73:;
      Aref();
      I = 3;
    Vg:
      Print(I);
      Op(84);
      goto L__9;
    C_77:;
      Mcall();
      if (I == 3) goto Vg;
      if (Ac >= 0) Nest();
      Ac = 255;
      goto Vg;
    C_66:;
      Load(256 + X);
    Bg:
      Call(Bget);
      goto L__9;
    C_74:;
      Baref();
      goto Bg;
    C_78:;
      Pcall();
      goto Bg;
    C_96:;
      Store(X);
      goto L__9;
    C_86:;
      Aref();
      I = 3;
    Vp:
      Restore();
    Vp1:
      Print(I);
      Op(81);
      Ac = ~Ac;
      goto L__9;
    C_83:;
      Mcall();
      if (I == 3 || Ac < 0) goto Vp;
      goto Vp1;
    C_99:;
      Call(Bput);
      Print(X);
      Op(Lad);
      Ac = ~255;
      goto L__9;
    C_100:;
      Baref();
    Bp:
      Restore();
      Call(Bput);
      Print(3);
      Op(Lac);
      Ac = ~255;
      goto L__9;
    C_101:;
      Pcall();
      goto Bp;
    C_112:;
      Expend();
      if (Ac >= 0) Nest();
      goto L__9;
    C_84:
    C_85:
    C_89:
    C_90:
    C_92:;
    C_93:
    C_94:
    C_97:
    C_98:;
      Load(256 + X);
      goto L__9;
    C_88:;
      Aref();
      goto L__9;
    C_102:;
      Baref();
      goto L__9;
    C_91:
    C_95:;
      if (X != Int) Pcall();
      goto L__9;
    C_69:;
      if (X != Adr) Pcall();
      goto L__9;
    C_68:;
      Pcall();
      X = 256;
      goto Condskip;
    C_76:;
      Expend();
      Final = 512;
      Pcall();
      Ac = ~255;
      goto L__9;
    C_111:
      goto L__9;
    C_104:;
      Opr(65);
      Opr(513);
      Print(1);
      Op(39);
      goto L__9;
    C_1:;
      if (Class != 24) Do(Tad);
      goto L__9;
    C_2:;
      if (Class != 24)
        if (Pend > 0) {
          Print(1);
          Op(79);
          Do(Tad);
          Not();
        } else {
          Neg();
          Do(Tad);
        }
      else
        Neg();
      goto L__9;
    C_3:;
      Not();
      goto L__9;
    C_4:
    C_5:;
      if (Pend == 0 && (Lit & (~7)) == 0) {
        Pend = -1;
        while (Lit) {
          if (X != 5)
            Opr(2056);
          else
            Opr(2064);
          Lit--;
        }
      } else {
        if (X == 5) Neg();
        Jmsx(Sh);
      }
      goto L__9;
    C_6:;
      Do(74);
      goto L__9;
    C_10:;
      Do(69);
      goto L__9;
    C_11:
    C_12:
    C_13:
    C_14:
    C_15:;
      Jmsx(X);
      goto L__9;
    C_8:;
      Neg();
    C_7:;
      Getnext();
      if (!Pend) {
        Pend = 256 + X;
      } else {
        Expend();
        Print(X);
        Op(Ada);
        Ac = 255;
      }
      goto L__9;
    C_9:;
      Getnext();
      if (!(*Ttx & Ref)) Fault(15);
      if (Pend - 256 == X && Lit == 1) {
        Print(X);
        Op(89);
        if ((~Ac & 255) == X) Ac = ~255;
      } else {
        if (Pend > 0) {
          Ttx = Tt0;
          Expend();
          if (!(*Ttx & (Own + Ref))) {
            Print(-65537);
            Op(42);
          }
        }
        Print(X);
        Op(Dad);
        Ac = ~(X + 256);
        Aclit = 0;
      }
      goto L__9;
      goto C_skip;
    C_default:
      fprintf(stderr, "\nSwitch label 'C(%d):' not set in %s\n", C_sw + 1,
              __PRETTY_FUNCTION__);
      fflush(stderr);
      abort();
    C_skip:;
    }
  }
  exit(0);
  return (1);
}
