#

/* jff_algol (Jan van Katwijk) */
/* Version 2.1.4		*/
/* input file: mcelan.alg		*/
/* Compiled at Sat Sep 28 01:24:24 2024		*/

#include	<stdio.h>
#include "mcelan.h"

//      Code for the global declarations

 /* abs declared at line 3 */
double _abs_4 (double x_) {
  struct ___abs_4_rec local_data_abs;
  struct ___abs_4_rec *LP = &local_data_abs;

  LP->x_ = x_;
  (LP)->__res_val = fabs ((LP)->x_);
  return LP->__res_val;

}

int _t6_45;                     /* t6 declared at line 7 */
int _t8_45;                     /* t8 declared at line 7 */
int _t12_45;                    /* t12 declared at line 7 */
int _t16_45;                    /* t16 declared at line 7 */
int _t18_45;                    /* t18 declared at line 7 */
int _accentsymbol_45;           /* accentsymbol declared at line 8 */
int _colonsymbol_45;            /* colonsymbol declared at line 8 */
int _opensymbol_45;             /* opensymbol declared at line 8 */
int _smallersymbol_45;          /* smallersymbol declared at line 8 */
int _nlcrsymbol_45;             /* nlcrsymbol declared at line 8 */
int _semicolonsymbol_45;        /* semicolonsymbol declared at line 9 */
int _closesymbol_45;            /* closesymbol declared at line 9 */
int _greatersymbol_45;          /* greatersymbol declared at line 9 */
int _commasymbol_45;            /* commasymbol declared at line 9 */
int _prtapesymbol_45;           /* prtapesymbol declared at line 10 */
int _spacesymbol_45;            /* spacesymbol declared at line 10 */
int _pointsymbol_45;            /* pointsymbol declared at line 10 */
int _apostrophesymbol_45;       /* apostrophesymbol declared at line 11 */
int _tabsymbol_45;              /* tabsymbol declared at line 11 */
int _blocknumber_45;            /* blocknumber declared at line 13 */
int _linenumber_45;             /* linenumber declared at line 13 */
int _linecounter_45;            /* linecounter declared at line 13 */
int _symbol_45;                 /* symbol declared at line 14 */
char _firstscan_45;             /* firstscan declared at line 16 */
char _secondscan_45;            /* secondscan declared at line 16 */

 /* stringsymbol declared at line 18 */
int _stringsymbol_46 (int k_, char *text_) {
  struct ___stringsymbol_46_rec local_data_stringsymbol;
  struct ___stringsymbol_46_rec *LP = &local_data_stringsymbol;

  LP->k_ = k_;
  LP->text_ = text_;
  (LP)->__res_val = 0;
  ;                             // null statement 
  return LP->__res_val;

}

 /* stowintobuffer declared at line 26 */
void _stowintobuffer_48 (int char_) {
  struct ___stowintobuffer_48_rec local_data_stowintobuffer;
  struct ___stowintobuffer_48_rec *LP = &local_data_stowintobuffer;

  LP->char_ = char_;
  ;                             // null statement 

}

 /* RESYM1 declared at line 31 */
int _RESYM1_50 () {
struct ___RESYM1_50_rec local_data_RESYM1;
struct ___RESYM1_50_rec *LP = &local_data_RESYM1;

  (LP)->__res_val = 0;
  ;                             // null statement 
  return LP->__res_val;

}

 /* runout declared at line 36 */
void _runout_52 () {
struct ___runout_52_rec local_data_runout;
struct ___runout_52_rec *LP = &local_data_runout;

  ;                             // null statement 

}

 /* NS declared at line 40 */
void _NS_54 () {
struct ___NS_54_rec local_data_NS;
struct ___NS_54_rec *LP = &local_data_NS;

  ;                             // null statement 

}

 /* prsym declared at line 44 */
void _prsym_56 (int s_) {
  struct ___prsym_56_rec local_data_prsym;
  struct ___prsym_56_rec *LP = &local_data_prsym;

  LP->s_ = s_;
  ;                             // null statement 

}

 /* ERROR declared at line 49 */
void _ERROR_58 (char cond_, int errnum_) {
  struct ___ERROR_58_rec local_data_ERROR;
  struct ___ERROR_58_rec *LP = &local_data_ERROR;

  LP->cond_ = cond_;
  LP->errnum_ = errnum_;
  ;                             // null statement 

}

int _maxofnamestack_45;         /* maxofnamestack declared at line 93 */
int _maxofdefstack_45;          /* maxofdefstack declared at line 93 */
int _maxofactualstack_45;       /* maxofactualstack declared at line 93 */
int _maxofpointerstack_45;      /* maxofpointerstack declared at line 93 */
int _maxofsavestack_45;         /* maxofsavestack declared at line 94 */
int _stackptr_45;               /* stackptr declared at line 94 */
int _freeptr_45;                /* freeptr declared at line 94 */
int _pointerptr_45;             /* pointerptr declared at line 94 */
int _saveptr_45;                /* saveptr declared at line 94 */
int _spacecntr_45;              /* spacecntr declared at line 95 */
int _lcntr_45;                  /* lcntr declared at line 95 */
int _bcntr_45;                  /* bcntr declared at line 95 */
int _llcntr_45;                 /* llcntr declared at line 95 */
int _bbcntr_45;                 /* bbcntr declared at line 95 */
int _SPACEcntr_45;              /* SPACEcntr declared at line 95 */
int _LLcntr_45;                 /* LLcntr declared at line 95 */
int _BBcntr_45;                 /* BBcntr declared at line 95 */
int _t8j_45;                    /* t8j declared at line 95 */
int _t8J_45;                    /* t8J declared at line 96 */
int _word_45;                   /* word declared at line 96 */
int _Word_45;                   /* Word declared at line 96 */
int _nextacc_45;                /* nextacc declared at line 96 */
int _endmarker_45;              /* endmarker declared at line 96 */
int _placeofname_45;            /* placeofname declared at line 96 */
int _tt_45;                     /* tt declared at line 96 */
int _asterisk_45;               /* asterisk declared at line 96 */
int _ksiretsa_45;               /* ksiretsa declared at line 96 */
char _indefmode_45;             /* indefmode declared at line 97 */
char _inactualmode_45;          /* inactualmode declared at line 97 */
char _onlymac_45;               /* onlymac declared at line 97 */
char _frommacro_45;             /* frommacro declared at line 97 */
char _fromactualstack_45;       /* fromactualstack declared at line 97 */
char _accentread_45;            /* accentread declared at line 98 */
int __dv0[2 * 1 + DOPE_BASE];
int _namestack_45[255 - -(2) + 1];      /* namestack declared at line 99 */
int __dv1[2 * 1 + DOPE_BASE];
int _definitionstack_45[4095 - 0 + 1];  /* definitionstack declared at line 99 */
int __dv2[2 * 1 + DOPE_BASE];
int _actualstack_45[2047 - 0 + 1];      /* actualstack declared at line 99 */
int _pointerstack_45[128 - 1 + 1];      /* pointerstack declared at line 100 */
int _savestack_45[120 - -(1) + 1];      /* savestack declared at line 100 */
int A_jff_0A (char *LP, int V) {
  return _stackptr_45 = V;
}
int _jff_0A (char *LP, int d) {
  return _stackptr_45;
}
char A_jff_1A (char *LP, char V) {
  fault (" no assignable object", 154);
}
char _jff_1A (char *LP, int d) {
  return (((_symbol_45) != (_colonsymbol_45)) && ((_symbol_45) != (_opensymbol_45))) && ((_symbol_45) != (_smallersymbol_45));
}
char A_jff_2A (char *LP, char V) {
  fault (" no assignable object", 162);
}
char _jff_2A (char *LP, int d) {
  return ((_symbol_45) == (_nlcrsymbol_45)) || ((_symbol_45) == (_semicolonsymbol_45));
}
char A_jff_3A (char *LP, char V) {
  fault (" no assignable object", 166);
}
char _jff_3A (char *LP, int d) {
  return (_symbol_45) != (_colonsymbol_45);
}
int A_jff_4A (char *LP, int V) {
  return (((struct ___readformals_70_rec *) (LP)))->_ptr_72 = V;
}
int _jff_4A (char *LP, int d) {
  return (((struct ___readformals_70_rec *) (LP)))->_ptr_72;
}
char A_jff_5A (char *LP, char V) {
  fault (" no assignable object", 183);
}
char _jff_5A (char *LP, int d) {
  return (_symbol_45) != (_colonsymbol_45);
}
char A_jff_6A (char *LP, char V) {
  fault (" no assignable object", 188);
}
char _jff_6A (char *LP, int d) {
  return ((_symbol_45) != (_commasymbol_45)) && ((_symbol_45) != (_colonsymbol_45));
}
char A_jff_7A (char *LP, char V) {
  fault (" no assignable object", 194);
}
char _jff_7A (char *LP, int d) {
  return ((_symbol_45) != (_smallersymbol_45)) && ((_symbol_45) != (_colonsymbol_45));
}
char A_jff_8A (char *LP, char V) {
  fault (" no assignable object", 198);
}
char _jff_8A (char *LP, int d) {
  return ((_symbol_45) == (_nlcrsymbol_45)) || ((_symbol_45) == (_semicolonsymbol_45));
}
char A_jff_9A (char *LP, char V) {
  fault (" no assignable object", 206);
}
char _jff_9A (char *LP, int d) {
  return ((_symbol_45) != (_smallersymbol_45)) && ((_symbol_45) != (_colonsymbol_45));
}
char A_jff_10A (char *LP, char V) {
  fault (" no assignable object", 215);
}
char _jff_10A (char *LP, int d) {
  return (((_symbol_45) != (_commasymbol_45)) && ((_symbol_45) != (_smallersymbol_45))) && ((_symbol_45) != (_colonsymbol_45));
}
char A_jff_11A (char *LP, char V) {
  fault (" no assignable object", 224);
}
char _jff_11A (char *LP, int d) {
  return ((_symbol_45) == (_nlcrsymbol_45)) || ((_symbol_45) == (_semicolonsymbol_45));
}
int A_jff_12A (char *LP, int V) {
  fault (" no assignable object", 237);
}
int _jff_12A (char *LP, int d) {
  return 1;
}
int A_jff_13A (char *LP, int V) {
  return (((struct ___compareparameters_83_rec *) ((((struct _____for_body_0_88_rec *) (LP)))->__l_field)))->_l_85 = V;
}
int _jff_13A (char *LP, int d) {
  return (((struct ___compareparameters_83_rec *) ((((struct _____for_body_0_88_rec *) (LP)))->__l_field)))->_l_85;
}
char A_jff_14A (char *LP, char V) {
  fault (" no assignable object", 288);
}
char _jff_14A (char *LP, int d) {
  return ((_symbol_45) != (_accentsymbol_45)) && ((_symbol_45) != (_smallersymbol_45));
}
int A_jff_15A (char *LP, int V) {
  return (((struct ___readblock_80_rec *) (LP)))->_i_82 = V;
}
int _jff_15A (char *LP, int d) {
  return (((struct ___readblock_80_rec *) (LP)))->_i_82;
}
int A_jff_16A (char *LP, int V) {
  return (((struct ___readblock_80_rec *) (LP)))->_i_82 = V;
}
int _jff_16A (char *LP, int d) {
  return (((struct ___readblock_80_rec *) (LP)))->_i_82;
}
char A_jff_19A (char *LP, char V) {
  fault (" no assignable object", 372);
}
char _jff_19A (char *LP, int d) {
  return ((_symbol_45) == (_nlcrsymbol_45)) || ((_symbol_45) == (_semicolonsymbol_45));
}
char A_jff_20A (char *LP, char V) {
  fault (" no assignable object", 406);
}
char _jff_20A (char *LP, int d) {
  return ((_symbol_45) == (_nlcrsymbol_45)) || ((_symbol_45) == (_semicolonsymbol_45));
}
char A_jff_21A (char *LP, char V) {
  fault (" no assignable object", 424);
}
char _jff_21A (char *LP, int d) {
  return ((_symbol_45) != (_nlcrsymbol_45)) && ((_symbol_45) != (_semicolonsymbol_45));
}

 /* macrosym declared at line 453 */
int _macrosym_111 () {
struct ___macrosym_111_rec local_data_macrosym;
struct ___macrosym_111_rec *LP = &local_data_macrosym;

  {                             // code for block at line 454
    if ((_spacecntr_45) > (150)) {
      _spacecntr_45 = (_spacecntr_45) - (1);
      (LP)->_s_113 = _spacesymbol_45;
    }

    else {
      if (_fromactualstack_45) {
        _BBcntr_45 = (_BBcntr_45) - (1);
        if ((_BBcntr_45) == (0)) {
          _LLcntr_45 = (_LLcntr_45) + (1);
          _BBcntr_45 = 3;
          _t8J_45 = _t16_45;
          _Word_45 = _actualstack_45[_LLcntr_45 - 0];
        }
        if ((_BBcntr_45) != (1)) {
          (LP)->_s_113 = (_Word_45) / (_t8J_45);
          _Word_45 = (_Word_45) - (((LP)->_s_113) * (_t8J_45));
          _t8J_45 = (_t8J_45) / (_t8_45);
        }

        else
          (LP)->_s_113 = _Word_45;
        if (((LP)->_s_113) == (_endmarker_45)) {
          _fromactualstack_45 = false;
          (LP)->_s_113 = _macrosym_111 ();
        }
      }

      else {
        _bbcntr_45 = (_bbcntr_45) - (1);
        if ((_bbcntr_45) == (0)) {
          _llcntr_45 = (_llcntr_45) + (1);
          _bbcntr_45 = 3;
          _t8J_45 = _t16_45;
          _word_45 = _definitionstack_45[_llcntr_45 - 0];
        }
        if ((_bbcntr_45) != (1)) {
          (LP)->_s_113 = (_word_45) / (_t8j_45);
          _word_45 = (_word_45) - (((LP)->_s_113) * (_t8j_45));
          _t8j_45 = (_t8j_45) / (_t8_45);
        }

        else
          (LP)->_s_113 = _word_45;
        if ((((LP)->_s_113) >= (128)) && (((LP)->_s_113) <= (149))) {
          _fromactualstack_45 = true;
          _BBcntr_45 = 1;
          _LLcntr_45 = (_pointerstack_45[((_pointerptr_45) + ((LP)->_s_113)) - (128) - 1]) - (1);
          if ((_LLcntr_45) == (-(2)))
            _fromactualstack_45 = false;
          (LP)->_s_113 = _macrosym_111 ();
        }

        else if (((LP)->_s_113) == (_endmarker_45)) {
          _saveptr_45 = (_saveptr_45) - (6);
          _freeptr_45 = _pointerptr_45;
          _namestack_45[(_placeofname_45) + (1) - -(2)] = -(_namestack_45[(_placeofname_45) + (1) - -(2)]);
          if ((_saveptr_45) == (-(5))) {
            _frommacro_45 = false;
            _stowintobuffer_48 (_ksiretsa_45);
          }

          else
            _restoreexpansion_114 ();
          (LP)->_s_113 = _savestack_45[(_saveptr_45) + (5) - -(1)];
          ;                     // null statement 
        }
      }
      if (((LP)->_s_113) > (_endmarker_45)) {
        _spacecntr_45 = ((LP)->_s_113) - (1);
        (LP)->_s_113 = _spacesymbol_45;
      }
    }
    (LP)->__res_val = (LP)->_s_113;
  }
  return LP->__res_val;

}

 /* restoreexpansion declared at line 456 */
void _restoreexpansion_114 () {
struct ___restoreexpansion_114_rec local_data_restoreexpansion;
struct ___restoreexpansion_114_rec *LP = &local_data_restoreexpansion;

  _bbcntr_45 = _savestack_45[_saveptr_45 - -(1)];
  _llcntr_45 = _savestack_45[(_saveptr_45) + (1) - -(1)];
  if ((_bbcntr_45) == (2)) {
    _t8j_45 = 1;
    _word_45 = _definitionstack_45[_llcntr_45 - 0];
    _word_45 = (_word_45) - (((_word_45) / (_t8_45)) * (_t8_45));
  }

  else if ((_bbcntr_45) == (3)) {
    _t8j_45 = _t8_45;
    _word_45 = _definitionstack_45[_llcntr_45 - 0];
    _word_45 = (_word_45) - (((_word_45) / (_t16_45)) * (_t16_45));
  }
  if ((_savestack_45[(_saveptr_45) + (2) - -(1)]) != (-(1))) {
    _BBcntr_45 = _savestack_45[(_saveptr_45) + (2) - -(1)];
    _LLcntr_45 = _savestack_45[(_saveptr_45) + (3) - -(1)];
    if ((_BBcntr_45) == (2)) {
      _t8J_45 = 1;
      _Word_45 = _actualstack_45[_LLcntr_45 - 0];
      _Word_45 = (_Word_45) - (((_Word_45) / (_t8_45)) * (_t8_45));
    }

    else if ((_BBcntr_45) == (3)) {
      _t8J_45 = _t8_45;
      _Word_45 = _actualstack_45[_LLcntr_45 - 0];
      _Word_45 = (_Word_45) - (((_Word_45) / (_t16_45)) * (_t16_45));
    }
    _fromactualstack_45 = true;
  }
  _placeofname_45 = _savestack_45[(_saveptr_45) - (2) - -(1)];
  _pointerptr_45 = ((_pointerptr_45) + (_definitionstack_45[_namestack_45[((_placeofname_45) - (_namestack_45[_placeofname_45 - -(2)])) - (1) - -(2)] - 0])) + (1);

}
int D_reaffer_116 (char *link, int n, ...) {
  if (n != 0)
    fault ("wrong number of parameters for reaffer", (double) 530);
  return _reaffer_116 ();
}

 /* reaffer declared at line 530 */
int _reaffer_116 () {
struct ___reaffer_116_rec local_data_reaffer;
struct ___reaffer_116_rec *LP = &local_data_reaffer;

  {                             // code for block at line 531
    (LP)->_i_118 = (LP)->_i_118;
    ___for_body_1_122 (LP);
    (LP)->_i_118 = (LP)->_i_118;
    while ((int) (((_symbol_45) == (_spacesymbol_45)) || ((_symbol_45) == (_tabsymbol_45)))) {
      ___for_body_1_122 (LP);
      (LP)->_i_118 = (LP)->_i_118;
    }
    (LP)->__res_val = _symbol_45;
  }
  return LP->__res_val;

}

 /* readandbuffer declared at line 533 */
int _readandbuffer_119 () {
struct ___readandbuffer_119_rec local_data_readandbuffer;
struct ___readandbuffer_119_rec *LP = &local_data_readandbuffer;

  {                             // code for block at line 534
    (LP)->_s_121 = _RESYM1_50 ();
    if (_inactualmode_45) {
      _stowintostack_137 (__dv2, _actualstack_45, _maxofactualstack_45, (LP)->_s_121);
      _prsym_56 ((LP)->_s_121);
      if (((LP)->_s_121) == (_nlcrsymbol_45))
        space (7);
    }

    else {
      _stowintobuffer_48 ((LP)->_s_121);
      if (((LP)->_s_121) == (_nlcrsymbol_45))
        _linenumber_45 = (_linenumber_45) + (1);
    }
    (LP)->__res_val = (LP)->_s_121;
  }
  return LP->__res_val;

}

 /* __for_body_1 declared at line 0 */
void ___for_body_1_122 (struct ___reaffer_116_rec *ELP_) {
  struct _____for_body_1_122_rec local_data___for_body_1;
  struct _____for_body_1_122_rec *LP = &local_data___for_body_1;

  LP->__l_field = ELP_;
  if (_accentread_45) {
    _symbol_45 = _nextacc_45;
    _accentread_45 = false;
  }

  else
    _symbol_45 = _readandbuffer_119 ();
  if ((_symbol_45) == (_accentsymbol_45)) {
    _nextacc_45 = _readandbuffer_119 ();
    if ((_nextacc_45) == (_accentsymbol_45))
      _symbol_45 = _apostrophesymbol_45;

    else
      _accentread_45 = true;
  }
  if ((_symbol_45) == (_apostrophesymbol_45))
    (((struct ___reaffer_116_rec *) ((((struct _____for_body_1_122_rec *) (LP)))->__l_field)))->_i_118 =
     (((struct ___reaffer_116_rec *) ((((struct _____for_body_1_122_rec *) (LP)))->__l_field)))->_i_118;
  while ((int) (((_symbol_45) != (_semicolonsymbol_45)) && ((_symbol_45) != (_nlcrsymbol_45)))) {
    _symbol_45 = _readandbuffer_119 ();
    (((struct ___reaffer_116_rec *) ((((struct _____for_body_1_122_rec *) (LP)))->__l_field)))->_i_118 =
     (((struct ___reaffer_116_rec *) ((((struct _____for_body_1_122_rec *) (LP)))->__l_field)))->_i_118;
  }
  if (_indefmode_45)
    _stowintostack_137 (__dv1, _definitionstack_45, _maxofdefstack_45, _symbol_45);

}

 /* compare declared at line 567 */
char _compare_125 (char *text_) {
  struct ___compare_125_rec local_data_compare;
  struct ___compare_125_rec *LP = &local_data_compare;

  LP->text_ = text_;

  {                             // code for block at line 568
    (LP)->_k_127 = 0;
    (LP)->__res_val = true;
    (LP)->_s_127 = _stringsymbol_46 ((LP)->_k_127, (LP)->text_);
    while ((int) (((LP)->_s_127) != (255))) {
      if (((LP)->_s_127) != ((((37) <= (_symbol_45)) && ((_symbol_45) <= (62))) ? (_symbol_45) - (27) : _symbol_45)) {
        (LP)->__res_val = false;
        (LP)->_k_127 = -(1);
      }

      else {
        (LP)->_k_127 = ((LP)->_k_127) + (1);
        if (_firstscan_45)
          _reaffer_116 ();

        else
          _NS_54 ();
      }
      (LP)->_s_127 = _stringsymbol_46 ((LP)->_k_127, (LP)->text_);
    }
  }
  return LP->__res_val;

}

 /* readwhile declared at line 577 */
void _readwhile_129 (char *Lcondition_, char (*Acondition_) (char *, char), char (*Vcondition_) (char *, int)) {
  struct ___readwhile_129_rec local_data_readwhile;
  struct ___readwhile_129_rec *LP = &local_data_readwhile;

  LP->Lcondition_ = Lcondition_;
  LP->Acondition_ = Acondition_;
  LP->Vcondition_ = Vcondition_;

  {                             // code for block at line 578
    (LP)->_i_131 = (LP)->_i_131;
    while ((int) (((LP)->Vcondition_) (((LP)->Lcondition_), 0))) {
      if (_firstscan_45)
        _reaffer_116 ();

      else
        _NS_54 ();
      (LP)->_i_131 = (LP)->_i_131;
    }
  }

}

 /* skipuntil declared at line 582 */
void _skipuntil_133 (char *text_) {
  struct ___skipuntil_133_rec local_data_skipuntil;
  struct ___skipuntil_133_rec *LP = &local_data_skipuntil;

  LP->text_ = text_;

  {                             // code for block at line 583
    (LP)->_firstsymbol_135 = _stringsymbol_46 (0, (LP)->text_);
    _readwhile_129 (LP, A_jff_22A, _jff_22A);
    (LP)->_i_135 = (LP)->_i_135;
    while ((int) (!(_compare_125 ((LP)->text_)))) {
      {                         // code for block at line 0
        _readwhile_129 (LP, A_jff_23A, _jff_23A);
      }
      (LP)->_i_135 = (LP)->_i_135;
    }
  }

}
char A_jff_22A (char *LP, char V) {
  fault (" no assignable object", 586);
}
char _jff_22A (char *LP, int d) {
  return ((((struct ___skipuntil_133_rec *) (LP)))->_firstsymbol_135) != ((((37) <= (_symbol_45)) && ((_symbol_45) <= (62))) ? (_symbol_45) - (27) : _symbol_45);
}
char A_jff_23A (char *LP, char V) {
  fault (" no assignable object", 588);
}
char _jff_23A (char *LP, int d) {
  return ((((struct ___skipuntil_133_rec *) (LP)))->_firstsymbol_135) != ((((37) <= (_symbol_45)) && ((_symbol_45) <= (62))) ? (_symbol_45) - (27) : _symbol_45);
}

 /* stowintostack declared at line 591 */
void _stowintostack_137 (int *Dstack_, int *stack_, int max_, int char_) {
  struct ___stowintostack_137_rec local_data_stowintostack;
  struct ___stowintostack_137_rec *LP = &local_data_stowintostack;

  LP->Dstack_ = Dstack_;
  LP->stack_ = stack_;
  LP->max_ = max_;
  LP->char_ = char_;

  {                             // code for block at line 593
    if ((((LP)->char_) == (_spacesymbol_45)) && ((_spacecntr_45) < (255)))
      _SPACEcntr_45 = (_SPACEcntr_45) + (1);

    else {
      _bcntr_45 = (_bcntr_45) + (1);
      if ((_bcntr_45) == (3)) {
        _lcntr_45 = (_lcntr_45) + (1);
        _bcntr_45 = 0;
        if ((_lcntr_45) > ((LP)->max_))
          _ERROR_58 (true, 3018);

        else
          *(int *) __jff_element_address ((LP)->stack_, (LP)->Dstack_, 1, _lcntr_45) = 0;
      }
      if ((_SPACEcntr_45) > (150)) {
        *(int *) __jff_element_address ((LP)->stack_, (LP)->Dstack_, 1, _lcntr_45) =
         ((*(int *) __jff_element_address ((LP)->stack_, (LP)->Dstack_, 1, _lcntr_45)) * (_t8_45)) + (_SPACEcntr_45);
        if (((LP)->char_) == (_spacesymbol_45))
          _SPACEcntr_45 = 151;

        else {
          _SPACEcntr_45 = 150;
          _stowintostack_137 ((LP)->Dstack_, (LP)->stack_, (LP)->max_, (LP)->char_);
        }
      }

      else
        *(int *) __jff_element_address ((LP)->stack_, (LP)->Dstack_, 1, _lcntr_45) =
         ((*(int *) __jff_element_address ((LP)->stack_, (LP)->Dstack_, 1, _lcntr_45)) * (_t8_45)) + ((LP)->char_);
      if (((LP)->char_) == (_endmarker_45))
        for ((LP)->_i_139 = _bcntr_45; ((LP)->_i_139 - (1)) * sign ((double) 1) <= 0; (LP)->_i_139 += 1)
          _stowintostack_137 ((LP)->Dstack_, (LP)->stack_, (LP)->max_, 0);
    }
  }

}

 /* storeletgits declared at line 616 */
void _storeletgits_141 (int *Dlist_, int *list_, char *Lpointer_, int (*Apointer_) (char *, int), int (*Vpointer_) (char *, int), int max_, char *Lletgit_,
                        int (*Aletgit_) (char *, int), int (*Vletgit_) (char *, int)) {
  struct ___storeletgits_141_rec local_data_storeletgits;
  struct ___storeletgits_141_rec *LP = &local_data_storeletgits;

  LP->Dlist_ = Dlist_;
  LP->list_ = list_;
  LP->Lpointer_ = Lpointer_;
  LP->Apointer_ = Apointer_;
  LP->Vpointer_ = Vpointer_;
  LP->max_ = max_;
  LP->Lletgit_ = Lletgit_;
  LP->Aletgit_ = Aletgit_;
  LP->Vletgit_ = Vletgit_;

  {                             // code for block at line 618
    (LP)->_word_143 = (LP)->_j_143 = 0;
    (LP)->_full_143 = false;
    (LP)->_i_143 = (LP)->_i_143;
    while ((int) (((_symbol_45) <= (62)) && (!((LP)->_full_143)))) { {
        if ((_symbol_45) >= (37))
          _symbol_45 = (_symbol_45) - (27);
        (LP)->_j_143 = ((LP)->_j_143) + (1);
        if (((LP)->_j_143) == (4)) {
          if ((((LP)->Vpointer_) (((LP)->Lpointer_), 0)) > ((LP)->max_))
            (LP)->_full_143 = true;

          else
            *(int *) __jff_element_address ((LP)->list_, (LP)->Dlist_, 1, ((LP)->Vpointer_) (((LP)->Lpointer_), 0)) = (((LP)->_word_143) * (_t6_45)) + (_symbol_45);
          (LP)->_word_143 = (LP)->_j_143 = 0;
          ((LP)->Apointer_) ((LP)->Lpointer_, (((LP)->Vpointer_) (((LP)->Lpointer_), 0)) + (1));
        }

        else
          (LP)->_word_143 = (((LP)->_word_143) * (_t6_45)) + (_symbol_45);
        _symbol_45 = ((LP)->Vletgit_) (((LP)->Lletgit_), 0);
    }
    (LP)->_i_143 = (LP)->_i_143;
    }
    if (((LP)->_j_143) != (0)) {
      (LP)->_j_143 = ((LP)->_j_143) + (1);
      while ((int) (((LP)->_j_143) < (4))) {
        (LP)->_word_143 = (((LP)->_word_143) * (_t6_45)) + (63);
        (LP)->_j_143 = ((LP)->_j_143) + (1);
      }
      if ((((LP)->Vpointer_) (((LP)->Lpointer_), 0)) > ((LP)->max_))
        (LP)->_full_143 = true;

      else
        *(int *) __jff_element_address ((LP)->list_, (LP)->Dlist_, 1, ((LP)->Vpointer_) (((LP)->Lpointer_), 0)) = (LP)->_word_143;
      ((LP)->Apointer_) ((LP)->Lpointer_, (((LP)->Vpointer_) (((LP)->Lpointer_), 0)) + (1));
    }
    _ERROR_58 (((LP)->_full_143) && (!(_indefmode_45)), 3019);
  }

}
char A_jff_24A (char *LP, char V) {
  fault (" no assignable object", 652);
}
char _jff_24A (char *LP, int d) {
  return ((_symbol_45) != (_accentsymbol_45)) && ((_symbol_45) != (_apostrophesymbol_45));
}
char A_jff_25A (char *LP, char V) {
  fault (" no assignable object", 659);
}
char _jff_25A (char *LP, int d) {
  return (_symbol_45) != (_accentsymbol_45);
}
char A_jff_26A (char *LP, char V) {
  fault (" no assignable object", 664);
}
char _jff_26A (char *LP, int d) {
  return ((_symbol_45) != (_nlcrsymbol_45)) && ((_symbol_45) != (_semicolonsymbol_45));
}
char A_jff_27A (char *LP, char V) {
  fault (" no assignable object", 666);
}
char _jff_27A (char *LP, int d) {
  return ((0) <= (_symbol_45)) && ((_symbol_45) <= (62));
}

// The main program
int main () {
char *LP = (char *) NULL;

  {                             // code for block at line 7
    __dv0[0] = (1 * 256) + sizeof (int);
    __dv0[DOPE_BASE + 0] = -(2);
    __dv0[DOPE_BASE + 1] = 255;
    __dv_init (__dv0);
    __dv1[0] = (1 * 256) + sizeof (int);
    __dv1[DOPE_BASE + 0] = 0;
    __dv1[DOPE_BASE + 1] = 4095;
    __dv_init (__dv1);
    __dv2[0] = (1 * 256) + sizeof (int);
    __dv2[DOPE_BASE + 0] = 0;
    __dv2[DOPE_BASE + 1] = 2047;
    __dv_init (__dv2);
    ;                           // null statement 
  }
}
