home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sa104os2.zip / SATHR104.ZIP / SATHER / BOOT / CS.COD / CODE6.C < prev    next >
C/C++ Source or Header  |  1995-02-15  |  250KB  |  9,734 lines

  1. /* C code generated by Sather 1.0 compiler */
  2.  
  3. #include "sather.h"
  4.  
  5. #include "strings.h"
  6.  
  7.  
  8.  
  9.  
  10. INT TR_BOUND_CREATE__7257(TR_BOUND_CREATE_EXPR self) {
  11.  INT noname7258 = ((INT) 0);
  12.  INT r_7259 = ((INT) 0);
  13.  TR_EXPR n_7260;
  14.  TR_EXPR local0;
  15.  if ((self==((TR_BOUND_CREATE_EXPR) NULL))) {
  16.   return 0;
  17.  }
  18.  r_7259 = 1;
  19.  n_7260 = self->next_8;
  20.  while (1) {
  21.   if ((n_7260==((TR_EXPR) NULL))) {
  22.    goto after_loop;
  23.   }
  24.   r_7259 = (c_INT_plus_INT_INT_chk(r_7259,1));
  25.   local0 = n_7260;
  26.   n_7260 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  27.  }
  28.  after_loop: ;
  29.  return r_7259;
  30. }
  31.  
  32.  
  33. INT TR_ARRAY_EXPR_si(TR_ARRAY_EXPR self) {
  34.  INT noname7262 = ((INT) 0);
  35.  INT r_7263 = ((INT) 0);
  36.  TR_EXPR n_7264;
  37.  TR_EXPR local0;
  38.  if ((self==((TR_ARRAY_EXPR) NULL))) {
  39.   return 0;
  40.  }
  41.  r_7263 = 1;
  42.  n_7264 = self->next_8;
  43.  while (1) {
  44.   if ((n_7264==((TR_EXPR) NULL))) {
  45.    goto after_loop;
  46.   }
  47.   r_7263 = (c_INT_plus_INT_INT_chk(r_7263,1));
  48.   local0 = n_7264;
  49.   n_7264 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  50.  }
  51.  after_loop: ;
  52.  return r_7263;
  53. }
  54.  
  55.  
  56. INT TR_BREAK_EXPR_si(TR_BREAK_EXPR self) {
  57.  INT noname7266 = ((INT) 0);
  58.  INT r_7267 = ((INT) 0);
  59.  TR_EXPR n_7268;
  60.  TR_EXPR local0;
  61.  if ((self==((TR_BREAK_EXPR) NULL))) {
  62.   return 0;
  63.  }
  64.  r_7267 = 1;
  65.  n_7268 = self->next_8;
  66.  while (1) {
  67.   if ((n_7268==((TR_EXPR) NULL))) {
  68.    goto after_loop;
  69.   }
  70.   r_7267 = (c_INT_plus_INT_INT_chk(r_7267,1));
  71.   local0 = n_7268;
  72.   n_7268 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  73.  }
  74.  after_loop: ;
  75.  return r_7267;
  76. }
  77.  
  78.  
  79. INT TR_INITIAL_EXPR__7270(TR_INITIAL_EXPR self) {
  80.  INT noname7271 = ((INT) 0);
  81.  INT r_7272 = ((INT) 0);
  82.  TR_EXPR n_7273;
  83.  TR_EXPR local0;
  84.  if ((self==((TR_INITIAL_EXPR) NULL))) {
  85.   return 0;
  86.  }
  87.  r_7272 = 1;
  88.  n_7273 = self->next_8;
  89.  while (1) {
  90.   if ((n_7273==((TR_EXPR) NULL))) {
  91.    goto after_loop;
  92.   }
  93.   r_7272 = (c_INT_plus_INT_INT_chk(r_7272,1));
  94.   local0 = n_7273;
  95.   n_7273 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  96.  }
  97.  after_loop: ;
  98.  return r_7272;
  99. }
  100.  
  101.  
  102. INT TR_AND_EXPR_size_INT(TR_AND_EXPR self) {
  103.  INT noname7275 = ((INT) 0);
  104.  INT r_7276 = ((INT) 0);
  105.  TR_EXPR n_7277;
  106.  TR_EXPR local0;
  107.  if ((self==((TR_AND_EXPR) NULL))) {
  108.   return 0;
  109.  }
  110.  r_7276 = 1;
  111.  n_7277 = self->next_8;
  112.  while (1) {
  113.   if ((n_7277==((TR_EXPR) NULL))) {
  114.    goto after_loop;
  115.   }
  116.   r_7276 = (c_INT_plus_INT_INT_chk(r_7276,1));
  117.   local0 = n_7277;
  118.   n_7277 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  119.  }
  120.  after_loop: ;
  121.  return r_7276;
  122. }
  123.  
  124.  
  125. INT TR_FLT_LIT_EXPR__7279(TR_FLT_LIT_EXPR self) {
  126.  INT noname7280 = ((INT) 0);
  127.  INT r_7281 = ((INT) 0);
  128.  TR_EXPR n_7282;
  129.  TR_EXPR local0;
  130.  if ((self==((TR_FLT_LIT_EXPR) NULL))) {
  131.   return 0;
  132.  }
  133.  r_7281 = 1;
  134.  n_7282 = self->next_8;
  135.  while (1) {
  136.   if ((n_7282==((TR_EXPR) NULL))) {
  137.    goto after_loop;
  138.   }
  139.   r_7281 = (c_INT_plus_INT_INT_chk(r_7281,1));
  140.   local0 = n_7282;
  141.   n_7282 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  142.  }
  143.  after_loop: ;
  144.  return r_7281;
  145. }
  146.  
  147.  
  148. INT TR_EXCEPT_EXPR_s(TR_EXCEPT_EXPR self) {
  149.  INT noname7284 = ((INT) 0);
  150.  INT r_7285 = ((INT) 0);
  151.  TR_EXPR n_7286;
  152.  TR_EXPR local0;
  153.  if ((self==((TR_EXCEPT_EXPR) NULL))) {
  154.   return 0;
  155.  }
  156.  r_7285 = 1;
  157.  n_7286 = self->next_8;
  158.  while (1) {
  159.   if ((n_7286==((TR_EXPR) NULL))) {
  160.    goto after_loop;
  161.   }
  162.   r_7285 = (c_INT_plus_INT_INT_chk(r_7285,1));
  163.   local0 = n_7286;
  164.   n_7286 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  165.  }
  166.  after_loop: ;
  167.  return r_7285;
  168. }
  169.  
  170.  
  171. INT TR_BOOL_LIT_EXPR_7288(TR_BOOL_LIT_EXPR self) {
  172.  INT noname7289 = ((INT) 0);
  173.  INT r_7290 = ((INT) 0);
  174.  TR_EXPR n_7291;
  175.  TR_EXPR local0;
  176.  if ((self==((TR_BOOL_LIT_EXPR) NULL))) {
  177.   return 0;
  178.  }
  179.  r_7290 = 1;
  180.  n_7291 = self->next_8;
  181.  while (1) {
  182.   if ((n_7291==((TR_EXPR) NULL))) {
  183.    goto after_loop;
  184.   }
  185.   r_7290 = (c_INT_plus_INT_INT_chk(r_7290,1));
  186.   local0 = n_7291;
  187.   n_7291 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  188.  }
  189.  after_loop: ;
  190.  return r_7290;
  191. }
  192.  
  193.  
  194. INT TR_NEAR_EXPR_siz(TR_NEAR_EXPR self) {
  195.  INT noname7293 = ((INT) 0);
  196.  INT r_7294 = ((INT) 0);
  197.  TR_EXPR n_7295;
  198.  TR_EXPR local0;
  199.  if ((self==((TR_NEAR_EXPR) NULL))) {
  200.   return 0;
  201.  }
  202.  r_7294 = 1;
  203.  n_7295 = self->next_8;
  204.  while (1) {
  205.   if ((n_7295==((TR_EXPR) NULL))) {
  206.    goto after_loop;
  207.   }
  208.   r_7294 = (c_INT_plus_INT_INT_chk(r_7294,1));
  209.   local0 = n_7295;
  210.   n_7295 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  211.  }
  212.  after_loop: ;
  213.  return r_7294;
  214. }
  215.  
  216.  
  217. INT TR_SELF_EXPR_siz(TR_SELF_EXPR self) {
  218.  INT noname7297 = ((INT) 0);
  219.  INT r_7298 = ((INT) 0);
  220.  TR_EXPR n_7299;
  221.  TR_EXPR local0;
  222.  if ((self==((TR_SELF_EXPR) NULL))) {
  223.   return 0;
  224.  }
  225.  r_7298 = 1;
  226.  n_7299 = self->next_8;
  227.  while (1) {
  228.   if ((n_7299==((TR_EXPR) NULL))) {
  229.    goto after_loop;
  230.   }
  231.   r_7298 = (c_INT_plus_INT_INT_chk(r_7298,1));
  232.   local0 = n_7299;
  233.   n_7299 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  234.  }
  235.  after_loop: ;
  236.  return r_7298;
  237. }
  238.  
  239.  
  240. INT TR_VOID_EXPR_siz(TR_VOID_EXPR self) {
  241.  INT noname7301 = ((INT) 0);
  242.  INT r_7302 = ((INT) 0);
  243.  TR_EXPR n_7303;
  244.  TR_EXPR local0;
  245.  if ((self==((TR_VOID_EXPR) NULL))) {
  246.   return 0;
  247.  }
  248.  r_7302 = 1;
  249.  n_7303 = self->next_8;
  250.  while (1) {
  251.   if ((n_7303==((TR_EXPR) NULL))) {
  252.    goto after_loop;
  253.   }
  254.   r_7302 = (c_INT_plus_INT_INT_chk(r_7302,1));
  255.   local0 = n_7303;
  256.   n_7303 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  257.  }
  258.  after_loop: ;
  259.  return r_7302;
  260. }
  261.  
  262.  
  263. INT TR_AT_EXPR_size_INT(TR_AT_EXPR self) {
  264.  INT noname7305 = ((INT) 0);
  265.  INT r_7306 = ((INT) 0);
  266.  TR_EXPR n_7307;
  267.  TR_EXPR local0;
  268.  if ((self==((TR_AT_EXPR) NULL))) {
  269.   return 0;
  270.  }
  271.  r_7306 = 1;
  272.  n_7307 = self->next_8;
  273.  while (1) {
  274.   if ((n_7307==((TR_EXPR) NULL))) {
  275.    goto after_loop;
  276.   }
  277.   r_7306 = (c_INT_plus_INT_INT_chk(r_7306,1));
  278.   local0 = n_7307;
  279.   n_7307 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  280.  }
  281.  after_loop: ;
  282.  return r_7306;
  283. }
  284.  
  285.  
  286. INT TR_NEW_EXPR_size_INT(TR_NEW_EXPR self) {
  287.  INT noname7309 = ((INT) 0);
  288.  INT r_7310 = ((INT) 0);
  289.  TR_EXPR n_7311;
  290.  TR_EXPR local0;
  291.  if ((self==((TR_NEW_EXPR) NULL))) {
  292.   return 0;
  293.  }
  294.  r_7310 = 1;
  295.  n_7311 = self->next_8;
  296.  while (1) {
  297.   if ((n_7311==((TR_EXPR) NULL))) {
  298.    goto after_loop;
  299.   }
  300.   r_7310 = (c_INT_plus_INT_INT_chk(r_7310,1));
  301.   local0 = n_7311;
  302.   n_7311 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  303.  }
  304.  after_loop: ;
  305.  return r_7310;
  306. }
  307.  
  308.  
  309. INT TR_RESULT_EXPR_s(TR_RESULT_EXPR self) {
  310.  INT noname7313 = ((INT) 0);
  311.  INT r_7314 = ((INT) 0);
  312.  TR_EXPR n_7315;
  313.  TR_EXPR local0;
  314.  if ((self==((TR_RESULT_EXPR) NULL))) {
  315.   return 0;
  316.  }
  317.  r_7314 = 1;
  318.  n_7315 = self->next_8;
  319.  while (1) {
  320.   if ((n_7315==((TR_EXPR) NULL))) {
  321.    goto after_loop;
  322.   }
  323.   r_7314 = (c_INT_plus_INT_INT_chk(r_7314,1));
  324.   local0 = n_7315;
  325.   n_7315 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  326.  }
  327.  after_loop: ;
  328.  return r_7314;
  329. }
  330.  
  331.  
  332. INT TR_OR_EXPR_size_INT(TR_OR_EXPR self) {
  333.  INT noname7317 = ((INT) 0);
  334.  INT r_7318 = ((INT) 0);
  335.  TR_EXPR n_7319;
  336.  TR_EXPR local0;
  337.  if ((self==((TR_OR_EXPR) NULL))) {
  338.   return 0;
  339.  }
  340.  r_7318 = 1;
  341.  n_7319 = self->next_8;
  342.  while (1) {
  343.   if ((n_7319==((TR_EXPR) NULL))) {
  344.    goto after_loop;
  345.   }
  346.   r_7318 = (c_INT_plus_INT_INT_chk(r_7318,1));
  347.   local0 = n_7319;
  348.   n_7319 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  349.  }
  350.  after_loop: ;
  351.  return r_7318;
  352. }
  353.  
  354.  
  355. INT TR_EXPR_size_INT_7321(TR_EXPR_52 self) {
  356.  INT noname7322 = ((INT) 0);
  357.  INT r_7323 = ((INT) 0);
  358.  TR_EXPR n_7324;
  359.  TR_EXPR local0;
  360.  if ((self==((TR_EXPR_52) NULL))) {
  361.   return 0;
  362.  }
  363.  r_7323 = 1;
  364.  n_7324 = self->next_8;
  365.  while (1) {
  366.   if ((n_7324==((TR_EXPR) NULL))) {
  367.    goto after_loop;
  368.   }
  369.   r_7323 = (c_INT_plus_INT_INT_chk(r_7323,1));
  370.   local0 = n_7324;
  371.   n_7324 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  372.  }
  373.  after_loop: ;
  374.  return r_7323;
  375. }
  376.  
  377.  
  378. INT TR_STR_LIT_EXPR__7326(TR_STR_LIT_EXPR self) {
  379.  INT noname7327 = ((INT) 0);
  380.  INT r_7328 = ((INT) 0);
  381.  TR_EXPR n_7329;
  382.  TR_EXPR local0;
  383.  if ((self==((TR_STR_LIT_EXPR) NULL))) {
  384.   return 0;
  385.  }
  386.  r_7328 = 1;
  387.  n_7329 = self->next_8;
  388.  while (1) {
  389.   if ((n_7329==((TR_EXPR) NULL))) {
  390.    goto after_loop;
  391.   }
  392.   r_7328 = (c_INT_plus_INT_INT_chk(r_7328,1));
  393.   local0 = n_7329;
  394.   n_7329 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  395.  }
  396.  after_loop: ;
  397.  return r_7328;
  398. }
  399.  
  400.  
  401. INT TR_CREATE_EXPR_s(TR_CREATE_EXPR self) {
  402.  INT noname7331 = ((INT) 0);
  403.  INT r_7332 = ((INT) 0);
  404.  TR_EXPR n_7333;
  405.  TR_EXPR local0;
  406.  if ((self==((TR_CREATE_EXPR) NULL))) {
  407.   return 0;
  408.  }
  409.  r_7332 = 1;
  410.  n_7333 = self->next_8;
  411.  while (1) {
  412.   if ((n_7333==((TR_EXPR) NULL))) {
  413.    goto after_loop;
  414.   }
  415.   r_7332 = (c_INT_plus_INT_INT_chk(r_7332,1));
  416.   local0 = n_7333;
  417.   n_7333 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  418.  }
  419.  after_loop: ;
  420.  return r_7332;
  421. }
  422.  
  423.  
  424. INT TR_FAR_EXPR_size_INT(TR_FAR_EXPR self) {
  425.  INT noname7335 = ((INT) 0);
  426.  INT r_7336 = ((INT) 0);
  427.  TR_EXPR n_7337;
  428.  TR_EXPR local0;
  429.  if ((self==((TR_FAR_EXPR) NULL))) {
  430.   return 0;
  431.  }
  432.  r_7336 = 1;
  433.  n_7337 = self->next_8;
  434.  while (1) {
  435.   if ((n_7337==((TR_EXPR) NULL))) {
  436.    goto after_loop;
  437.   }
  438.   r_7336 = (c_INT_plus_INT_INT_chk(r_7336,1));
  439.   local0 = n_7337;
  440.   n_7337 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  441.  }
  442.  after_loop: ;
  443.  return r_7336;
  444. }
  445.  
  446.  
  447. INT TR_IS_VOID_EXPR__7339(TR_IS_VOID_EXPR self) {
  448.  INT noname7340 = ((INT) 0);
  449.  INT r_7341 = ((INT) 0);
  450.  TR_EXPR n_7342;
  451.  TR_EXPR local0;
  452.  if ((self==((TR_IS_VOID_EXPR) NULL))) {
  453.   return 0;
  454.  }
  455.  r_7341 = 1;
  456.  n_7342 = self->next_8;
  457.  while (1) {
  458.   if ((n_7342==((TR_EXPR) NULL))) {
  459.    goto after_loop;
  460.   }
  461.   r_7341 = (c_INT_plus_INT_INT_chk(r_7341,1));
  462.   local0 = n_7342;
  463.   n_7342 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  464.  }
  465.  after_loop: ;
  466.  return r_7341;
  467. }
  468.  
  469.  
  470. INT TR_WHERE_EXPR_si(TR_WHERE_EXPR self) {
  471.  INT noname7344 = ((INT) 0);
  472.  INT r_7345 = ((INT) 0);
  473.  TR_EXPR n_7346;
  474.  TR_EXPR local0;
  475.  if ((self==((TR_WHERE_EXPR) NULL))) {
  476.   return 0;
  477.  }
  478.  r_7345 = 1;
  479.  n_7346 = self->next_8;
  480.  while (1) {
  481.   if ((n_7346==((TR_EXPR) NULL))) {
  482.    goto after_loop;
  483.   }
  484.   r_7345 = (c_INT_plus_INT_INT_chk(r_7345,1));
  485.   local0 = n_7346;
  486.   n_7346 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  487.  }
  488.  after_loop: ;
  489.  return r_7345;
  490. }
  491.  
  492.  
  493. INT TR_INT_LIT_EXPR__7348(TR_INT_LIT_EXPR self) {
  494.  INT noname7349 = ((INT) 0);
  495.  INT r_7350 = ((INT) 0);
  496.  TR_EXPR n_7351;
  497.  TR_EXPR local0;
  498.  if ((self==((TR_INT_LIT_EXPR) NULL))) {
  499.   return 0;
  500.  }
  501.  r_7350 = 1;
  502.  n_7351 = self->next_8;
  503.  while (1) {
  504.   if ((n_7351==((TR_EXPR) NULL))) {
  505.    goto after_loop;
  506.   }
  507.   r_7350 = (c_INT_plus_INT_INT_chk(r_7350,1));
  508.   local0 = n_7351;
  509.   n_7351 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  510.  }
  511.  after_loop: ;
  512.  return r_7350;
  513. }
  514.  
  515.  
  516. INT TR_UNDERSCORE_AR_7353(TR_UNDERSCORE_ARG self) {
  517.  INT noname7354 = ((INT) 0);
  518.  INT r_7355 = ((INT) 0);
  519.  TR_EXPR n_7356;
  520.  TR_EXPR local0;
  521.  if ((self==((TR_UNDERSCORE_ARG) NULL))) {
  522.   return 0;
  523.  }
  524.  r_7355 = 1;
  525.  n_7356 = self->next_8;
  526.  while (1) {
  527.   if ((n_7356==((TR_EXPR) NULL))) {
  528.    goto after_loop;
  529.   }
  530.   r_7355 = (c_INT_plus_INT_INT_chk(r_7355,1));
  531.   local0 = n_7356;
  532.   n_7356 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  533.  }
  534.  after_loop: ;
  535.  return r_7355;
  536. }
  537.  
  538.  
  539. INT TR_CALL_EXPR_siz(TR_CALL_EXPR self) {
  540.  INT noname7358 = ((INT) 0);
  541.  INT r_7359 = ((INT) 0);
  542.  TR_EXPR n_7360;
  543.  TR_EXPR local0;
  544.  if ((self==((TR_CALL_EXPR) NULL))) {
  545.   return 0;
  546.  }
  547.  r_7359 = 1;
  548.  n_7360 = self->next_8;
  549.  while (1) {
  550.   if ((n_7360==((TR_EXPR) NULL))) {
  551.    goto after_loop;
  552.   }
  553.   r_7359 = (c_INT_plus_INT_INT_chk(r_7359,1));
  554.   local0 = n_7360;
  555.   n_7360 = (*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0);
  556.  }
  557.  after_loop: ;
  558.  return r_7359;
  559. }
  560.  
  561.  
  562. AM_LOCAL_EXPR AM_ROUT_DEF_elt_(AM_ROUT_DEF_elt__frame frame) {
  563.  AM_LOCAL_EXPR dummy;
  564.  AM_LOCAL_EXPR local0;
  565.  switch (frame->state) {
  566.   case 0: goto state0;
  567.   case 1: goto state1;
  568.   }
  569.  state0:;
  570.  if ((!((frame->arg0==((AM_ROUT_DEF) NULL))))) {
  571.   {
  572.    frame->nested1 = ALLOCATE(AM_ROUT_DEF_aelt_frame);
  573.    frame->nested1->state = 0;
  574.    while (1) {
  575.     frame->state = 1;
  576.     if (frame->nested1->state == 0) {
  577.      frame->noname7363 = frame->arg0;
  578.      frame->nested1->arg0 = frame->noname7363;
  579.     }
  580.     local0 = AM_ROUT_DEF_aelt(frame->nested1);
  581.     if (frame->nested1->state == -1) goto after_loop;
  582.     return local0;
  583.     state1:;
  584.    }
  585.   }
  586.   after_loop: ;
  587.   GC_free(frame->nested1); frame->nested1 = NULL;
  588.  }
  589.  frame->state = -1;
  590.  return dummy;
  591. }
  592.  
  593.  
  594. AM_LOCAL_EXPR AM_ROUT_DEF_aelt(AM_ROUT_DEF_aelt_frame frame) {
  595.  AM_LOCAL_EXPR dummy;
  596.  INT local0;
  597.  switch (frame->state) {
  598.   case 0: goto state0;
  599.   case 1: goto state1;
  600.   }
  601.  state0:;
  602.  if (!((!((frame->arg0==((AM_ROUT_DEF) NULL)))))) {
  603.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  604.   exit(16);
  605.  }
  606.  {
  607.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  608.   frame->nested1->state = 0;
  609.   while (1) {
  610.    frame->state = 1;
  611.    if (frame->nested1->state == 0) {
  612.     frame->noname7366 = (frame->arg0->asize);
  613.     frame->nested1->arg0 = frame->noname7366;
  614.    }
  615.    local0 = INT_times_INT(frame->nested1);
  616.    if (frame->nested1->state == -1) goto after_loop;
  617.    return AM_ROUT_DEF_aget(frame->arg0, local0);
  618.    state1:;
  619.   }
  620.  }
  621.  after_loop: ;
  622.  GC_free(frame->nested1); frame->nested1 = NULL;
  623.  frame->state = -1;
  624.  return dummy;
  625. }
  626.  
  627.  
  628. OB FSETOB_elt_OB(FSETOB_elt_OB_frame frame) {
  629.  OB dummy;
  630.  OB local0;
  631.  switch (frame->state) {
  632.   case 0: goto state0;
  633.   case 1: goto state1;
  634.   }
  635.  state0:;
  636.  if ((!((frame->arg0==((FSETOB) NULL))))) {
  637.   {
  638.    frame->nested1 = ALLOCATE(FSETOB_aelt_OB_frame);
  639.    frame->nested1->state = 0;
  640.    while (1) {
  641.     if (frame->nested1->state == 0) {
  642.      frame->noname7369 = frame->arg0;
  643.      frame->nested1->arg0 = frame->noname7369;
  644.     }
  645.     local0 = FSETOB_aelt_OB(frame->nested1);
  646.     if (frame->nested1->state == -1) goto after_loop;
  647.     frame->r_7370 = local0;
  648.     if ((!(FSETOB_elt_eq_OB(frame->arg0, frame->r_7370, FSETOB_elt_nil_OB(frame->arg0))))) {
  649.      frame->state = 1;
  650.      return frame->r_7370;
  651.      state1:;
  652.     }
  653.    }
  654.   }
  655.   after_loop: ;
  656.   GC_free(frame->nested1); frame->nested1 = NULL;
  657.  }
  658.  if (!FSETOB_invariant(frame->arg0)) {
  659.   fprintf(stderr,"Failed invariant FSET{$OB}::invariant:BOOL ../Library/fset.sa:98:6\n");
  660.   exit(16);
  661.  }
  662.  frame->state = -1;
  663.  return dummy;
  664. }
  665.  
  666.  
  667. BOOL FSETOB_invariant(FSETOB self) {
  668.  BOOL noname7372 = ((BOOL) 0);
  669.  BOOL local0;
  670.  INT local1;
  671.  INT local2;
  672.  if ((self==((FSETOB) NULL))) {
  673.   local0 = TRUE;
  674.  } else {
  675.   local1 = self->hsize;
  676.   local2 = 0;
  677.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  678.  }
  679.  return local0;
  680. }
  681.  
  682.  
  683. OB FSETOB_aelt_OB(FSETOB_aelt_OB_frame frame) {
  684.  OB dummy;
  685.  INT local0;
  686.  switch (frame->state) {
  687.   case 0: goto state0;
  688.   case 1: goto state1;
  689.   }
  690.  state0:;
  691.  if (!((!((frame->arg0==((FSETOB) NULL)))))) {
  692.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  693.   exit(16);
  694.  }
  695.  {
  696.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  697.   frame->nested1->state = 0;
  698.   while (1) {
  699.    frame->state = 1;
  700.    if (frame->nested1->state == 0) {
  701.     frame->noname7374 = (frame->arg0->asize);
  702.     frame->nested1->arg0 = frame->noname7374;
  703.    }
  704.    local0 = INT_times_INT(frame->nested1);
  705.    if (frame->nested1->state == -1) goto after_loop;
  706.    return FSETOB_aget_INT_OB(frame->arg0, local0);
  707.    state1:;
  708.   }
  709.  }
  710.  after_loop: ;
  711.  GC_free(frame->nested1); frame->nested1 = NULL;
  712.  if (!FSETOB_invariant(frame->arg0)) {
  713.   fprintf(stderr,"Failed invariant FSET{$OB}::invariant:BOOL ../Library/aref.sa:48:7\n");
  714.   exit(16);
  715.  }
  716.  frame->state = -1;
  717.  return dummy;
  718. }
  719.  
  720.  
  721. AM_ITER_CALL_EXPR FLISTAM_ITER_CAL_4815(FLISTAM_ITER_CAL_4815_frame frame) {
  722.  AM_ITER_CALL_EXPR dummy;
  723.  AM_ITER_CALL_EXPR local0;
  724.  switch (frame->state) {
  725.   case 0: goto state0;
  726.   case 1: goto state1;
  727.   }
  728.  state0:;
  729.  if ((!((frame->arg0==((FLISTAM_ITER_CAL) NULL))))) {
  730.   {
  731.    frame->nested1 = ALLOCATE(FLISTAM_ITER_CAL_7381_frame);
  732.    frame->nested1->state = 0;
  733.    while (1) {
  734.     frame->state = 1;
  735.     if (frame->nested1->state == 0) {
  736.      frame->noname7377 = frame->arg0;
  737.      frame->noname7378 = 0;
  738.      frame->noname7379 = frame->arg0->loc_17;
  739.      frame->nested1->arg0 = frame->noname7377;
  740.      frame->nested1->arg1 = frame->noname7378;
  741.      frame->nested1->arg2 = frame->noname7379;
  742.     }
  743.     local0 = FLISTAM_ITER_CAL_7381(frame->nested1);
  744.     if (frame->nested1->state == -1) goto after_loop;
  745.     return local0;
  746.     state1:;
  747.    }
  748.   }
  749.   after_loop: ;
  750.   GC_free(frame->nested1); frame->nested1 = NULL;
  751.  }
  752.  if (!FLISTAM_ITER_CAL_4190(frame->arg0)) {
  753.   fprintf(stderr,"Failed invariant FLIST{AM_ITER_CALL_EXPR}::invariant:BOOL ../Library/flist.sa:127:6\n");
  754.   exit(16);
  755.  }
  756.  frame->state = -1;
  757.  return dummy;
  758. }
  759.  
  760.  
  761. BOOL FLISTAM_ITER_CAL_4190(FLISTAM_ITER_CAL self) {
  762.  BOOL noname7382 = ((BOOL) 0);
  763.  BOOL local0;
  764.  INT local1;
  765.  INT local2;
  766.  INT local3;
  767.  if ((self==((FLISTAM_ITER_CAL) NULL))) {
  768.   return TRUE;
  769.  }
  770.  local1 = self->loc_17;
  771.  local2 = 0;
  772.  if (INT_is_bet_INT_I(local1, local2, (self->asize))) {
  773.   local3 = (self->asize);
  774.   local0 = (local3>0);
  775.  } else {
  776.   local0 = FALSE;
  777.  }
  778.  return local0;
  779. }
  780.  
  781.  
  782. AM_ITER_CALL_EXPR FLISTAM_ITER_CAL_7383(FLISTAM_ITER_CAL self, INT ind_7384) {
  783.  AM_ITER_CALL_EXPR noname7385;
  784.  BOOL local0;
  785.  INT local1;
  786.  INT local2;
  787.  if ((!((self==((FLISTAM_ITER_CAL) NULL))))) {
  788.   local1 = 0;
  789.   local2 = (self->asize);
  790.   local0 = INT_is_bet_INT_I(ind_7384, local1, (c_INT_minus_INT_INT_chk(local2,1)));
  791.  } else {
  792.   local0 = FALSE;
  793.  }
  794.  if (!(local0)) {
  795.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:33:7\n");
  796.   exit(16);
  797.  }
  798.  if (ind_7384<0||ind_7384>=self->asize) {
  799.   fprintf(stderr,"Index out of bounds ../Library/aref.sa:33:7\n");
  800.   exit(16);
  801.  }
  802.  return self->arr_part[ind_7384];
  803. }
  804.  
  805.  
  806. AM_ITER_CALL_EXPR FLISTAM_ITER_CAL_7386(FLISTAM_ITER_CAL self, INT ind_7387) {
  807.  AM_ITER_CALL_EXPR noname7388;
  808.  BOOL local0;
  809.  INT local1;
  810.  if ((!((self==((FLISTAM_ITER_CAL) NULL))))) {
  811.   local1 = 0;
  812.   local0 = INT_is_bet_INT_I(ind_7387, local1, (c_INT_minus_INT_INT_chk(self->loc_17,1)));
  813.  } else {
  814.   local0 = FALSE;
  815.  }
  816.  if (!(local0)) {
  817.   fprintf(stderr,"Violation of precondition ../Library/flist.sa:68:7\n");
  818.   exit(16);
  819.  }
  820.  return FLISTAM_ITER_CAL_7383(self, ind_7387);
  821.  if (!FLISTAM_ITER_CAL_4190(self)) {
  822.   fprintf(stderr,"Failed invariant FLIST{AM_ITER_CALL_EXPR}::invariant:BOOL ../Library/flist.sa:68:7\n");
  823.   exit(16);
  824.  }
  825. }
  826.  
  827.  
  828. AM_ITER_CALL_EXPR FLISTAM_ITER_CAL_7381(FLISTAM_ITER_CAL_7381_frame frame) {
  829.  AM_ITER_CALL_EXPR dummy;
  830.  BOOL local0;
  831.  BOOL local1;
  832.  INT local2;
  833.  INT local3;
  834.  INT local4;
  835.  INT local5;
  836.  INT local6;
  837.  INT local7;
  838.  switch (frame->state) {
  839.   case 0: goto state0;
  840.   case 1: goto state1;
  841.   }
  842.  state0:;
  843.  if ((!((frame->arg0==((FLISTAM_ITER_CAL) NULL))))) {
  844.   local2 = 0;
  845.   local3 = (frame->arg0->asize);
  846.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  847.  } else {
  848.   local1 = FALSE;
  849.  }
  850.  if (local1) {
  851.   local4 = 0;
  852.   local5 = (frame->arg0->asize);
  853.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  854.  } else {
  855.   local0 = FALSE;
  856.  }
  857.  if (!(local0)) {
  858.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  859.   exit(16);
  860.  }
  861.  {
  862.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  863.   frame->nested1->state = 0;
  864.   while (1) {
  865.    frame->state = 1;
  866.    if (frame->nested1->state == 0) {
  867.     frame->noname7390 = frame->arg1;
  868.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  869.     frame->noname7391 = (c_INT_minus_INT_INT_chk(local7,1));
  870.     frame->nested1->arg0 = frame->noname7390;
  871.     frame->nested1->arg1 = frame->noname7391;
  872.    }
  873.    local6 = INT_upto_INT_INT(frame->nested1);
  874.    if (frame->nested1->state == -1) goto after_loop;
  875.    return FLISTAM_ITER_CAL_7386(frame->arg0, local6);
  876.    state1:;
  877.   }
  878.  }
  879.  after_loop: ;
  880.  GC_free(frame->nested1); frame->nested1 = NULL;
  881.  frame->state = -1;
  882.  return dummy;
  883. }
  884.  
  885.  
  886. BOOL FMAPOBSTR_invari(FMAPOBSTR self) {
  887.  BOOL noname7393 = ((BOOL) 0);
  888.  BOOL local0;
  889.  INT local1;
  890.  INT local2;
  891.  if ((self==((FMAPOBSTR) NULL))) {
  892.   local0 = TRUE;
  893.  } else {
  894.   local1 = self->hsize;
  895.   local2 = 0;
  896.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  897.  }
  898.  return local0;
  899. }
  900.  
  901.  
  902. TUPOBSTR FMAPOBSTR_pairs_(FMAPOBSTR_pairs__frame frame) {
  903.  TUPOBSTR dummy;
  904.  TUPOBSTR local0;
  905.  OB local1;
  906.  switch (frame->state) {
  907.   case 0: goto state0;
  908.   case 1: goto state1;
  909.   }
  910.  state0:;
  911.  if ((!((frame->arg0==((FMAPOBSTR) NULL))))) {
  912.   {
  913.    frame->nested1 = ALLOCATE(FMAPOBSTR_aelt_T_frame);
  914.    frame->nested1->state = 0;
  915.    while (1) {
  916.     if (frame->nested1->state == 0) {
  917.      frame->noname7395 = frame->arg0;
  918.      frame->nested1->arg0 = frame->noname7395;
  919.     }
  920.     local0 = FMAPOBSTR_aelt_T(frame->nested1);
  921.     if (frame->nested1->state == -1) goto after_loop;
  922.     frame->r_7396 = local0;
  923.     local1 = frame->r_7396.t1;
  924.     if ((!(FMAPOBSTR_key_eq(frame->arg0, local1, FMAPOBSTR_key_nil_OB(frame->arg0))))) {
  925.      frame->state = 1;
  926.      return frame->r_7396;
  927.      state1:;
  928.     }
  929.    }
  930.   }
  931.   after_loop: ;
  932.   GC_free(frame->nested1); frame->nested1 = NULL;
  933.  }
  934.  if (!FMAPOBSTR_invari(frame->arg0)) {
  935.   fprintf(stderr,"Failed invariant FMAP{$OB,STR}::invariant:BOOL ../Library/fmap.sa:95:8\n");
  936.   exit(16);
  937.  }
  938.  frame->state = -1;
  939.  return dummy;
  940. }
  941.  
  942.  
  943. TUPOBSTR FMAPOBSTR_aelt_T(FMAPOBSTR_aelt_T_frame frame) {
  944.  TUPOBSTR dummy;
  945.  INT local0;
  946.  switch (frame->state) {
  947.   case 0: goto state0;
  948.   case 1: goto state1;
  949.   }
  950.  state0:;
  951.  if (!((!((frame->arg0==((FMAPOBSTR) NULL)))))) {
  952.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  953.   exit(16);
  954.  }
  955.  {
  956.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  957.   frame->nested1->state = 0;
  958.   while (1) {
  959.    frame->state = 1;
  960.    if (frame->nested1->state == 0) {
  961.     frame->noname7399 = (frame->arg0->asize);
  962.     frame->nested1->arg0 = frame->noname7399;
  963.    }
  964.    local0 = INT_times_INT(frame->nested1);
  965.    if (frame->nested1->state == -1) goto after_loop;
  966.    return FMAPOBSTR_aget_I(frame->arg0, local0);
  967.    state1:;
  968.   }
  969.  }
  970.  after_loop: ;
  971.  GC_free(frame->nested1); frame->nested1 = NULL;
  972.  frame->state = -1;
  973.  return dummy;
  974. }
  975.  
  976.  
  977. STR ARRAYSTR_elt_STR(ARRAYSTR_elt_STR_frame frame) {
  978.  STR dummy;
  979.  STR local0;
  980.  switch (frame->state) {
  981.   case 0: goto state0;
  982.   case 1: goto state1;
  983.   }
  984.  state0:;
  985.  if ((!((frame->arg0==((ARRAYSTR) NULL))))) {
  986.   {
  987.    frame->nested1 = ALLOCATE(ARRAYSTR_aelt_STR_frame);
  988.    frame->nested1->state = 0;
  989.    while (1) {
  990.     frame->state = 1;
  991.     if (frame->nested1->state == 0) {
  992.      frame->noname7402 = frame->arg0;
  993.      frame->nested1->arg0 = frame->noname7402;
  994.     }
  995.     local0 = ARRAYSTR_aelt_STR(frame->nested1);
  996.     if (frame->nested1->state == -1) goto after_loop;
  997.     return local0;
  998.     state1:;
  999.    }
  1000.   }
  1001.   after_loop: ;
  1002.   GC_free(frame->nested1); frame->nested1 = NULL;
  1003.  }
  1004.  frame->state = -1;
  1005.  return dummy;
  1006. }
  1007.  
  1008.  
  1009. STR ARRAYSTR_aelt_STR(ARRAYSTR_aelt_STR_frame frame) {
  1010.  STR dummy;
  1011.  INT local0;
  1012.  switch (frame->state) {
  1013.   case 0: goto state0;
  1014.   case 1: goto state1;
  1015.   }
  1016.  state0:;
  1017.  if (!((!((frame->arg0==((ARRAYSTR) NULL)))))) {
  1018.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  1019.   exit(16);
  1020.  }
  1021.  {
  1022.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1023.   frame->nested1->state = 0;
  1024.   while (1) {
  1025.    frame->state = 1;
  1026.    if (frame->nested1->state == 0) {
  1027.     frame->noname7405 = (frame->arg0->asize);
  1028.     frame->nested1->arg0 = frame->noname7405;
  1029.    }
  1030.    local0 = INT_times_INT(frame->nested1);
  1031.    if (frame->nested1->state == -1) goto after_loop;
  1032.    return ARRAYSTR_aget_IN(frame->arg0, local0);
  1033.    state1:;
  1034.   }
  1035.  }
  1036.  after_loop: ;
  1037.  GC_free(frame->nested1); frame->nested1 = NULL;
  1038.  frame->state = -1;
  1039.  return dummy;
  1040. }
  1041.  
  1042.  
  1043. INT ARRAYARRAYSTR_in(ARRAYARRAYSTR_in_frame frame) {
  1044.  INT dummy;
  1045.  INT local0;
  1046.  switch (frame->state) {
  1047.   case 0: goto state0;
  1048.   case 1: goto state1;
  1049.   }
  1050.  state0:;
  1051.  if ((!((frame->arg0==((ARRAYARRAYSTR) NULL))))) {
  1052.   {
  1053.    frame->nested1 = ALLOCATE(ARRAYARRAYSTR_ai_frame);
  1054.    frame->nested1->state = 0;
  1055.    while (1) {
  1056.     frame->state = 1;
  1057.     if (frame->nested1->state == 0) {
  1058.      frame->noname7408 = frame->arg0;
  1059.      frame->nested1->arg0 = frame->noname7408;
  1060.     }
  1061.     local0 = ARRAYARRAYSTR_ai(frame->nested1);
  1062.     if (frame->nested1->state == -1) goto after_loop;
  1063.     return local0;
  1064.     state1:;
  1065.    }
  1066.   }
  1067.   after_loop: ;
  1068.   GC_free(frame->nested1); frame->nested1 = NULL;
  1069.  }
  1070.  frame->state = -1;
  1071.  return dummy;
  1072. }
  1073.  
  1074.  
  1075. INT ARRAYARRAYSTR_ai(ARRAYARRAYSTR_ai_frame frame) {
  1076.  INT dummy;
  1077.  INT local0;
  1078.  switch (frame->state) {
  1079.   case 0: goto state0;
  1080.   case 1: goto state1;
  1081.   }
  1082.  state0:;
  1083.  if (!((!((frame->arg0==((ARRAYARRAYSTR) NULL)))))) {
  1084.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:129:7\n");
  1085.   exit(16);
  1086.  }
  1087.  {
  1088.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1089.   frame->nested1->state = 0;
  1090.   while (1) {
  1091.    frame->state = 1;
  1092.    if (frame->nested1->state == 0) {
  1093.     frame->noname7411 = (frame->arg0->asize);
  1094.     frame->nested1->arg0 = frame->noname7411;
  1095.    }
  1096.    local0 = INT_times_INT(frame->nested1);
  1097.    if (frame->nested1->state == -1) goto after_loop;
  1098.    return local0;
  1099.    state1:;
  1100.   }
  1101.  }
  1102.  after_loop: ;
  1103.  GC_free(frame->nested1); frame->nested1 = NULL;
  1104.  frame->state = -1;
  1105.  return dummy;
  1106. }
  1107.  
  1108.  
  1109. INT FLISTTP_ind_INT(FLISTTP_ind_INT_frame frame) {
  1110.  INT dummy;
  1111.  INT local0;
  1112.  switch (frame->state) {
  1113.   case 0: goto state0;
  1114.   case 1: goto state1;
  1115.   }
  1116.  state0:;
  1117.  if ((!((frame->arg0==((FLISTTP) NULL))))) {
  1118.   {
  1119.    frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  1120.    frame->nested1->state = 0;
  1121.    while (1) {
  1122.     frame->state = 1;
  1123.     if (frame->nested1->state == 0) {
  1124.      frame->noname7414 = 0;
  1125.      frame->noname7415 = (c_INT_minus_INT_INT_chk(frame->arg0->loc_17,1));
  1126.      frame->nested1->arg0 = frame->noname7414;
  1127.      frame->nested1->arg1 = frame->noname7415;
  1128.     }
  1129.     local0 = INT_upto_INT_INT(frame->nested1);
  1130.     if (frame->nested1->state == -1) goto after_loop;
  1131.     return local0;
  1132.     state1:;
  1133.    }
  1134.   }
  1135.   after_loop: ;
  1136.   GC_free(frame->nested1); frame->nested1 = NULL;
  1137.  }
  1138.  if (!FLISTTP_invarian(frame->arg0)) {
  1139.   fprintf(stderr,"Failed invariant FLIST{$TP}::invariant:BOOL ../Library/flist.sa:159:6\n");
  1140.   exit(16);
  1141.  }
  1142.  frame->state = -1;
  1143.  return dummy;
  1144. }
  1145.  
  1146.  
  1147. void FLISTAM_ITER_CAL_4826(FLISTAM_ITER_CAL_4826_frame frame) {
  1148.  INT local0;
  1149.  INT local1;
  1150.  switch (frame->state) {
  1151.   case 0: goto state0;
  1152.   case 1: goto state1;
  1153.   }
  1154.  state0:;
  1155.  if (!((!((frame->arg0==((FLISTAM_ITER_CAL) NULL)))))) {
  1156.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  1157.   exit(16);
  1158.  }
  1159.  {
  1160.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1161.   frame->nested1->state = 0;
  1162.   while (1) {
  1163.    if (frame->nested1->state == 0) {
  1164.     frame->noname7417 = (frame->arg0->asize);
  1165.     frame->nested1->arg0 = frame->noname7417;
  1166.    }
  1167.    local0 = INT_times_INT(frame->nested1);
  1168.    if (frame->nested1->state == -1) goto after_loop;
  1169.    local1 = local0;
  1170.    FLISTAM_ITER_CAL_4832(frame->arg0, local1, frame->arg1);
  1171.    frame->state = 1;
  1172.    return;
  1173.    state1:;
  1174.   }
  1175.  }
  1176.  after_loop: ;
  1177.  GC_free(frame->nested1); frame->nested1 = NULL;
  1178.  frame->state = -1;
  1179.  return;
  1180. }
  1181.  
  1182.  
  1183. INT AM_BND_ROUT_CALL_4798(AM_BND_ROUT_CALL_4798_frame frame) {
  1184.  INT dummy;
  1185.  INT local0;
  1186.  switch (frame->state) {
  1187.   case 0: goto state0;
  1188.   case 1: goto state1;
  1189.   }
  1190.  state0:;
  1191.  if ((!((frame->arg0==((AM_BND_ROUT_CALL) NULL))))) {
  1192.   {
  1193.    frame->nested1 = ALLOCATE(AM_BND_ROUT_CALL_7422_frame);
  1194.    frame->nested1->state = 0;
  1195.    while (1) {
  1196.     frame->state = 1;
  1197.     if (frame->nested1->state == 0) {
  1198.      frame->noname7420 = frame->arg0;
  1199.      frame->nested1->arg0 = frame->noname7420;
  1200.     }
  1201.     local0 = AM_BND_ROUT_CALL_7422(frame->nested1);
  1202.     if (frame->nested1->state == -1) goto after_loop;
  1203.     return local0;
  1204.     state1:;
  1205.    }
  1206.   }
  1207.   after_loop: ;
  1208.   GC_free(frame->nested1); frame->nested1 = NULL;
  1209.  }
  1210.  frame->state = -1;
  1211.  return dummy;
  1212. }
  1213.  
  1214.  
  1215. INT AM_BND_ROUT_CALL_7422(AM_BND_ROUT_CALL_7422_frame frame) {
  1216.  INT dummy;
  1217.  INT local0;
  1218.  switch (frame->state) {
  1219.   case 0: goto state0;
  1220.   case 1: goto state1;
  1221.   }
  1222.  state0:;
  1223.  if (!((!((frame->arg0==((AM_BND_ROUT_CALL) NULL)))))) {
  1224.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:129:7\n");
  1225.   exit(16);
  1226.  }
  1227.  {
  1228.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1229.   frame->nested1->state = 0;
  1230.   while (1) {
  1231.    frame->state = 1;
  1232.    if (frame->nested1->state == 0) {
  1233.     frame->noname7424 = (frame->arg0->asize);
  1234.     frame->nested1->arg0 = frame->noname7424;
  1235.    }
  1236.    local0 = INT_times_INT(frame->nested1);
  1237.    if (frame->nested1->state == -1) goto after_loop;
  1238.    return local0;
  1239.    state1:;
  1240.   }
  1241.  }
  1242.  after_loop: ;
  1243.  GC_free(frame->nested1); frame->nested1 = NULL;
  1244.  frame->state = -1;
  1245.  return dummy;
  1246. }
  1247.  
  1248.  
  1249. INT AM_ARRAY_EXPR_in(AM_ARRAY_EXPR_in_frame frame) {
  1250.  INT dummy;
  1251.  INT local0;
  1252.  switch (frame->state) {
  1253.   case 0: goto state0;
  1254.   case 1: goto state1;
  1255.   }
  1256.  state0:;
  1257.  if ((!((frame->arg0==((AM_ARRAY_EXPR) NULL))))) {
  1258.   {
  1259.    frame->nested1 = ALLOCATE(AM_ARRAY_EXPR_ai_frame);
  1260.    frame->nested1->state = 0;
  1261.    while (1) {
  1262.     frame->state = 1;
  1263.     if (frame->nested1->state == 0) {
  1264.      frame->noname7427 = frame->arg0;
  1265.      frame->nested1->arg0 = frame->noname7427;
  1266.     }
  1267.     local0 = AM_ARRAY_EXPR_ai(frame->nested1);
  1268.     if (frame->nested1->state == -1) goto after_loop;
  1269.     return local0;
  1270.     state1:;
  1271.    }
  1272.   }
  1273.   after_loop: ;
  1274.   GC_free(frame->nested1); frame->nested1 = NULL;
  1275.  }
  1276.  frame->state = -1;
  1277.  return dummy;
  1278. }
  1279.  
  1280.  
  1281. INT AM_ARRAY_EXPR_ai(AM_ARRAY_EXPR_ai_frame frame) {
  1282.  INT dummy;
  1283.  INT local0;
  1284.  switch (frame->state) {
  1285.   case 0: goto state0;
  1286.   case 1: goto state1;
  1287.   }
  1288.  state0:;
  1289.  if (!((!((frame->arg0==((AM_ARRAY_EXPR) NULL)))))) {
  1290.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:129:7\n");
  1291.   exit(16);
  1292.  }
  1293.  {
  1294.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1295.   frame->nested1->state = 0;
  1296.   while (1) {
  1297.    frame->state = 1;
  1298.    if (frame->nested1->state == 0) {
  1299.     frame->noname7430 = (frame->arg0->asize);
  1300.     frame->nested1->arg0 = frame->noname7430;
  1301.    }
  1302.    local0 = INT_times_INT(frame->nested1);
  1303.    if (frame->nested1->state == -1) goto after_loop;
  1304.    return local0;
  1305.    state1:;
  1306.   }
  1307.  }
  1308.  after_loop: ;
  1309.  GC_free(frame->nested1); frame->nested1 = NULL;
  1310.  frame->state = -1;
  1311.  return dummy;
  1312. }
  1313.  
  1314.  
  1315. void FLISTAM_BND_CREA_4658(FLISTAM_BND_CREA_4658_frame frame) {
  1316.  INT local0;
  1317.  INT local1;
  1318.  switch (frame->state) {
  1319.   case 0: goto state0;
  1320.   case 1: goto state1;
  1321.   }
  1322.  state0:;
  1323.  if (!((!((frame->arg0==((FLISTAM_BND_CREA) NULL)))))) {
  1324.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  1325.   exit(16);
  1326.  }
  1327.  {
  1328.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1329.   frame->nested1->state = 0;
  1330.   while (1) {
  1331.    if (frame->nested1->state == 0) {
  1332.     frame->noname7432 = (frame->arg0->asize);
  1333.     frame->nested1->arg0 = frame->noname7432;
  1334.    }
  1335.    local0 = INT_times_INT(frame->nested1);
  1336.    if (frame->nested1->state == -1) goto after_loop;
  1337.    local1 = local0;
  1338.    FLISTAM_BND_CREA_4664(frame->arg0, local1, frame->arg1);
  1339.    frame->state = 1;
  1340.    return;
  1341.    state1:;
  1342.   }
  1343.  }
  1344.  after_loop: ;
  1345.  GC_free(frame->nested1); frame->nested1 = NULL;
  1346.  frame->state = -1;
  1347.  return;
  1348. }
  1349.  
  1350.  
  1351. INT AM_ITER_CALL_EXP_4506(AM_ITER_CALL_EXP_4506_frame frame) {
  1352.  INT dummy;
  1353.  INT local0;
  1354.  switch (frame->state) {
  1355.   case 0: goto state0;
  1356.   case 1: goto state1;
  1357.   }
  1358.  state0:;
  1359.  if ((!((frame->arg0==((AM_ITER_CALL_EXPR) NULL))))) {
  1360.   {
  1361.    frame->nested1 = ALLOCATE(AM_ITER_CALL_EXP_7437_frame);
  1362.    frame->nested1->state = 0;
  1363.    while (1) {
  1364.     frame->state = 1;
  1365.     if (frame->nested1->state == 0) {
  1366.      frame->noname7435 = frame->arg0;
  1367.      frame->nested1->arg0 = frame->noname7435;
  1368.     }
  1369.     local0 = AM_ITER_CALL_EXP_7437(frame->nested1);
  1370.     if (frame->nested1->state == -1) goto after_loop;
  1371.     return local0;
  1372.     state1:;
  1373.    }
  1374.   }
  1375.   after_loop: ;
  1376.   GC_free(frame->nested1); frame->nested1 = NULL;
  1377.  }
  1378.  frame->state = -1;
  1379.  return dummy;
  1380. }
  1381.  
  1382.  
  1383. INT AM_ITER_CALL_EXP_7437(AM_ITER_CALL_EXP_7437_frame frame) {
  1384.  INT dummy;
  1385.  INT local0;
  1386.  switch (frame->state) {
  1387.   case 0: goto state0;
  1388.   case 1: goto state1;
  1389.   }
  1390.  state0:;
  1391.  if (!((!((frame->arg0==((AM_ITER_CALL_EXPR) NULL)))))) {
  1392.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:129:7\n");
  1393.   exit(16);
  1394.  }
  1395.  {
  1396.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1397.   frame->nested1->state = 0;
  1398.   while (1) {
  1399.    frame->state = 1;
  1400.    if (frame->nested1->state == 0) {
  1401.     frame->noname7439 = (frame->arg0->asize);
  1402.     frame->nested1->arg0 = frame->noname7439;
  1403.    }
  1404.    local0 = INT_times_INT(frame->nested1);
  1405.    if (frame->nested1->state == -1) goto after_loop;
  1406.    return local0;
  1407.    state1:;
  1408.   }
  1409.  }
  1410.  after_loop: ;
  1411.  GC_free(frame->nested1); frame->nested1 = NULL;
  1412.  frame->state = -1;
  1413.  return dummy;
  1414. }
  1415.  
  1416.  
  1417. BOOL FMAPSTRTUPSTRSTR_1035(FMAPSTRTUPSTRSTR self) {
  1418.  BOOL noname7441 = ((BOOL) 0);
  1419.  BOOL local0;
  1420.  INT local1;
  1421.  INT local2;
  1422.  if ((self==((FMAPSTRTUPSTRSTR) NULL))) {
  1423.   local0 = TRUE;
  1424.  } else {
  1425.   local1 = self->hsize;
  1426.   local2 = 0;
  1427.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  1428.  }
  1429.  return local0;
  1430. }
  1431.  
  1432.  
  1433. void FMAPTPINT_aset_T(FMAPTPINT_aset_T_frame frame) {
  1434.  INT local0;
  1435.  INT local1;
  1436.  switch (frame->state) {
  1437.   case 0: goto state0;
  1438.   case 1: goto state1;
  1439.   }
  1440.  state0:;
  1441.  if (!((!((frame->arg0==((FMAPTPINT) NULL)))))) {
  1442.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  1443.   exit(16);
  1444.  }
  1445.  {
  1446.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1447.   frame->nested1->state = 0;
  1448.   while (1) {
  1449.    if (frame->nested1->state == 0) {
  1450.     frame->noname7442 = (frame->arg0->asize);
  1451.     frame->nested1->arg0 = frame->noname7442;
  1452.    }
  1453.    local0 = INT_times_INT(frame->nested1);
  1454.    if (frame->nested1->state == -1) goto after_loop;
  1455.    local1 = local0;
  1456.    FMAPTPINT_aset_I(frame->arg0, local1, frame->arg1);
  1457.    frame->state = 1;
  1458.    return;
  1459.    state1:;
  1460.   }
  1461.  }
  1462.  after_loop: ;
  1463.  GC_free(frame->nested1); frame->nested1 = NULL;
  1464.  frame->state = -1;
  1465.  return;
  1466. }
  1467.  
  1468.  
  1469. BOOL IMPL_is_atomic_BOOL(IMPL self) {
  1470.  BOOL noname7444 = ((BOOL) 0);
  1471.  ELT_TBL noname7445;
  1472.  ELT e_7446;
  1473.  TP atp;
  1474.  TP tparam;
  1475.  ELT local0;
  1476.  TP local1;
  1477.  TP local2;
  1478.  INT local3;
  1479.  TP local4;
  1480.  TP local5;
  1481.  if (!((!((self==((IMPL) NULL)))))) {
  1482.   fprintf(stderr,"Violation of precondition ./impl.sa:114:13\n");
  1483.   exit(16);
  1484.  }
  1485.  {
  1486.   struct ELT_TBL_elt_ELT_frame_struct temp7447_0;
  1487.   ELT_TBL_elt_ELT_frame 
  1488.   noname7448 = &temp7447_0;
  1489.   noname7448->state = 0;
  1490.   while (1) {
  1491.    if (noname7448->state == 0) {
  1492.     noname7445 = self->elts;
  1493.     noname7448->arg0 = noname7445;
  1494.    }
  1495.    local0 = ELT_TBL_elt_ELT(noname7448);
  1496.    if (noname7448->state == -1) goto after_loop;
  1497.    e_7446 = local0;
  1498.    if (ELT_is_attr_read(e_7446)) {
  1499.     atp = e_7446->sig_6->ret;
  1500.     local1 = atp;
  1501.     if ((!((*TP_is_value_BOOL[local1->header.tag+TP_is_value_BOOL_offset])(local1)))) {
  1502.      return FALSE;
  1503.     }
  1504.     local2 = atp;
  1505.     if ((!((*TP_is_atomic_BOOL[local2->header.tag+TP_is_atomic_BOOL_offset])(local2)))) {
  1506.      return FALSE;
  1507.     }
  1508.    }
  1509.   }
  1510.  }
  1511.  after_loop: ;
  1512.  if ((self->arr==((TP_CLASS) NULL))) {
  1513.   return TRUE;
  1514.  }
  1515.  else {
  1516.   if ((self->arr->params==((ARRAYTP) NULL))) {
  1517.    return FALSE;
  1518.   }
  1519.   else {
  1520.    local3 = (self->arr->params->asize);
  1521.    if ((local3!=1)) {
  1522.     return FALSE;
  1523.    }
  1524.    else {
  1525.     tparam = ARRAYTP_aget_INT_TP(self->arr->params, 0);
  1526.     local4 = tparam;
  1527.     if ((!((*TP_is_value_BOOL[local4->header.tag+TP_is_value_BOOL_offset])(local4)))) {
  1528.      return FALSE;
  1529.     }
  1530.     else {
  1531.      local5 = tparam;
  1532.      if ((!((*TP_is_atomic_BOOL[local5->header.tag+TP_is_atomic_BOOL_offset])(local5)))) {
  1533.       return FALSE;
  1534.      }
  1535.      else {
  1536.       return TRUE;
  1537.      }
  1538.     }
  1539.    }
  1540.   }
  1541.  }
  1542.  return TRUE;
  1543. }
  1544.  
  1545.  
  1546. BOOL TP_CLASS_is_atom(TP_CLASS self) {
  1547.  BOOL noname7449 = ((BOOL) 0);
  1548.  TP_BUILTIN builtin;
  1549.  IMPL imp;
  1550.  builtin = self->prog->tp_builtin;
  1551.  if (TP_CLASS_is_eq_T(self, ((TP) builtin->bool_2))) {
  1552.   return TRUE;
  1553.  }
  1554.  else {
  1555.   if (TP_CLASS_is_eq_T(self, ((TP) builtin->char_5))) {
  1556.    return TRUE;
  1557.   }
  1558.   else {
  1559.    if (TP_CLASS_is_eq_T(self, ((TP) builtin->int_1))) {
  1560.     return TRUE;
  1561.    }
  1562.    else {
  1563.     if (TP_CLASS_is_eq_T(self, ((TP) builtin->flt))) {
  1564.      return TRUE;
  1565.     }
  1566.     else {
  1567.      if (TP_CLASS_is_eq_T(self, ((TP) builtin->fltd))) {
  1568.       return TRUE;
  1569.      }
  1570.      else {
  1571.       if (TP_CLASS_is_eq_T(self, ((TP) builtin->fltx))) {
  1572.        return TRUE;
  1573.       }
  1574.       else {
  1575.        if (TP_CLASS_is_eq_T(self, ((TP) builtin->fltx))) {
  1576.         return TRUE;
  1577.        }
  1578.        else {
  1579.         if (TP_CLASS_is_eq_T(self, ((TP) builtin->fltdx))) {
  1580.          return TRUE;
  1581.         }
  1582.         else {
  1583.          if (TP_CLASS_is_eq_T(self, ((TP) builtin->flti))) {
  1584.           return TRUE;
  1585.          }
  1586.          else {
  1587.           if (TP_CLASS_is_eq_T(self, ((TP) builtin->str_4))) {
  1588.            return TRUE;
  1589.           }
  1590.           else {
  1591.            if (TP_CLASS_is_eq_T(self, ((TP) builtin->sys_3))) {
  1592.             return FALSE;
  1593.            }
  1594.            else {
  1595.             if (TP_CLASS_is_eq_T(self, ((TP) builtin->str_4))) {
  1596.              return TRUE;
  1597.             }
  1598.             else {
  1599.              if (TP_CLASS_is_eq_T(self, ((TP) builtin->ext_ob))) {
  1600.               return FALSE;
  1601.              }
  1602.              else {
  1603.               if (TP_CLASS_is_eq_T(self, ((TP) builtin->dollar_ob))) {
  1604.                return FALSE;
  1605.               }
  1606.              }
  1607.             }
  1608.            }
  1609.           }
  1610.          }
  1611.         }
  1612.        }
  1613.       }
  1614.      }
  1615.     }
  1616.    }
  1617.   }
  1618.  }
  1619.  imp = IMPL_TBL_impl_of(self->prog->impl_tbl, ((TP) self));
  1620.  return IMPL_is_atomic_BOOL(imp);
  1621. }
  1622.  
  1623.  
  1624. BOOL TP_CLASS_is_atom_7450(TP_CLASS self) {
  1625.  BOOL noname7451 = ((BOOL) 0);
  1626.  if ((self==((TP_CLASS) NULL))) {
  1627.   return FALSE;
  1628.  }
  1629.  if ((!(self->use_cached_atomic))) {
  1630.   self->atomic_cache = TP_CLASS_is_atom(self);
  1631.   self->use_cached_atomic = TRUE;
  1632.  }
  1633.  return self->atomic_cache;
  1634. }
  1635.  
  1636.  
  1637. ELT ELT_TBL_elt_ELT(ELT_TBL_elt_ELT_frame frame) {
  1638.  ELT dummy;
  1639.  ELT local0;
  1640.  switch (frame->state) {
  1641.   case 0: goto state0;
  1642.   case 1: goto state1;
  1643.   }
  1644.  state0:;
  1645.  if ((!((frame->arg0==((ELT_TBL) NULL))))) {
  1646.   {
  1647.    frame->nested1 = ALLOCATE(ELT_TBL_aelt_ELT_frame);
  1648.    frame->nested1->state = 0;
  1649.    while (1) {
  1650.     if (frame->nested1->state == 0) {
  1651.      frame->noname7453 = frame->arg0;
  1652.      frame->nested1->arg0 = frame->noname7453;
  1653.     }
  1654.     local0 = ELT_TBL_aelt_ELT(frame->nested1);
  1655.     if (frame->nested1->state == -1) goto after_loop;
  1656.     frame->r_7454 = local0;
  1657.     if ((!(ELT_TBL_elt_eq_E(frame->arg0, frame->r_7454, ELT_TBL_elt_nil_ELT(frame->arg0))))) {
  1658.      frame->state = 1;
  1659.      return frame->r_7454;
  1660.      state1:;
  1661.     }
  1662.    }
  1663.   }
  1664.   after_loop: ;
  1665.   GC_free(frame->nested1); frame->nested1 = NULL;
  1666.  }
  1667.  if (!ELT_TBL_invarian(frame->arg0)) {
  1668.   fprintf(stderr,"Failed invariant ELT_TBL::invariant:BOOL ../Library/fqset.sa:105:6\n");
  1669.   exit(16);
  1670.  }
  1671.  frame->state = -1;
  1672.  return dummy;
  1673. }
  1674.  
  1675.  
  1676. ELT ELT_TBL_aelt_ELT(ELT_TBL_aelt_ELT_frame frame) {
  1677.  ELT dummy;
  1678.  INT local0;
  1679.  switch (frame->state) {
  1680.   case 0: goto state0;
  1681.   case 1: goto state1;
  1682.   }
  1683.  state0:;
  1684.  if (!((!((frame->arg0==((ELT_TBL) NULL)))))) {
  1685.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  1686.   exit(16);
  1687.  }
  1688.  {
  1689.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1690.   frame->nested1->state = 0;
  1691.   while (1) {
  1692.    frame->state = 1;
  1693.    if (frame->nested1->state == 0) {
  1694.     frame->noname7457 = (frame->arg0->asize);
  1695.     frame->nested1->arg0 = frame->noname7457;
  1696.    }
  1697.    local0 = INT_times_INT(frame->nested1);
  1698.    if (frame->nested1->state == -1) goto after_loop;
  1699.    return ELT_TBL_aget_INT_ELT(frame->arg0, local0);
  1700.    state1:;
  1701.   }
  1702.  }
  1703.  after_loop: ;
  1704.  GC_free(frame->nested1); frame->nested1 = NULL;
  1705.  frame->state = -1;
  1706.  return dummy;
  1707. }
  1708.  
  1709.  
  1710. BOOL TP_ROUT_is_atomi(TP_ROUT self) {
  1711.  BOOL noname7459 = ((BOOL) 0);
  1712.  return FALSE;
  1713. }
  1714.  
  1715.  
  1716. BOOL TP_ITER_is_atomi(TP_ITER self) {
  1717.  BOOL noname7460 = ((BOOL) 0);
  1718.  return FALSE;
  1719. }
  1720.  
  1721.  
  1722. INT INT_downto_INT_INT(INT_downto_INT_INT_frame frame) {
  1723.  INT dummy;
  1724.  switch (frame->state) {
  1725.   case 0: goto state0;
  1726.   case 1: goto state1;
  1727.   }
  1728.  state0:;
  1729.  frame->r_7462 = frame->arg0;
  1730.  while (1) {
  1731.   if ((frame->r_7462<frame->arg1)) {
  1732.    goto after_loop;
  1733.   }
  1734.   frame->state = 1;
  1735.   return frame->r_7462;
  1736.   state1:;
  1737.   frame->r_7462 = (c_INT_minus_INT_INT_chk(frame->r_7462,1));
  1738.  }
  1739.  after_loop: ;
  1740.  frame->state = -1;
  1741.  return dummy;
  1742. }
  1743.  
  1744.  
  1745. TP AM_STMT_EXPR_tp_TP(AM_STMT_EXPR self) {
  1746.  TP noname7464;
  1747.  AM_EXPR local0;
  1748.  if ((self->expr==((AM_EXPR) NULL))) {
  1749.   return ((TP) NULL);
  1750.  }
  1751.  local0 = self->expr;
  1752.  return (*AM_EXPR_tp_TP[local0->header.tag+AM_EXPR_tp_TP_offset])(local0);
  1753. }
  1754.  
  1755.  
  1756. BOOL FSTR_invariant_BOOL(FSTR self) {
  1757.  BOOL noname7465 = ((BOOL) 0);
  1758.  BOOL local0;
  1759.  INT local1;
  1760.  INT local2;
  1761.  INT local3;
  1762.  if ((self==((FSTR) NULL))) {
  1763.   return TRUE;
  1764.  }
  1765.  local1 = self->loc_17;
  1766.  local2 = 0;
  1767.  if (INT_is_bet_INT_I(local1, local2, (self->asize))) {
  1768.   local3 = (self->asize);
  1769.   local0 = (local3>0);
  1770.  } else {
  1771.   local0 = FALSE;
  1772.  }
  1773.  return local0;
  1774. }
  1775.  
  1776.  
  1777. void INT_times(INT_times_frame frame) {
  1778.  switch (frame->state) {
  1779.   case 0: goto state0;
  1780.   case 1: goto state1;
  1781.   }
  1782.  state0:;
  1783.  if (!((frame->arg0>=0))) {
  1784.   fprintf(stderr,"Violation of precondition ../Library/int.sa:742:8\n");
  1785.   exit(16);
  1786.  }
  1787.  frame->i = frame->arg0;
  1788.  while (1) {
  1789.   if ((frame->i<=0)) {
  1790.    goto after_loop;
  1791.   }
  1792.   frame->state = 1;
  1793.   return;
  1794.   state1:;
  1795.   frame->i = (c_INT_minus_INT_INT_chk(frame->i,1));
  1796.  }
  1797.  after_loop: ;
  1798.  frame->state = -1;
  1799.  return;
  1800. }
  1801.  
  1802.  
  1803. void FMAPSIGAM_ROUT_D_4132(FMAPSIGAM_ROUT_D_4132_frame frame) {
  1804.  INT local0;
  1805.  INT local1;
  1806.  switch (frame->state) {
  1807.   case 0: goto state0;
  1808.   case 1: goto state1;
  1809.   }
  1810.  state0:;
  1811.  if (!((!((frame->arg0==((FMAPSIGAM_ROUT_DEF) NULL)))))) {
  1812.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  1813.   exit(16);
  1814.  }
  1815.  {
  1816.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1817.   frame->nested1->state = 0;
  1818.   while (1) {
  1819.    if (frame->nested1->state == 0) {
  1820.     frame->noname7467 = (frame->arg0->asize);
  1821.     frame->nested1->arg0 = frame->noname7467;
  1822.    }
  1823.    local0 = INT_times_INT(frame->nested1);
  1824.    if (frame->nested1->state == -1) goto after_loop;
  1825.    local1 = local0;
  1826.    FMAPSIGAM_ROUT_D_4153(frame->arg0, local1, frame->arg1);
  1827.    frame->state = 1;
  1828.    return;
  1829.    state1:;
  1830.   }
  1831.  }
  1832.  after_loop: ;
  1833.  GC_free(frame->nested1); frame->nested1 = NULL;
  1834.  frame->state = -1;
  1835.  return;
  1836. }
  1837.  
  1838.  
  1839. void FLISTAM_ROUT_DEF_4088(FLISTAM_ROUT_DEF_4088_frame frame) {
  1840.  INT local0;
  1841.  INT local1;
  1842.  switch (frame->state) {
  1843.   case 0: goto state0;
  1844.   case 1: goto state1;
  1845.   }
  1846.  state0:;
  1847.  if (!((!((frame->arg0==((FLISTAM_ROUT_DEF) NULL)))))) {
  1848.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  1849.   exit(16);
  1850.  }
  1851.  {
  1852.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1853.   frame->nested1->state = 0;
  1854.   while (1) {
  1855.    if (frame->nested1->state == 0) {
  1856.     frame->noname7469 = (frame->arg0->asize);
  1857.     frame->nested1->arg0 = frame->noname7469;
  1858.    }
  1859.    local0 = INT_times_INT(frame->nested1);
  1860.    if (frame->nested1->state == -1) goto after_loop;
  1861.    local1 = local0;
  1862.    FLISTAM_ROUT_DEF_4094(frame->arg0, local1, frame->arg1);
  1863.    frame->state = 1;
  1864.    return;
  1865.    state1:;
  1866.   }
  1867.  }
  1868.  after_loop: ;
  1869.  GC_free(frame->nested1); frame->nested1 = NULL;
  1870.  frame->state = -1;
  1871.  return;
  1872. }
  1873.  
  1874.  
  1875. BOOL FLISTINT_invaria(FLISTINT self) {
  1876.  BOOL noname7471 = ((BOOL) 0);
  1877.  BOOL local0;
  1878.  INT local1;
  1879.  INT local2;
  1880.  INT local3;
  1881.  if ((self==((FLISTINT) NULL))) {
  1882.   return TRUE;
  1883.  }
  1884.  local1 = self->loc_17;
  1885.  local2 = 0;
  1886.  if (INT_is_bet_INT_I(local1, local2, (self->asize))) {
  1887.   local3 = (self->asize);
  1888.   local0 = (local3>0);
  1889.  } else {
  1890.   local0 = FALSE;
  1891.  }
  1892.  return local0;
  1893. }
  1894.  
  1895.  
  1896. AM_CONST ARRAYAM_CONST_el(ARRAYAM_CONST_el_frame frame) {
  1897.  AM_CONST dummy;
  1898.  AM_CONST local0;
  1899.  switch (frame->state) {
  1900.   case 0: goto state0;
  1901.   case 1: goto state1;
  1902.   }
  1903.  state0:;
  1904.  if ((!((frame->arg0==((ARRAYAM_CONST) NULL))))) {
  1905.   {
  1906.    frame->nested1 = ALLOCATE(ARRAYAM_CONST_ae_frame);
  1907.    frame->nested1->state = 0;
  1908.    while (1) {
  1909.     frame->state = 1;
  1910.     if (frame->nested1->state == 0) {
  1911.      frame->noname7473 = frame->arg0;
  1912.      frame->nested1->arg0 = frame->noname7473;
  1913.     }
  1914.     local0 = ARRAYAM_CONST_ae(frame->nested1);
  1915.     if (frame->nested1->state == -1) goto after_loop;
  1916.     return local0;
  1917.     state1:;
  1918.    }
  1919.   }
  1920.   after_loop: ;
  1921.   GC_free(frame->nested1); frame->nested1 = NULL;
  1922.  }
  1923.  frame->state = -1;
  1924.  return dummy;
  1925. }
  1926.  
  1927.  
  1928. INT ARRAYAM_CONST_as(ARRAYAM_CONST self) {
  1929.  INT noname7475 = ((INT) 0);
  1930.   return self->asize;
  1931.  fprintf(stderr,"Last statement wasn't return ../Library/aref.sa:20:8\n");
  1932.  exit(16);
  1933. }
  1934.  
  1935.  
  1936. AM_CONST ARRAYAM_CONST_ag(ARRAYAM_CONST self, INT ind_7476) {
  1937.  AM_CONST noname7477;
  1938.  BOOL local0;
  1939.  INT local1;
  1940.  INT local2;
  1941.  if ((!((self==((ARRAYAM_CONST) NULL))))) {
  1942.   local1 = 0;
  1943.   local2 = (self->asize);
  1944.   local0 = INT_is_bet_INT_I(ind_7476, local1, (c_INT_minus_INT_INT_chk(local2,1)));
  1945.  } else {
  1946.   local0 = FALSE;
  1947.  }
  1948.  if (!(local0)) {
  1949.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:33:7\n");
  1950.   exit(16);
  1951.  }
  1952.  if (ind_7476<0||ind_7476>=self->asize) {
  1953.   fprintf(stderr,"Index out of bounds ../Library/aref.sa:33:7\n");
  1954.   exit(16);
  1955.  }
  1956.  return self->arr_part[ind_7476];
  1957. }
  1958.  
  1959.  
  1960. AM_CONST ARRAYAM_CONST_ae(ARRAYAM_CONST_ae_frame frame) {
  1961.  AM_CONST dummy;
  1962.  INT local0;
  1963.  switch (frame->state) {
  1964.   case 0: goto state0;
  1965.   case 1: goto state1;
  1966.   }
  1967.  state0:;
  1968.  if (!((!((frame->arg0==((ARRAYAM_CONST) NULL)))))) {
  1969.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  1970.   exit(16);
  1971.  }
  1972.  {
  1973.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  1974.   frame->nested1->state = 0;
  1975.   while (1) {
  1976.    frame->state = 1;
  1977.    if (frame->nested1->state == 0) {
  1978.     frame->noname7479 = (frame->arg0->asize);
  1979.     frame->nested1->arg0 = frame->noname7479;
  1980.    }
  1981.    local0 = INT_times_INT(frame->nested1);
  1982.    if (frame->nested1->state == -1) goto after_loop;
  1983.    return ARRAYAM_CONST_ag(frame->arg0, local0);
  1984.    state1:;
  1985.   }
  1986.  }
  1987.  after_loop: ;
  1988.  GC_free(frame->nested1); frame->nested1 = NULL;
  1989.  frame->state = -1;
  1990.  return dummy;
  1991. }
  1992.  
  1993.  
  1994. AM_EXPR AM_BND_ITER_CALL_3893(AM_BND_ITER_CALL_3893_frame frame) {
  1995.  AM_EXPR dummy;
  1996.  AM_EXPR local0;
  1997.  switch (frame->state) {
  1998.   case 0: goto state0;
  1999.   case 1: goto state1;
  2000.   }
  2001.  state0:;
  2002.  if ((!((frame->arg0==((AM_BND_ITER_CALL) NULL))))) {
  2003.   {
  2004.    frame->nested1 = ALLOCATE(AM_BND_ITER_CALL_7484_frame);
  2005.    frame->nested1->state = 0;
  2006.    while (1) {
  2007.     frame->state = 1;
  2008.     if (frame->nested1->state == 0) {
  2009.      frame->noname7482 = frame->arg0;
  2010.      frame->nested1->arg0 = frame->noname7482;
  2011.     }
  2012.     local0 = AM_BND_ITER_CALL_7484(frame->nested1);
  2013.     if (frame->nested1->state == -1) goto after_loop;
  2014.     return local0;
  2015.     state1:;
  2016.    }
  2017.   }
  2018.   after_loop: ;
  2019.   GC_free(frame->nested1); frame->nested1 = NULL;
  2020.  }
  2021.  frame->state = -1;
  2022.  return dummy;
  2023. }
  2024.  
  2025.  
  2026. AM_EXPR AM_BND_ITER_CALL_7484(AM_BND_ITER_CALL_7484_frame frame) {
  2027.  AM_EXPR dummy;
  2028.  INT local0;
  2029.  switch (frame->state) {
  2030.   case 0: goto state0;
  2031.   case 1: goto state1;
  2032.   }
  2033.  state0:;
  2034.  if (!((!((frame->arg0==((AM_BND_ITER_CALL) NULL)))))) {
  2035.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  2036.   exit(16);
  2037.  }
  2038.  {
  2039.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2040.   frame->nested1->state = 0;
  2041.   while (1) {
  2042.    frame->state = 1;
  2043.    if (frame->nested1->state == 0) {
  2044.     frame->noname7486 = (frame->arg0->asize);
  2045.     frame->nested1->arg0 = frame->noname7486;
  2046.    }
  2047.    local0 = INT_times_INT(frame->nested1);
  2048.    if (frame->nested1->state == -1) goto after_loop;
  2049.    return AM_BND_ITER_CALL_5426(frame->arg0, local0);
  2050.    state1:;
  2051.   }
  2052.  }
  2053.  after_loop: ;
  2054.  GC_free(frame->nested1); frame->nested1 = NULL;
  2055.  frame->state = -1;
  2056.  return dummy;
  2057. }
  2058.  
  2059.  
  2060. AM_EXPR AM_ITER_CALL_EXP(AM_ITER_CALL_EXP_frame frame) {
  2061.  AM_EXPR dummy;
  2062.  AM_EXPR local0;
  2063.  switch (frame->state) {
  2064.   case 0: goto state0;
  2065.   case 1: goto state1;
  2066.   }
  2067.  state0:;
  2068.  if ((!((frame->arg0==((AM_ITER_CALL_EXPR) NULL))))) {
  2069.   {
  2070.    frame->nested1 = ALLOCATE(AM_ITER_CALL_EXP_7491_frame);
  2071.    frame->nested1->state = 0;
  2072.    while (1) {
  2073.     frame->state = 1;
  2074.     if (frame->nested1->state == 0) {
  2075.      frame->noname7489 = frame->arg0;
  2076.      frame->nested1->arg0 = frame->noname7489;
  2077.     }
  2078.     local0 = AM_ITER_CALL_EXP_7491(frame->nested1);
  2079.     if (frame->nested1->state == -1) goto after_loop;
  2080.     return local0;
  2081.     state1:;
  2082.    }
  2083.   }
  2084.   after_loop: ;
  2085.   GC_free(frame->nested1); frame->nested1 = NULL;
  2086.  }
  2087.  frame->state = -1;
  2088.  return dummy;
  2089. }
  2090.  
  2091.  
  2092. AM_EXPR AM_ITER_CALL_EXP_7491(AM_ITER_CALL_EXP_7491_frame frame) {
  2093.  AM_EXPR dummy;
  2094.  INT local0;
  2095.  switch (frame->state) {
  2096.   case 0: goto state0;
  2097.   case 1: goto state1;
  2098.   }
  2099.  state0:;
  2100.  if (!((!((frame->arg0==((AM_ITER_CALL_EXPR) NULL)))))) {
  2101.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  2102.   exit(16);
  2103.  }
  2104.  {
  2105.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2106.   frame->nested1->state = 0;
  2107.   while (1) {
  2108.    frame->state = 1;
  2109.    if (frame->nested1->state == 0) {
  2110.     frame->noname7493 = (frame->arg0->asize);
  2111.     frame->nested1->arg0 = frame->noname7493;
  2112.    }
  2113.    local0 = INT_times_INT(frame->nested1);
  2114.    if (frame->nested1->state == -1) goto after_loop;
  2115.    return AM_ITER_CALL_EXP_4468(frame->arg0, local0);
  2116.    state1:;
  2117.   }
  2118.  }
  2119.  after_loop: ;
  2120.  GC_free(frame->nested1); frame->nested1 = NULL;
  2121.  frame->state = -1;
  2122.  return dummy;
  2123. }
  2124.  
  2125.  
  2126. INT ARRAYINT_ind_INT(ARRAYINT_ind_INT_frame frame) {
  2127.  INT dummy;
  2128.  INT local0;
  2129.  switch (frame->state) {
  2130.   case 0: goto state0;
  2131.   case 1: goto state1;
  2132.   }
  2133.  state0:;
  2134.  if ((!((frame->arg0==((ARRAYINT) NULL))))) {
  2135.   {
  2136.    frame->nested1 = ALLOCATE(ARRAYINT_aind_INT_frame);
  2137.    frame->nested1->state = 0;
  2138.    while (1) {
  2139.     frame->state = 1;
  2140.     if (frame->nested1->state == 0) {
  2141.      frame->noname7496 = frame->arg0;
  2142.      frame->nested1->arg0 = frame->noname7496;
  2143.     }
  2144.     local0 = ARRAYINT_aind_INT(frame->nested1);
  2145.     if (frame->nested1->state == -1) goto after_loop;
  2146.     return local0;
  2147.     state1:;
  2148.    }
  2149.   }
  2150.   after_loop: ;
  2151.   GC_free(frame->nested1); frame->nested1 = NULL;
  2152.  }
  2153.  frame->state = -1;
  2154.  return dummy;
  2155. }
  2156.  
  2157.  
  2158. INT ARRAYINT_aind_INT(ARRAYINT_aind_INT_frame frame) {
  2159.  INT dummy;
  2160.  INT local0;
  2161.  switch (frame->state) {
  2162.   case 0: goto state0;
  2163.   case 1: goto state1;
  2164.   }
  2165.  state0:;
  2166.  if (!((!((frame->arg0==((ARRAYINT) NULL)))))) {
  2167.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:129:7\n");
  2168.   exit(16);
  2169.  }
  2170.  {
  2171.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2172.   frame->nested1->state = 0;
  2173.   while (1) {
  2174.    frame->state = 1;
  2175.    if (frame->nested1->state == 0) {
  2176.     frame->noname7499 = (frame->arg0->asize);
  2177.     frame->nested1->arg0 = frame->noname7499;
  2178.    }
  2179.    local0 = INT_times_INT(frame->nested1);
  2180.    if (frame->nested1->state == -1) goto after_loop;
  2181.    return local0;
  2182.    state1:;
  2183.   }
  2184.  }
  2185.  after_loop: ;
  2186.  GC_free(frame->nested1); frame->nested1 = NULL;
  2187.  frame->state = -1;
  2188.  return dummy;
  2189. }
  2190.  
  2191.  
  2192. void FLISTSIG_aset_SIG(FLISTSIG_aset_SIG_frame frame) {
  2193.  INT local0;
  2194.  INT local1;
  2195.  switch (frame->state) {
  2196.   case 0: goto state0;
  2197.   case 1: goto state1;
  2198.   }
  2199.  state0:;
  2200.  if (!((!((frame->arg0==((FLISTSIG) NULL)))))) {
  2201.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  2202.   exit(16);
  2203.  }
  2204.  {
  2205.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2206.   frame->nested1->state = 0;
  2207.   while (1) {
  2208.    if (frame->nested1->state == 0) {
  2209.     frame->noname7501 = (frame->arg0->asize);
  2210.     frame->nested1->arg0 = frame->noname7501;
  2211.    }
  2212.    local0 = INT_times_INT(frame->nested1);
  2213.    if (frame->nested1->state == -1) goto after_loop;
  2214.    local1 = local0;
  2215.    FLISTSIG_aset_IN(frame->arg0, local1, frame->arg1);
  2216.    frame->state = 1;
  2217.    return;
  2218.    state1:;
  2219.   }
  2220.  }
  2221.  after_loop: ;
  2222.  GC_free(frame->nested1); frame->nested1 = NULL;
  2223.  frame->state = -1;
  2224.  return;
  2225. }
  2226.  
  2227.  
  2228. SIG FLISTSIG_elt_SIG(FLISTSIG_elt_SIG_frame frame) {
  2229.  SIG dummy;
  2230.  SIG local0;
  2231.  switch (frame->state) {
  2232.   case 0: goto state0;
  2233.   case 1: goto state1;
  2234.   }
  2235.  state0:;
  2236.  if ((!((frame->arg0==((FLISTSIG) NULL))))) {
  2237.   {
  2238.    frame->nested1 = ALLOCATE(FLISTSIG_aelt_IN_frame);
  2239.    frame->nested1->state = 0;
  2240.    while (1) {
  2241.     frame->state = 1;
  2242.     if (frame->nested1->state == 0) {
  2243.      frame->noname7504 = frame->arg0;
  2244.      frame->noname7505 = 0;
  2245.      frame->noname7506 = frame->arg0->loc_17;
  2246.      frame->nested1->arg0 = frame->noname7504;
  2247.      frame->nested1->arg1 = frame->noname7505;
  2248.      frame->nested1->arg2 = frame->noname7506;
  2249.     }
  2250.     local0 = FLISTSIG_aelt_IN(frame->nested1);
  2251.     if (frame->nested1->state == -1) goto after_loop;
  2252.     return local0;
  2253.     state1:;
  2254.    }
  2255.   }
  2256.   after_loop: ;
  2257.   GC_free(frame->nested1); frame->nested1 = NULL;
  2258.  }
  2259.  if (!FLISTSIG_invaria(frame->arg0)) {
  2260.   fprintf(stderr,"Failed invariant FLIST{SIG}::invariant:BOOL ../Library/flist.sa:127:6\n");
  2261.   exit(16);
  2262.  }
  2263.  frame->state = -1;
  2264.  return dummy;
  2265. }
  2266.  
  2267.  
  2268. SIG FLISTSIG_aelt_IN(FLISTSIG_aelt_IN_frame frame) {
  2269.  SIG dummy;
  2270.  BOOL local0;
  2271.  BOOL local1;
  2272.  INT local2;
  2273.  INT local3;
  2274.  INT local4;
  2275.  INT local5;
  2276.  INT local6;
  2277.  INT local7;
  2278.  switch (frame->state) {
  2279.   case 0: goto state0;
  2280.   case 1: goto state1;
  2281.   }
  2282.  state0:;
  2283.  if ((!((frame->arg0==((FLISTSIG) NULL))))) {
  2284.   local2 = 0;
  2285.   local3 = (frame->arg0->asize);
  2286.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  2287.  } else {
  2288.   local1 = FALSE;
  2289.  }
  2290.  if (local1) {
  2291.   local4 = 0;
  2292.   local5 = (frame->arg0->asize);
  2293.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  2294.  } else {
  2295.   local0 = FALSE;
  2296.  }
  2297.  if (!(local0)) {
  2298.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  2299.   exit(16);
  2300.  }
  2301.  {
  2302.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  2303.   frame->nested1->state = 0;
  2304.   while (1) {
  2305.    frame->state = 1;
  2306.    if (frame->nested1->state == 0) {
  2307.     frame->noname7509 = frame->arg1;
  2308.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  2309.     frame->noname7510 = (c_INT_minus_INT_INT_chk(local7,1));
  2310.     frame->nested1->arg0 = frame->noname7509;
  2311.     frame->nested1->arg1 = frame->noname7510;
  2312.    }
  2313.    local6 = INT_upto_INT_INT(frame->nested1);
  2314.    if (frame->nested1->state == -1) goto after_loop;
  2315.    return FLISTSIG_aget_IN(frame->arg0, local6);
  2316.    state1:;
  2317.   }
  2318.  }
  2319.  after_loop: ;
  2320.  GC_free(frame->nested1); frame->nested1 = NULL;
  2321.  frame->state = -1;
  2322.  return dummy;
  2323. }
  2324.  
  2325.  
  2326. TP FMAPIDENTTP_targ(FMAPIDENTTP_targ_frame frame) {
  2327.  TP dummy;
  2328.  TUPIDENTTP local0;
  2329.  IDENT local1;
  2330.  switch (frame->state) {
  2331.   case 0: goto state0;
  2332.   case 1: goto state1;
  2333.   }
  2334.  state0:;
  2335.  if ((!((frame->arg0==((FMAPIDENTTP) NULL))))) {
  2336.   {
  2337.    frame->nested1 = ALLOCATE(FMAPIDENTTP_aelt_frame);
  2338.    frame->nested1->state = 0;
  2339.    while (1) {
  2340.     if (frame->nested1->state == 0) {
  2341.      frame->noname7513 = frame->arg0;
  2342.      frame->nested1->arg0 = frame->noname7513;
  2343.     }
  2344.     local0 = FMAPIDENTTP_aelt(frame->nested1);
  2345.     if (frame->nested1->state == -1) goto after_loop;
  2346.     frame->e_7514 = local0;
  2347.     local1 = frame->e_7514.t1;
  2348.     if ((!(FMAPIDENTTP_key__3627(frame->arg0, local1, FMAPIDENTTP_key_(frame->arg0))))) {
  2349.      frame->state = 1;
  2350.      return frame->e_7514.t2;
  2351.      state1:;
  2352.     }
  2353.    }
  2354.   }
  2355.   after_loop: ;
  2356.   GC_free(frame->nested1); frame->nested1 = NULL;
  2357.  }
  2358.  if (!FMAPIDENTTP_inva(frame->arg0)) {
  2359.   fprintf(stderr,"Failed invariant FMAP{IDENT,$TP}::invariant:BOOL ../Library/fmap.sa:111:10\n");
  2360.   exit(16);
  2361.  }
  2362.  frame->state = -1;
  2363.  return dummy;
  2364. }
  2365.  
  2366.  
  2367. TP_CLASS FLISTTP_CLASS_el(FLISTTP_CLASS_el_frame frame) {
  2368.  TP_CLASS dummy;
  2369.  TP_CLASS local0;
  2370.  switch (frame->state) {
  2371.   case 0: goto state0;
  2372.   case 1: goto state1;
  2373.   }
  2374.  state0:;
  2375.  if ((!((frame->arg0==((FLISTTP_CLASS) NULL))))) {
  2376.   {
  2377.    frame->nested1 = ALLOCATE(FLISTTP_CLASS_ae_frame);
  2378.    frame->nested1->state = 0;
  2379.    while (1) {
  2380.     frame->state = 1;
  2381.     if (frame->nested1->state == 0) {
  2382.      frame->noname7517 = frame->arg0;
  2383.      frame->noname7518 = 0;
  2384.      frame->noname7519 = frame->arg0->loc_17;
  2385.      frame->nested1->arg0 = frame->noname7517;
  2386.      frame->nested1->arg1 = frame->noname7518;
  2387.      frame->nested1->arg2 = frame->noname7519;
  2388.     }
  2389.     local0 = FLISTTP_CLASS_ae(frame->nested1);
  2390.     if (frame->nested1->state == -1) goto after_loop;
  2391.     return local0;
  2392.     state1:;
  2393.    }
  2394.   }
  2395.   after_loop: ;
  2396.   GC_free(frame->nested1); frame->nested1 = NULL;
  2397.  }
  2398.  if (!FLISTTP_CLASS_in(frame->arg0)) {
  2399.   fprintf(stderr,"Failed invariant FLIST{TP_CLASS}::invariant:BOOL ../Library/flist.sa:127:6\n");
  2400.   exit(16);
  2401.  }
  2402.  frame->state = -1;
  2403.  return dummy;
  2404. }
  2405.  
  2406.  
  2407. BOOL FLISTTP_CLASS_in(FLISTTP_CLASS self) {
  2408.  BOOL noname7521 = ((BOOL) 0);
  2409.  BOOL local0;
  2410.  INT local1;
  2411.  INT local2;
  2412.  INT local3;
  2413.  if ((self==((FLISTTP_CLASS) NULL))) {
  2414.   return TRUE;
  2415.  }
  2416.  local1 = self->loc_17;
  2417.  local2 = 0;
  2418.  if (INT_is_bet_INT_I(local1, local2, (self->asize))) {
  2419.   local3 = (self->asize);
  2420.   local0 = (local3>0);
  2421.  } else {
  2422.   local0 = FALSE;
  2423.  }
  2424.  return local0;
  2425. }
  2426.  
  2427.  
  2428. TP_CLASS FLISTTP_CLASS_ar_7522(FLISTTP_CLASS self, INT ind_7523) {
  2429.  TP_CLASS noname7524;
  2430.  BOOL local0;
  2431.  INT local1;
  2432.  INT local2;
  2433.  if ((!((self==((FLISTTP_CLASS) NULL))))) {
  2434.   local1 = 0;
  2435.   local2 = (self->asize);
  2436.   local0 = INT_is_bet_INT_I(ind_7523, local1, (c_INT_minus_INT_INT_chk(local2,1)));
  2437.  } else {
  2438.   local0 = FALSE;
  2439.  }
  2440.  if (!(local0)) {
  2441.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:33:7\n");
  2442.   exit(16);
  2443.  }
  2444.  if (ind_7523<0||ind_7523>=self->asize) {
  2445.   fprintf(stderr,"Index out of bounds ../Library/aref.sa:33:7\n");
  2446.   exit(16);
  2447.  }
  2448.  return self->arr_part[ind_7523];
  2449. }
  2450.  
  2451.  
  2452. TP_CLASS FLISTTP_CLASS_ag(FLISTTP_CLASS self, INT ind_7525) {
  2453.  TP_CLASS noname7526;
  2454.  BOOL local0;
  2455.  INT local1;
  2456.  if ((!((self==((FLISTTP_CLASS) NULL))))) {
  2457.   local1 = 0;
  2458.   local0 = INT_is_bet_INT_I(ind_7525, local1, (c_INT_minus_INT_INT_chk(self->loc_17,1)));
  2459.  } else {
  2460.   local0 = FALSE;
  2461.  }
  2462.  if (!(local0)) {
  2463.   fprintf(stderr,"Violation of precondition ../Library/flist.sa:68:7\n");
  2464.   exit(16);
  2465.  }
  2466.  return FLISTTP_CLASS_ar_7522(self, ind_7525);
  2467.  if (!FLISTTP_CLASS_in(self)) {
  2468.   fprintf(stderr,"Failed invariant FLIST{TP_CLASS}::invariant:BOOL ../Library/flist.sa:68:7\n");
  2469.   exit(16);
  2470.  }
  2471. }
  2472.  
  2473.  
  2474. TP_CLASS FLISTTP_CLASS_ae(FLISTTP_CLASS_ae_frame frame) {
  2475.  TP_CLASS dummy;
  2476.  BOOL local0;
  2477.  BOOL local1;
  2478.  INT local2;
  2479.  INT local3;
  2480.  INT local4;
  2481.  INT local5;
  2482.  INT local6;
  2483.  INT local7;
  2484.  switch (frame->state) {
  2485.   case 0: goto state0;
  2486.   case 1: goto state1;
  2487.   }
  2488.  state0:;
  2489.  if ((!((frame->arg0==((FLISTTP_CLASS) NULL))))) {
  2490.   local2 = 0;
  2491.   local3 = (frame->arg0->asize);
  2492.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  2493.  } else {
  2494.   local1 = FALSE;
  2495.  }
  2496.  if (local1) {
  2497.   local4 = 0;
  2498.   local5 = (frame->arg0->asize);
  2499.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  2500.  } else {
  2501.   local0 = FALSE;
  2502.  }
  2503.  if (!(local0)) {
  2504.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  2505.   exit(16);
  2506.  }
  2507.  {
  2508.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  2509.   frame->nested1->state = 0;
  2510.   while (1) {
  2511.    frame->state = 1;
  2512.    if (frame->nested1->state == 0) {
  2513.     frame->noname7528 = frame->arg1;
  2514.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  2515.     frame->noname7529 = (c_INT_minus_INT_INT_chk(local7,1));
  2516.     frame->nested1->arg0 = frame->noname7528;
  2517.     frame->nested1->arg1 = frame->noname7529;
  2518.    }
  2519.    local6 = INT_upto_INT_INT(frame->nested1);
  2520.    if (frame->nested1->state == -1) goto after_loop;
  2521.    return FLISTTP_CLASS_ag(frame->arg0, local6);
  2522.    state1:;
  2523.   }
  2524.  }
  2525.  after_loop: ;
  2526.  GC_free(frame->nested1); frame->nested1 = NULL;
  2527.  frame->state = -1;
  2528.  return dummy;
  2529. }
  2530.  
  2531.  
  2532. BOOL TP_ROUT_is_value(TP_ROUT self) {
  2533.  BOOL noname7531 = ((BOOL) 0);
  2534.  return (shared_TP_KIND_r==shared_TP_KIND_v);
  2535. }
  2536.  
  2537.  
  2538. BOOL TP_ITER_is_value(TP_ITER self) {
  2539.  BOOL noname7532 = ((BOOL) 0);
  2540.  return (shared_TP_KIND_i==shared_TP_KIND_v);
  2541. }
  2542.  
  2543.  
  2544. void FMAPIDENTTP_aset(FMAPIDENTTP_aset_frame frame) {
  2545.  INT local0;
  2546.  INT local1;
  2547.  switch (frame->state) {
  2548.   case 0: goto state0;
  2549.   case 1: goto state1;
  2550.   }
  2551.  state0:;
  2552.  if (!((!((frame->arg0==((FMAPIDENTTP) NULL)))))) {
  2553.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  2554.   exit(16);
  2555.  }
  2556.  {
  2557.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2558.   frame->nested1->state = 0;
  2559.   while (1) {
  2560.    if (frame->nested1->state == 0) {
  2561.     frame->noname7533 = (frame->arg0->asize);
  2562.     frame->nested1->arg0 = frame->noname7533;
  2563.    }
  2564.    local0 = INT_times_INT(frame->nested1);
  2565.    if (frame->nested1->state == -1) goto after_loop;
  2566.    local1 = local0;
  2567.    FMAPIDENTTP_aset_3629(frame->arg0, local1, frame->arg1);
  2568.    frame->state = 1;
  2569.    return;
  2570.    state1:;
  2571.   }
  2572.  }
  2573.  after_loop: ;
  2574.  GC_free(frame->nested1); frame->nested1 = NULL;
  2575.  frame->state = -1;
  2576.  return;
  2577. }
  2578.  
  2579.  
  2580. CHAR FSTR_elt_CHAR(FSTR_elt_CHAR_frame frame) {
  2581.  CHAR dummy;
  2582.  CHAR local0;
  2583.  switch (frame->state) {
  2584.   case 0: goto state0;
  2585.   case 1: goto state1;
  2586.   }
  2587.  state0:;
  2588.  if ((!((frame->arg0==((FSTR) NULL))))) {
  2589.   {
  2590.    frame->nested1 = ALLOCATE(FSTR_aelt_INT_IN_frame);
  2591.    frame->nested1->state = 0;
  2592.    while (1) {
  2593.     frame->state = 1;
  2594.     if (frame->nested1->state == 0) {
  2595.      frame->noname7536 = frame->arg0;
  2596.      frame->noname7537 = 0;
  2597.      frame->noname7538 = frame->arg0->loc_17;
  2598.      frame->nested1->arg0 = frame->noname7536;
  2599.      frame->nested1->arg1 = frame->noname7537;
  2600.      frame->nested1->arg2 = frame->noname7538;
  2601.     }
  2602.     local0 = FSTR_aelt_INT_IN(frame->nested1);
  2603.     if (frame->nested1->state == -1) goto after_loop;
  2604.     return local0;
  2605.     state1:;
  2606.    }
  2607.   }
  2608.   after_loop: ;
  2609.   GC_free(frame->nested1); frame->nested1 = NULL;
  2610.  }
  2611.  if (!FSTR_invariant_BOOL(frame->arg0)) {
  2612.   fprintf(stderr,"Failed invariant FSTR::invariant:BOOL ../Library/flist.sa:127:6\n");
  2613.   exit(16);
  2614.  }
  2615.  frame->state = -1;
  2616.  return dummy;
  2617. }
  2618.  
  2619.  
  2620. CHAR FSTR_aelt_INT_IN(FSTR_aelt_INT_IN_frame frame) {
  2621.  CHAR dummy;
  2622.  BOOL local0;
  2623.  BOOL local1;
  2624.  INT local2;
  2625.  INT local3;
  2626.  INT local4;
  2627.  INT local5;
  2628.  INT local6;
  2629.  INT local7;
  2630.  switch (frame->state) {
  2631.   case 0: goto state0;
  2632.   case 1: goto state1;
  2633.   }
  2634.  state0:;
  2635.  if ((!((frame->arg0==((FSTR) NULL))))) {
  2636.   local2 = 0;
  2637.   local3 = (frame->arg0->asize);
  2638.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  2639.  } else {
  2640.   local1 = FALSE;
  2641.  }
  2642.  if (local1) {
  2643.   local4 = 0;
  2644.   local5 = (frame->arg0->asize);
  2645.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  2646.  } else {
  2647.   local0 = FALSE;
  2648.  }
  2649.  if (!(local0)) {
  2650.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  2651.   exit(16);
  2652.  }
  2653.  {
  2654.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  2655.   frame->nested1->state = 0;
  2656.   while (1) {
  2657.    frame->state = 1;
  2658.    if (frame->nested1->state == 0) {
  2659.     frame->noname7541 = frame->arg1;
  2660.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  2661.     frame->noname7542 = (c_INT_minus_INT_INT_chk(local7,1));
  2662.     frame->nested1->arg0 = frame->noname7541;
  2663.     frame->nested1->arg1 = frame->noname7542;
  2664.    }
  2665.    local6 = INT_upto_INT_INT(frame->nested1);
  2666.    if (frame->nested1->state == -1) goto after_loop;
  2667.    return FSTR_aget_INT_CHAR(frame->arg0, local6);
  2668.    state1:;
  2669.   }
  2670.  }
  2671.  after_loop: ;
  2672.  GC_free(frame->nested1); frame->nested1 = NULL;
  2673.  frame->state = -1;
  2674.  return dummy;
  2675. }
  2676.  
  2677.  
  2678. void FSETOB_aset_OB(FSETOB_aset_OB_frame frame) {
  2679.  INT local0;
  2680.  INT local1;
  2681.  switch (frame->state) {
  2682.   case 0: goto state0;
  2683.   case 1: goto state1;
  2684.   }
  2685.  state0:;
  2686.  if (!((!((frame->arg0==((FSETOB) NULL)))))) {
  2687.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  2688.   exit(16);
  2689.  }
  2690.  {
  2691.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2692.   frame->nested1->state = 0;
  2693.   while (1) {
  2694.    if (frame->nested1->state == 0) {
  2695.     frame->noname7544 = (frame->arg0->asize);
  2696.     frame->nested1->arg0 = frame->noname7544;
  2697.    }
  2698.    local0 = INT_times_INT(frame->nested1);
  2699.    if (frame->nested1->state == -1) goto after_loop;
  2700.    local1 = local0;
  2701.    FSETOB_aset_INT_OB(frame->arg0, local1, frame->arg1);
  2702.    frame->state = 1;
  2703.    return;
  2704.    state1:;
  2705.   }
  2706.  }
  2707.  after_loop: ;
  2708.  GC_free(frame->nested1); frame->nested1 = NULL;
  2709.  if (!FSETOB_invariant(frame->arg0)) {
  2710.   fprintf(stderr,"Failed invariant FSET{$OB}::invariant:BOOL ../Library/aref.sa:77:7\n");
  2711.   exit(16);
  2712.  }
  2713.  frame->state = -1;
  2714.  return;
  2715. }
  2716.  
  2717.  
  2718. void FLISTTP_CLASS_as_3514(FLISTTP_CLASS_as_3514_frame frame) {
  2719.  INT local0;
  2720.  INT local1;
  2721.  switch (frame->state) {
  2722.   case 0: goto state0;
  2723.   case 1: goto state1;
  2724.   }
  2725.  state0:;
  2726.  if (!((!((frame->arg0==((FLISTTP_CLASS) NULL)))))) {
  2727.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  2728.   exit(16);
  2729.  }
  2730.  {
  2731.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2732.   frame->nested1->state = 0;
  2733.   while (1) {
  2734.    if (frame->nested1->state == 0) {
  2735.     frame->noname7546 = (frame->arg0->asize);
  2736.     frame->nested1->arg0 = frame->noname7546;
  2737.    }
  2738.    local0 = INT_times_INT(frame->nested1);
  2739.    if (frame->nested1->state == -1) goto after_loop;
  2740.    local1 = local0;
  2741.    FLISTTP_CLASS_as_3518(frame->arg0, local1, frame->arg1);
  2742.    frame->state = 1;
  2743.    return;
  2744.    state1:;
  2745.   }
  2746.  }
  2747.  after_loop: ;
  2748.  GC_free(frame->nested1); frame->nested1 = NULL;
  2749.  frame->state = -1;
  2750.  return;
  2751. }
  2752.  
  2753.  
  2754. TP_CLASS FSETTP_CLASS_elt_3006(FSETTP_CLASS_elt_3006_frame frame) {
  2755.  TP_CLASS dummy;
  2756.  TP_CLASS local0;
  2757.  switch (frame->state) {
  2758.   case 0: goto state0;
  2759.   case 1: goto state1;
  2760.   }
  2761.  state0:;
  2762.  if ((!((frame->arg0==((FSETTP_CLASS) NULL))))) {
  2763.   {
  2764.    frame->nested1 = ALLOCATE(FSETTP_CLASS_ael_frame);
  2765.    frame->nested1->state = 0;
  2766.    while (1) {
  2767.     if (frame->nested1->state == 0) {
  2768.      frame->noname7549 = frame->arg0;
  2769.      frame->nested1->arg0 = frame->noname7549;
  2770.     }
  2771.     local0 = FSETTP_CLASS_ael(frame->nested1);
  2772.     if (frame->nested1->state == -1) goto after_loop;
  2773.     frame->r_7550 = local0;
  2774.     if ((!(FSETTP_CLASS_elt_3013(frame->arg0, frame->r_7550, FSETTP_CLASS_elt(frame->arg0))))) {
  2775.      frame->state = 1;
  2776.      return frame->r_7550;
  2777.      state1:;
  2778.     }
  2779.    }
  2780.   }
  2781.   after_loop: ;
  2782.   GC_free(frame->nested1); frame->nested1 = NULL;
  2783.  }
  2784.  if (!FSETTP_CLASS_inv(frame->arg0)) {
  2785.   fprintf(stderr,"Failed invariant FSET{TP_CLASS}::invariant:BOOL ../Library/fset.sa:98:6\n");
  2786.   exit(16);
  2787.  }
  2788.  frame->state = -1;
  2789.  return dummy;
  2790. }
  2791.  
  2792.  
  2793. TP_CLASS FSETTP_CLASS_ael(FSETTP_CLASS_ael_frame frame) {
  2794.  TP_CLASS dummy;
  2795.  INT local0;
  2796.  switch (frame->state) {
  2797.   case 0: goto state0;
  2798.   case 1: goto state1;
  2799.   }
  2800.  state0:;
  2801.  if (!((!((frame->arg0==((FSETTP_CLASS) NULL)))))) {
  2802.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  2803.   exit(16);
  2804.  }
  2805.  {
  2806.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2807.   frame->nested1->state = 0;
  2808.   while (1) {
  2809.    frame->state = 1;
  2810.    if (frame->nested1->state == 0) {
  2811.     frame->noname7553 = (frame->arg0->asize);
  2812.     frame->nested1->arg0 = frame->noname7553;
  2813.    }
  2814.    local0 = INT_times_INT(frame->nested1);
  2815.    if (frame->nested1->state == -1) goto after_loop;
  2816.    return FSETTP_CLASS_age(frame->arg0, local0);
  2817.    state1:;
  2818.   }
  2819.  }
  2820.  after_loop: ;
  2821.  GC_free(frame->nested1); frame->nested1 = NULL;
  2822.  if (!FSETTP_CLASS_inv(frame->arg0)) {
  2823.   fprintf(stderr,"Failed invariant FSET{TP_CLASS}::invariant:BOOL ../Library/aref.sa:48:7\n");
  2824.   exit(16);
  2825.  }
  2826.  frame->state = -1;
  2827.  return dummy;
  2828. }
  2829.  
  2830.  
  2831. BOOL FMAPTPIFC_invari(FMAPTPIFC self) {
  2832.  BOOL noname7555 = ((BOOL) 0);
  2833.  BOOL local0;
  2834.  INT local1;
  2835.  INT local2;
  2836.  if ((self==((FMAPTPIFC) NULL))) {
  2837.   local0 = TRUE;
  2838.  } else {
  2839.   local1 = self->hsize;
  2840.   local2 = 0;
  2841.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  2842.  }
  2843.  return local0;
  2844. }
  2845.  
  2846.  
  2847. TUPTPIFC FMAPTPIFC_pairs_(FMAPTPIFC_pairs__frame frame) {
  2848.  TUPTPIFC dummy;
  2849.  TUPTPIFC local0;
  2850.  TP local1;
  2851.  switch (frame->state) {
  2852.   case 0: goto state0;
  2853.   case 1: goto state1;
  2854.   }
  2855.  state0:;
  2856.  if ((!((frame->arg0==((FMAPTPIFC) NULL))))) {
  2857.   {
  2858.    frame->nested1 = ALLOCATE(FMAPTPIFC_aelt_T_frame);
  2859.    frame->nested1->state = 0;
  2860.    while (1) {
  2861.     if (frame->nested1->state == 0) {
  2862.      frame->noname7557 = frame->arg0;
  2863.      frame->nested1->arg0 = frame->noname7557;
  2864.     }
  2865.     local0 = FMAPTPIFC_aelt_T(frame->nested1);
  2866.     if (frame->nested1->state == -1) goto after_loop;
  2867.     frame->r_7558 = local0;
  2868.     local1 = frame->r_7558.t1;
  2869.     if ((!(FMAPTPIFC_key_eq(frame->arg0, local1, FMAPTPIFC_key_nil_TP(frame->arg0))))) {
  2870.      frame->state = 1;
  2871.      return frame->r_7558;
  2872.      state1:;
  2873.     }
  2874.    }
  2875.   }
  2876.   after_loop: ;
  2877.   GC_free(frame->nested1); frame->nested1 = NULL;
  2878.  }
  2879.  if (!FMAPTPIFC_invari(frame->arg0)) {
  2880.   fprintf(stderr,"Failed invariant FMAP{$TP,IFC}::invariant:BOOL ../Library/fmap.sa:95:8\n");
  2881.   exit(16);
  2882.  }
  2883.  frame->state = -1;
  2884.  return dummy;
  2885. }
  2886.  
  2887.  
  2888. TUPTPIFC FMAPTPIFC_aelt_T(FMAPTPIFC_aelt_T_frame frame) {
  2889.  TUPTPIFC dummy;
  2890.  INT local0;
  2891.  switch (frame->state) {
  2892.   case 0: goto state0;
  2893.   case 1: goto state1;
  2894.   }
  2895.  state0:;
  2896.  if (!((!((frame->arg0==((FMAPTPIFC) NULL)))))) {
  2897.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  2898.   exit(16);
  2899.  }
  2900.  {
  2901.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2902.   frame->nested1->state = 0;
  2903.   while (1) {
  2904.    frame->state = 1;
  2905.    if (frame->nested1->state == 0) {
  2906.     frame->noname7561 = (frame->arg0->asize);
  2907.     frame->nested1->arg0 = frame->noname7561;
  2908.    }
  2909.    local0 = INT_times_INT(frame->nested1);
  2910.    if (frame->nested1->state == -1) goto after_loop;
  2911.    return FMAPTPIFC_aget_I(frame->arg0, local0);
  2912.    state1:;
  2913.   }
  2914.  }
  2915.  after_loop: ;
  2916.  GC_free(frame->nested1); frame->nested1 = NULL;
  2917.  frame->state = -1;
  2918.  return dummy;
  2919. }
  2920.  
  2921.  
  2922. void FMAPTPIFC_aset_T(FMAPTPIFC_aset_T_frame frame) {
  2923.  INT local0;
  2924.  INT local1;
  2925.  switch (frame->state) {
  2926.   case 0: goto state0;
  2927.   case 1: goto state1;
  2928.   }
  2929.  state0:;
  2930.  if (!((!((frame->arg0==((FMAPTPIFC) NULL)))))) {
  2931.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  2932.   exit(16);
  2933.  }
  2934.  {
  2935.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2936.   frame->nested1->state = 0;
  2937.   while (1) {
  2938.    if (frame->nested1->state == 0) {
  2939.     frame->noname7563 = (frame->arg0->asize);
  2940.     frame->nested1->arg0 = frame->noname7563;
  2941.    }
  2942.    local0 = INT_times_INT(frame->nested1);
  2943.    if (frame->nested1->state == -1) goto after_loop;
  2944.    local1 = local0;
  2945.    FMAPTPIFC_aset_I(frame->arg0, local1, frame->arg1);
  2946.    frame->state = 1;
  2947.    return;
  2948.    state1:;
  2949.   }
  2950.  }
  2951.  after_loop: ;
  2952.  GC_free(frame->nested1); frame->nested1 = NULL;
  2953.  frame->state = -1;
  2954.  return;
  2955. }
  2956.  
  2957.  
  2958. BOOL FLISTIFC_invaria(FLISTIFC self) {
  2959.  BOOL noname7565 = ((BOOL) 0);
  2960.  BOOL local0;
  2961.  INT local1;
  2962.  INT local2;
  2963.  INT local3;
  2964.  if ((self==((FLISTIFC) NULL))) {
  2965.   return TRUE;
  2966.  }
  2967.  local1 = self->loc_17;
  2968.  local2 = 0;
  2969.  if (INT_is_bet_INT_I(local1, local2, (self->asize))) {
  2970.   local3 = (self->asize);
  2971.   local0 = (local3>0);
  2972.  } else {
  2973.   local0 = FALSE;
  2974.  }
  2975.  return local0;
  2976. }
  2977.  
  2978.  
  2979. void FLISTIFC_aset_IFC(FLISTIFC_aset_IFC_frame frame) {
  2980.  INT local0;
  2981.  INT local1;
  2982.  switch (frame->state) {
  2983.   case 0: goto state0;
  2984.   case 1: goto state1;
  2985.   }
  2986.  state0:;
  2987.  if (!((!((frame->arg0==((FLISTIFC) NULL)))))) {
  2988.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  2989.   exit(16);
  2990.  }
  2991.  {
  2992.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  2993.   frame->nested1->state = 0;
  2994.   while (1) {
  2995.    if (frame->nested1->state == 0) {
  2996.     frame->noname7566 = (frame->arg0->asize);
  2997.     frame->nested1->arg0 = frame->noname7566;
  2998.    }
  2999.    local0 = INT_times_INT(frame->nested1);
  3000.    if (frame->nested1->state == -1) goto after_loop;
  3001.    local1 = local0;
  3002.    FLISTIFC_aset_IN(frame->arg0, local1, frame->arg1);
  3003.    frame->state = 1;
  3004.    return;
  3005.    state1:;
  3006.   }
  3007.  }
  3008.  after_loop: ;
  3009.  GC_free(frame->nested1); frame->nested1 = NULL;
  3010.  frame->state = -1;
  3011.  return;
  3012. }
  3013.  
  3014.  
  3015. IFC FLISTIFC_elt_IFC(FLISTIFC_elt_IFC_frame frame) {
  3016.  IFC dummy;
  3017.  IFC local0;
  3018.  switch (frame->state) {
  3019.   case 0: goto state0;
  3020.   case 1: goto state1;
  3021.   }
  3022.  state0:;
  3023.  if ((!((frame->arg0==((FLISTIFC) NULL))))) {
  3024.   {
  3025.    frame->nested1 = ALLOCATE(FLISTIFC_aelt_IN_frame);
  3026.    frame->nested1->state = 0;
  3027.    while (1) {
  3028.     frame->state = 1;
  3029.     if (frame->nested1->state == 0) {
  3030.      frame->noname7569 = frame->arg0;
  3031.      frame->noname7570 = 0;
  3032.      frame->noname7571 = frame->arg0->loc_17;
  3033.      frame->nested1->arg0 = frame->noname7569;
  3034.      frame->nested1->arg1 = frame->noname7570;
  3035.      frame->nested1->arg2 = frame->noname7571;
  3036.     }
  3037.     local0 = FLISTIFC_aelt_IN(frame->nested1);
  3038.     if (frame->nested1->state == -1) goto after_loop;
  3039.     return local0;
  3040.     state1:;
  3041.    }
  3042.   }
  3043.   after_loop: ;
  3044.   GC_free(frame->nested1); frame->nested1 = NULL;
  3045.  }
  3046.  if (!FLISTIFC_invaria(frame->arg0)) {
  3047.   fprintf(stderr,"Failed invariant FLIST{IFC}::invariant:BOOL ../Library/flist.sa:127:6\n");
  3048.   exit(16);
  3049.  }
  3050.  frame->state = -1;
  3051.  return dummy;
  3052. }
  3053.  
  3054.  
  3055. IFC FLISTIFC_aelt_IN(FLISTIFC_aelt_IN_frame frame) {
  3056.  IFC dummy;
  3057.  BOOL local0;
  3058.  BOOL local1;
  3059.  INT local2;
  3060.  INT local3;
  3061.  INT local4;
  3062.  INT local5;
  3063.  INT local6;
  3064.  INT local7;
  3065.  switch (frame->state) {
  3066.   case 0: goto state0;
  3067.   case 1: goto state1;
  3068.   }
  3069.  state0:;
  3070.  if ((!((frame->arg0==((FLISTIFC) NULL))))) {
  3071.   local2 = 0;
  3072.   local3 = (frame->arg0->asize);
  3073.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  3074.  } else {
  3075.   local1 = FALSE;
  3076.  }
  3077.  if (local1) {
  3078.   local4 = 0;
  3079.   local5 = (frame->arg0->asize);
  3080.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  3081.  } else {
  3082.   local0 = FALSE;
  3083.  }
  3084.  if (!(local0)) {
  3085.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  3086.   exit(16);
  3087.  }
  3088.  {
  3089.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  3090.   frame->nested1->state = 0;
  3091.   while (1) {
  3092.    frame->state = 1;
  3093.    if (frame->nested1->state == 0) {
  3094.     frame->noname7574 = frame->arg1;
  3095.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  3096.     frame->noname7575 = (c_INT_minus_INT_INT_chk(local7,1));
  3097.     frame->nested1->arg0 = frame->noname7574;
  3098.     frame->nested1->arg1 = frame->noname7575;
  3099.    }
  3100.    local6 = INT_upto_INT_INT(frame->nested1);
  3101.    if (frame->nested1->state == -1) goto after_loop;
  3102.    return FLISTIFC_aget_IN(frame->arg0, local6);
  3103.    state1:;
  3104.   }
  3105.  }
  3106.  after_loop: ;
  3107.  GC_free(frame->nested1); frame->nested1 = NULL;
  3108.  frame->state = -1;
  3109.  return dummy;
  3110. }
  3111.  
  3112.  
  3113. TUPIDENTINT FSETTUPIDENTINT__2370(FSETTUPIDENTINT__2370_frame frame) {
  3114.  TUPIDENTINT dummy;
  3115.  TUPIDENTINT local0;
  3116.  switch (frame->state) {
  3117.   case 0: goto state0;
  3118.   case 1: goto state1;
  3119.   }
  3120.  state0:;
  3121.  if ((!((frame->arg0==((FSETTUPIDENTINT) NULL))))) {
  3122.   {
  3123.    frame->nested1 = ALLOCATE(FSETTUPIDENTINT__7581_frame);
  3124.    frame->nested1->state = 0;
  3125.    while (1) {
  3126.     if (frame->nested1->state == 0) {
  3127.      frame->noname7578 = frame->arg0;
  3128.      frame->nested1->arg0 = frame->noname7578;
  3129.     }
  3130.     local0 = FSETTUPIDENTINT__7581(frame->nested1);
  3131.     if (frame->nested1->state == -1) goto after_loop;
  3132.     frame->r_7579 = local0;
  3133.     if ((!(FSETTUPIDENTINT__2341(frame->arg0, frame->r_7579, FSETTUPIDENTINT__2345(frame->arg0))))) {
  3134.      frame->state = 1;
  3135.      return frame->r_7579;
  3136.      state1:;
  3137.     }
  3138.    }
  3139.   }
  3140.   after_loop: ;
  3141.   GC_free(frame->nested1); frame->nested1 = NULL;
  3142.  }
  3143.  if (!FSETTUPIDENTINT__2333(frame->arg0)) {
  3144.   fprintf(stderr,"Failed invariant FSET{TUP{IDENT,INT}}::invariant:BOOL ../Library/fset.sa:98:6\n");
  3145.   exit(16);
  3146.  }
  3147.  frame->state = -1;
  3148.  return dummy;
  3149. }
  3150.  
  3151.  
  3152. BOOL FSETTUPIDENTINT__2333(FSETTUPIDENTINT self) {
  3153.  BOOL noname7582 = ((BOOL) 0);
  3154.  BOOL local0;
  3155.  INT local1;
  3156.  INT local2;
  3157.  if ((self==((FSETTUPIDENTINT) NULL))) {
  3158.   local0 = TRUE;
  3159.  } else {
  3160.   local1 = self->hsize;
  3161.   local2 = 0;
  3162.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  3163.  }
  3164.  return local0;
  3165. }
  3166.  
  3167.  
  3168. TUPIDENTINT FSETTUPIDENTINT__7581(FSETTUPIDENTINT__7581_frame frame) {
  3169.  TUPIDENTINT dummy;
  3170.  INT local0;
  3171.  switch (frame->state) {
  3172.   case 0: goto state0;
  3173.   case 1: goto state1;
  3174.   }
  3175.  state0:;
  3176.  if (!((!((frame->arg0==((FSETTUPIDENTINT) NULL)))))) {
  3177.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  3178.   exit(16);
  3179.  }
  3180.  {
  3181.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3182.   frame->nested1->state = 0;
  3183.   while (1) {
  3184.    frame->state = 1;
  3185.    if (frame->nested1->state == 0) {
  3186.     frame->noname7584 = (frame->arg0->asize);
  3187.     frame->nested1->arg0 = frame->noname7584;
  3188.    }
  3189.    local0 = INT_times_INT(frame->nested1);
  3190.    if (frame->nested1->state == -1) goto after_loop;
  3191.    return FSETTUPIDENTINT__2336(frame->arg0, local0);
  3192.    state1:;
  3193.   }
  3194.  }
  3195.  after_loop: ;
  3196.  GC_free(frame->nested1); frame->nested1 = NULL;
  3197.  if (!FSETTUPIDENTINT__2333(frame->arg0)) {
  3198.   fprintf(stderr,"Failed invariant FSET{TUP{IDENT,INT}}::invariant:BOOL ../Library/aref.sa:48:7\n");
  3199.   exit(16);
  3200.  }
  3201.  frame->state = -1;
  3202.  return dummy;
  3203. }
  3204.  
  3205.  
  3206. TUPTP_CLASSFSETTP FMAPTP_CLASSFSET_3145(FMAPTP_CLASSFSET_3145_frame frame) {
  3207.  TUPTP_CLASSFSETTP dummy;
  3208.  TUPTP_CLASSFSETTP local0;
  3209.  TP_CLASS local1;
  3210.  switch (frame->state) {
  3211.   case 0: goto state0;
  3212.   case 1: goto state1;
  3213.   }
  3214.  state0:;
  3215.  if ((!((frame->arg0==((FMAPTP_CLASSFSETTP) NULL))))) {
  3216.   {
  3217.    frame->nested1 = ALLOCATE(FMAPTP_CLASSFSET_7590_frame);
  3218.    frame->nested1->state = 0;
  3219.    while (1) {
  3220.     if (frame->nested1->state == 0) {
  3221.      frame->noname7587 = frame->arg0;
  3222.      frame->nested1->arg0 = frame->noname7587;
  3223.     }
  3224.     local0 = FMAPTP_CLASSFSET_7590(frame->nested1);
  3225.     if (frame->nested1->state == -1) goto after_loop;
  3226.     frame->r_7588 = local0;
  3227.     local1 = frame->r_7588.t1;
  3228.     if ((!(FMAPTP_CLASSFSET_3121(frame->arg0, local1, FMAPTP_CLASSFSET_3105(frame->arg0))))) {
  3229.      frame->state = 1;
  3230.      return frame->r_7588;
  3231.      state1:;
  3232.     }
  3233.    }
  3234.   }
  3235.   after_loop: ;
  3236.   GC_free(frame->nested1); frame->nested1 = NULL;
  3237.  }
  3238.  if (!FMAPTP_CLASSFSET_3107(frame->arg0)) {
  3239.   fprintf(stderr,"Failed invariant FMAP{TP_CLASS,FSET{$TP}}::invariant:BOOL ../Library/fmap.sa:95:8\n");
  3240.   exit(16);
  3241.  }
  3242.  frame->state = -1;
  3243.  return dummy;
  3244. }
  3245.  
  3246.  
  3247. BOOL FMAPTP_CLASSFSET_3107(FMAPTP_CLASSFSETTP self) {
  3248.  BOOL noname7591 = ((BOOL) 0);
  3249.  BOOL local0;
  3250.  INT local1;
  3251.  INT local2;
  3252.  if ((self==((FMAPTP_CLASSFSETTP) NULL))) {
  3253.   local0 = TRUE;
  3254.  } else {
  3255.   local1 = self->hsize;
  3256.   local2 = 0;
  3257.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  3258.  }
  3259.  return local0;
  3260. }
  3261.  
  3262.  
  3263. TUPTP_CLASSFSETTP FMAPTP_CLASSFSET_7590(FMAPTP_CLASSFSET_7590_frame frame) {
  3264.  TUPTP_CLASSFSETTP dummy;
  3265.  INT local0;
  3266.  switch (frame->state) {
  3267.   case 0: goto state0;
  3268.   case 1: goto state1;
  3269.   }
  3270.  state0:;
  3271.  if (!((!((frame->arg0==((FMAPTP_CLASSFSETTP) NULL)))))) {
  3272.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  3273.   exit(16);
  3274.  }
  3275.  {
  3276.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3277.   frame->nested1->state = 0;
  3278.   while (1) {
  3279.    frame->state = 1;
  3280.    if (frame->nested1->state == 0) {
  3281.     frame->noname7593 = (frame->arg0->asize);
  3282.     frame->nested1->arg0 = frame->noname7593;
  3283.    }
  3284.    local0 = INT_times_INT(frame->nested1);
  3285.    if (frame->nested1->state == -1) goto after_loop;
  3286.    return FMAPTP_CLASSFSET_3118(frame->arg0, local0);
  3287.    state1:;
  3288.   }
  3289.  }
  3290.  after_loop: ;
  3291.  GC_free(frame->nested1); frame->nested1 = NULL;
  3292.  frame->state = -1;
  3293.  return dummy;
  3294. }
  3295.  
  3296.  
  3297. TUPTP_CLASSFSETT FMAPTP_CLASSFSET_3044(FMAPTP_CLASSFSET_3044_frame frame) {
  3298.  TUPTP_CLASSFSETT dummy;
  3299.  TUPTP_CLASSFSETT local0;
  3300.  TP_CLASS local1;
  3301.  switch (frame->state) {
  3302.   case 0: goto state0;
  3303.   case 1: goto state1;
  3304.   }
  3305.  state0:;
  3306.  if ((!((frame->arg0==((FMAPTP_CLASSFSET) NULL))))) {
  3307.   {
  3308.    frame->nested1 = ALLOCATE(FMAPTP_CLASSFSET_7599_frame);
  3309.    frame->nested1->state = 0;
  3310.    while (1) {
  3311.     if (frame->nested1->state == 0) {
  3312.      frame->noname7596 = frame->arg0;
  3313.      frame->nested1->arg0 = frame->noname7596;
  3314.     }
  3315.     local0 = FMAPTP_CLASSFSET_7599(frame->nested1);
  3316.     if (frame->nested1->state == -1) goto after_loop;
  3317.     frame->r_7597 = local0;
  3318.     local1 = frame->r_7597.t1;
  3319.     if ((!(FMAPTP_CLASSFSET_2982(frame->arg0, local1, FMAPTP_CLASSFSET_2966(frame->arg0))))) {
  3320.      frame->state = 1;
  3321.      return frame->r_7597;
  3322.      state1:;
  3323.     }
  3324.    }
  3325.   }
  3326.   after_loop: ;
  3327.   GC_free(frame->nested1); frame->nested1 = NULL;
  3328.  }
  3329.  if (!FMAPTP_CLASSFSET_2968(frame->arg0)) {
  3330.   fprintf(stderr,"Failed invariant FMAP{TP_CLASS,FSET{TP_CLASS}}::invariant:BOOL ../Library/fmap.sa:95:8\n");
  3331.   exit(16);
  3332.  }
  3333.  frame->state = -1;
  3334.  return dummy;
  3335. }
  3336.  
  3337.  
  3338. BOOL FMAPTP_CLASSFSET_2968(FMAPTP_CLASSFSET self) {
  3339.  BOOL noname7600 = ((BOOL) 0);
  3340.  BOOL local0;
  3341.  INT local1;
  3342.  INT local2;
  3343.  if ((self==((FMAPTP_CLASSFSET) NULL))) {
  3344.   local0 = TRUE;
  3345.  } else {
  3346.   local1 = self->hsize;
  3347.   local2 = 0;
  3348.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  3349.  }
  3350.  return local0;
  3351. }
  3352.  
  3353.  
  3354. TUPTP_CLASSFSETT FMAPTP_CLASSFSET_7599(FMAPTP_CLASSFSET_7599_frame frame) {
  3355.  TUPTP_CLASSFSETT dummy;
  3356.  INT local0;
  3357.  switch (frame->state) {
  3358.   case 0: goto state0;
  3359.   case 1: goto state1;
  3360.   }
  3361.  state0:;
  3362.  if (!((!((frame->arg0==((FMAPTP_CLASSFSET) NULL)))))) {
  3363.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  3364.   exit(16);
  3365.  }
  3366.  {
  3367.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3368.   frame->nested1->state = 0;
  3369.   while (1) {
  3370.    frame->state = 1;
  3371.    if (frame->nested1->state == 0) {
  3372.     frame->noname7602 = (frame->arg0->asize);
  3373.     frame->nested1->arg0 = frame->noname7602;
  3374.    }
  3375.    local0 = INT_times_INT(frame->nested1);
  3376.    if (frame->nested1->state == -1) goto after_loop;
  3377.    return FMAPTP_CLASSFSET_2979(frame->arg0, local0);
  3378.    state1:;
  3379.   }
  3380.  }
  3381.  after_loop: ;
  3382.  GC_free(frame->nested1); frame->nested1 = NULL;
  3383.  frame->state = -1;
  3384.  return dummy;
  3385. }
  3386.  
  3387.  
  3388. void FMAPTP_CLASSFSET_3135(FMAPTP_CLASSFSET_3135_frame frame) {
  3389.  INT local0;
  3390.  INT local1;
  3391.  switch (frame->state) {
  3392.   case 0: goto state0;
  3393.   case 1: goto state1;
  3394.   }
  3395.  state0:;
  3396.  if (!((!((frame->arg0==((FMAPTP_CLASSFSETTP) NULL)))))) {
  3397.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  3398.   exit(16);
  3399.  }
  3400.  {
  3401.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3402.   frame->nested1->state = 0;
  3403.   while (1) {
  3404.    if (frame->nested1->state == 0) {
  3405.     frame->noname7604 = (frame->arg0->asize);
  3406.     frame->nested1->arg0 = frame->noname7604;
  3407.    }
  3408.    local0 = INT_times_INT(frame->nested1);
  3409.    if (frame->nested1->state == -1) goto after_loop;
  3410.    local1 = local0;
  3411.    FMAPTP_CLASSFSET_3147(frame->arg0, local1, frame->arg1);
  3412.    frame->state = 1;
  3413.    return;
  3414.    state1:;
  3415.   }
  3416.  }
  3417.  after_loop: ;
  3418.  GC_free(frame->nested1); frame->nested1 = NULL;
  3419.  frame->state = -1;
  3420.  return;
  3421. }
  3422.  
  3423.  
  3424. void FMAPTP_CLASSFSET_3034(FMAPTP_CLASSFSET_3034_frame frame) {
  3425.  INT local0;
  3426.  INT local1;
  3427.  switch (frame->state) {
  3428.   case 0: goto state0;
  3429.   case 1: goto state1;
  3430.   }
  3431.  state0:;
  3432.  if (!((!((frame->arg0==((FMAPTP_CLASSFSET) NULL)))))) {
  3433.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  3434.   exit(16);
  3435.  }
  3436.  {
  3437.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3438.   frame->nested1->state = 0;
  3439.   while (1) {
  3440.    if (frame->nested1->state == 0) {
  3441.     frame->noname7606 = (frame->arg0->asize);
  3442.     frame->nested1->arg0 = frame->noname7606;
  3443.    }
  3444.    local0 = INT_times_INT(frame->nested1);
  3445.    if (frame->nested1->state == -1) goto after_loop;
  3446.    local1 = local0;
  3447.    FMAPTP_CLASSFSET_3046(frame->arg0, local1, frame->arg1);
  3448.    frame->state = 1;
  3449.    return;
  3450.    state1:;
  3451.   }
  3452.  }
  3453.  after_loop: ;
  3454.  GC_free(frame->nested1); frame->nested1 = NULL;
  3455.  frame->state = -1;
  3456.  return;
  3457. }
  3458.  
  3459.  
  3460. void FSETTP_CLASS_ase(FSETTP_CLASS_ase_frame frame) {
  3461.  INT local0;
  3462.  INT local1;
  3463.  switch (frame->state) {
  3464.   case 0: goto state0;
  3465.   case 1: goto state1;
  3466.   }
  3467.  state0:;
  3468.  if (!((!((frame->arg0==((FSETTP_CLASS) NULL)))))) {
  3469.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  3470.   exit(16);
  3471.  }
  3472.  {
  3473.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3474.   frame->nested1->state = 0;
  3475.   while (1) {
  3476.    if (frame->nested1->state == 0) {
  3477.     frame->noname7608 = (frame->arg0->asize);
  3478.     frame->nested1->arg0 = frame->noname7608;
  3479.    }
  3480.    local0 = INT_times_INT(frame->nested1);
  3481.    if (frame->nested1->state == -1) goto after_loop;
  3482.    local1 = local0;
  3483.    FSETTP_CLASS_ase_3017(frame->arg0, local1, frame->arg1);
  3484.    frame->state = 1;
  3485.    return;
  3486.    state1:;
  3487.   }
  3488.  }
  3489.  after_loop: ;
  3490.  GC_free(frame->nested1); frame->nested1 = NULL;
  3491.  if (!FSETTP_CLASS_inv(frame->arg0)) {
  3492.   fprintf(stderr,"Failed invariant FSET{TP_CLASS}::invariant:BOOL ../Library/aref.sa:77:7\n");
  3493.   exit(16);
  3494.  }
  3495.  frame->state = -1;
  3496.  return;
  3497. }
  3498.  
  3499.  
  3500. TR_CLASS_DEF PROG_TR_TBL_elt__2054(PROG_TR_TBL_elt__2054_frame frame) {
  3501.  TR_CLASS_DEF dummy;
  3502.  TR_CLASS_DEF local0;
  3503.  switch (frame->state) {
  3504.   case 0: goto state0;
  3505.   case 1: goto state1;
  3506.   }
  3507.  state0:;
  3508.  if ((!((frame->arg0==((PROG_TR_TBL) NULL))))) {
  3509.   {
  3510.    frame->nested1 = ALLOCATE(PROG_TR_TBL_aelt_frame);
  3511.    frame->nested1->state = 0;
  3512.    while (1) {
  3513.     if (frame->nested1->state == 0) {
  3514.      frame->noname7611 = frame->arg0;
  3515.      frame->nested1->arg0 = frame->noname7611;
  3516.     }
  3517.     local0 = PROG_TR_TBL_aelt(frame->nested1);
  3518.     if (frame->nested1->state == -1) goto after_loop;
  3519.     frame->r_7612 = local0;
  3520.     if ((!(PROG_TR_TBL_elt__2031(frame->arg0, frame->r_7612, PROG_TR_TBL_elt_(frame->arg0))))) {
  3521.      frame->state = 1;
  3522.      return frame->r_7612;
  3523.      state1:;
  3524.     }
  3525.    }
  3526.   }
  3527.   after_loop: ;
  3528.   GC_free(frame->nested1); frame->nested1 = NULL;
  3529.  }
  3530.  if (!PROG_TR_TBL_inva(frame->arg0)) {
  3531.   fprintf(stderr,"Failed invariant PROG_TR_TBL::invariant:BOOL ../Library/fqset.sa:105:6\n");
  3532.   exit(16);
  3533.  }
  3534.  frame->state = -1;
  3535.  return dummy;
  3536. }
  3537.  
  3538.  
  3539. BOOL PROG_TR_TBL_inva(PROG_TR_TBL self) {
  3540.  BOOL noname7614 = ((BOOL) 0);
  3541.  BOOL local0;
  3542.  INT local1;
  3543.  INT local2;
  3544.  if ((self==((PROG_TR_TBL) NULL))) {
  3545.   local0 = TRUE;
  3546.  } else {
  3547.   local1 = self->hsize;
  3548.   local2 = 0;
  3549.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  3550.  }
  3551.  return local0;
  3552. }
  3553.  
  3554.  
  3555. TR_CLASS_DEF PROG_TR_TBL_aelt(PROG_TR_TBL_aelt_frame frame) {
  3556.  TR_CLASS_DEF dummy;
  3557.  INT local0;
  3558.  switch (frame->state) {
  3559.   case 0: goto state0;
  3560.   case 1: goto state1;
  3561.   }
  3562.  state0:;
  3563.  if (!((!((frame->arg0==((PROG_TR_TBL) NULL)))))) {
  3564.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  3565.   exit(16);
  3566.  }
  3567.  {
  3568.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3569.   frame->nested1->state = 0;
  3570.   while (1) {
  3571.    frame->state = 1;
  3572.    if (frame->nested1->state == 0) {
  3573.     frame->noname7616 = (frame->arg0->asize);
  3574.     frame->nested1->arg0 = frame->noname7616;
  3575.    }
  3576.    local0 = INT_times_INT(frame->nested1);
  3577.    if (frame->nested1->state == -1) goto after_loop;
  3578.    return PROG_TR_TBL_aget(frame->arg0, local0);
  3579.    state1:;
  3580.   }
  3581.  }
  3582.  after_loop: ;
  3583.  GC_free(frame->nested1); frame->nested1 = NULL;
  3584.  frame->state = -1;
  3585.  return dummy;
  3586. }
  3587.  
  3588.  
  3589. BOOL FMAPTPIMPL_invar(FMAPTPIMPL self) {
  3590.  BOOL noname7618 = ((BOOL) 0);
  3591.  BOOL local0;
  3592.  INT local1;
  3593.  INT local2;
  3594.  if ((self==((FMAPTPIMPL) NULL))) {
  3595.   local0 = TRUE;
  3596.  } else {
  3597.   local1 = self->hsize;
  3598.   local2 = 0;
  3599.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  3600.  }
  3601.  return local0;
  3602. }
  3603.  
  3604.  
  3605. TUPTPIMPL FMAPTPIMPL_pairs(FMAPTPIMPL_pairs_frame frame) {
  3606.  TUPTPIMPL dummy;
  3607.  TUPTPIMPL local0;
  3608.  TP local1;
  3609.  switch (frame->state) {
  3610.   case 0: goto state0;
  3611.   case 1: goto state1;
  3612.   }
  3613.  state0:;
  3614.  if ((!((frame->arg0==((FMAPTPIMPL) NULL))))) {
  3615.   {
  3616.    frame->nested1 = ALLOCATE(FMAPTPIMPL_aelt__frame);
  3617.    frame->nested1->state = 0;
  3618.    while (1) {
  3619.     if (frame->nested1->state == 0) {
  3620.      frame->noname7620 = frame->arg0;
  3621.      frame->nested1->arg0 = frame->noname7620;
  3622.     }
  3623.     local0 = FMAPTPIMPL_aelt_(frame->nested1);
  3624.     if (frame->nested1->state == -1) goto after_loop;
  3625.     frame->r_7621 = local0;
  3626.     local1 = frame->r_7621.t1;
  3627.     if ((!(FMAPTPIMPL_key_e(frame->arg0, local1, FMAPTPIMPL_key_n(frame->arg0))))) {
  3628.      frame->state = 1;
  3629.      return frame->r_7621;
  3630.      state1:;
  3631.     }
  3632.    }
  3633.   }
  3634.   after_loop: ;
  3635.   GC_free(frame->nested1); frame->nested1 = NULL;
  3636.  }
  3637.  if (!FMAPTPIMPL_invar(frame->arg0)) {
  3638.   fprintf(stderr,"Failed invariant FMAP{$TP,IMPL}::invariant:BOOL ../Library/fmap.sa:95:8\n");
  3639.   exit(16);
  3640.  }
  3641.  frame->state = -1;
  3642.  return dummy;
  3643. }
  3644.  
  3645.  
  3646. TUPTPIMPL FMAPTPIMPL_aelt_(FMAPTPIMPL_aelt__frame frame) {
  3647.  TUPTPIMPL dummy;
  3648.  INT local0;
  3649.  switch (frame->state) {
  3650.   case 0: goto state0;
  3651.   case 1: goto state1;
  3652.   }
  3653.  state0:;
  3654.  if (!((!((frame->arg0==((FMAPTPIMPL) NULL)))))) {
  3655.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  3656.   exit(16);
  3657.  }
  3658.  {
  3659.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3660.   frame->nested1->state = 0;
  3661.   while (1) {
  3662.    frame->state = 1;
  3663.    if (frame->nested1->state == 0) {
  3664.     frame->noname7624 = (frame->arg0->asize);
  3665.     frame->nested1->arg0 = frame->noname7624;
  3666.    }
  3667.    local0 = INT_times_INT(frame->nested1);
  3668.    if (frame->nested1->state == -1) goto after_loop;
  3669.    return FMAPTPIMPL_aget_(frame->arg0, local0);
  3670.    state1:;
  3671.   }
  3672.  }
  3673.  after_loop: ;
  3674.  GC_free(frame->nested1); frame->nested1 = NULL;
  3675.  frame->state = -1;
  3676.  return dummy;
  3677. }
  3678.  
  3679.  
  3680. void FMAPTPIMPL_aset_(FMAPTPIMPL_aset__frame frame) {
  3681.  INT local0;
  3682.  INT local1;
  3683.  switch (frame->state) {
  3684.   case 0: goto state0;
  3685.   case 1: goto state1;
  3686.   }
  3687.  state0:;
  3688.  if (!((!((frame->arg0==((FMAPTPIMPL) NULL)))))) {
  3689.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  3690.   exit(16);
  3691.  }
  3692.  {
  3693.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3694.   frame->nested1->state = 0;
  3695.   while (1) {
  3696.    if (frame->nested1->state == 0) {
  3697.     frame->noname7626 = (frame->arg0->asize);
  3698.     frame->nested1->arg0 = frame->noname7626;
  3699.    }
  3700.    local0 = INT_times_INT(frame->nested1);
  3701.    if (frame->nested1->state == -1) goto after_loop;
  3702.    local1 = local0;
  3703.    FMAPTPIMPL_aset__2869(frame->arg0, local1, frame->arg1);
  3704.    frame->state = 1;
  3705.    return;
  3706.    state1:;
  3707.   }
  3708.  }
  3709.  after_loop: ;
  3710.  GC_free(frame->nested1); frame->nested1 = NULL;
  3711.  frame->state = -1;
  3712.  return;
  3713. }
  3714.  
  3715.  
  3716. void SIG_TBL_aset_SIG(SIG_TBL_aset_SIG_frame frame) {
  3717.  INT local0;
  3718.  INT local1;
  3719.  switch (frame->state) {
  3720.   case 0: goto state0;
  3721.   case 1: goto state1;
  3722.   }
  3723.  state0:;
  3724.  if (!((!((frame->arg0==((SIG_TBL) NULL)))))) {
  3725.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  3726.   exit(16);
  3727.  }
  3728.  {
  3729.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3730.   frame->nested1->state = 0;
  3731.   while (1) {
  3732.    if (frame->nested1->state == 0) {
  3733.     frame->noname7628 = (frame->arg0->asize);
  3734.     frame->nested1->arg0 = frame->noname7628;
  3735.    }
  3736.    local0 = INT_times_INT(frame->nested1);
  3737.    if (frame->nested1->state == -1) goto after_loop;
  3738.    local1 = local0;
  3739.    SIG_TBL_aset_INT_SIG(frame->arg0, local1, frame->arg1);
  3740.    frame->state = 1;
  3741.    return;
  3742.    state1:;
  3743.   }
  3744.  }
  3745.  after_loop: ;
  3746.  GC_free(frame->nested1); frame->nested1 = NULL;
  3747.  frame->state = -1;
  3748.  return;
  3749. }
  3750.  
  3751.  
  3752. IMPL_INCLUDE FLISTIMPL_INCLUD_2741(FLISTIMPL_INCLUD_2741_frame frame) {
  3753.  IMPL_INCLUDE dummy;
  3754.  IMPL_INCLUDE local0;
  3755.  switch (frame->state) {
  3756.   case 0: goto state0;
  3757.   case 1: goto state1;
  3758.   }
  3759.  state0:;
  3760.  if ((!((frame->arg0==((FLISTIMPL_INCLUDE) NULL))))) {
  3761.   {
  3762.    frame->nested1 = ALLOCATE(FLISTIMPL_INCLUD_7635_frame);
  3763.    frame->nested1->state = 0;
  3764.    while (1) {
  3765.     frame->state = 1;
  3766.     if (frame->nested1->state == 0) {
  3767.      frame->noname7631 = frame->arg0;
  3768.      frame->noname7632 = 0;
  3769.      frame->noname7633 = frame->arg0->loc_17;
  3770.      frame->nested1->arg0 = frame->noname7631;
  3771.      frame->nested1->arg1 = frame->noname7632;
  3772.      frame->nested1->arg2 = frame->noname7633;
  3773.     }
  3774.     local0 = FLISTIMPL_INCLUD_7635(frame->nested1);
  3775.     if (frame->nested1->state == -1) goto after_loop;
  3776.     return local0;
  3777.     state1:;
  3778.    }
  3779.   }
  3780.   after_loop: ;
  3781.   GC_free(frame->nested1); frame->nested1 = NULL;
  3782.  }
  3783.  if (!FLISTIMPL_INCLUD_2719(frame->arg0)) {
  3784.   fprintf(stderr,"Failed invariant FLIST{IMPL_INCLUDE}::invariant:BOOL ../Library/flist.sa:127:6\n");
  3785.   exit(16);
  3786.  }
  3787.  frame->state = -1;
  3788.  return dummy;
  3789. }
  3790.  
  3791.  
  3792. BOOL FLISTIMPL_INCLUD_2719(FLISTIMPL_INCLUDE self) {
  3793.  BOOL noname7636 = ((BOOL) 0);
  3794.  BOOL local0;
  3795.  INT local1;
  3796.  INT local2;
  3797.  INT local3;
  3798.  if ((self==((FLISTIMPL_INCLUDE) NULL))) {
  3799.   return TRUE;
  3800.  }
  3801.  local1 = self->loc_17;
  3802.  local2 = 0;
  3803.  if (INT_is_bet_INT_I(local1, local2, (self->asize))) {
  3804.   local3 = (self->asize);
  3805.   local0 = (local3>0);
  3806.  } else {
  3807.   local0 = FALSE;
  3808.  }
  3809.  return local0;
  3810. }
  3811.  
  3812.  
  3813. IMPL_INCLUDE FLISTIMPL_INCLUD_7635(FLISTIMPL_INCLUD_7635_frame frame) {
  3814.  IMPL_INCLUDE dummy;
  3815.  BOOL local0;
  3816.  BOOL local1;
  3817.  INT local2;
  3818.  INT local3;
  3819.  INT local4;
  3820.  INT local5;
  3821.  INT local6;
  3822.  INT local7;
  3823.  switch (frame->state) {
  3824.   case 0: goto state0;
  3825.   case 1: goto state1;
  3826.   }
  3827.  state0:;
  3828.  if ((!((frame->arg0==((FLISTIMPL_INCLUDE) NULL))))) {
  3829.   local2 = 0;
  3830.   local3 = (frame->arg0->asize);
  3831.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  3832.  } else {
  3833.   local1 = FALSE;
  3834.  }
  3835.  if (local1) {
  3836.   local4 = 0;
  3837.   local5 = (frame->arg0->asize);
  3838.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  3839.  } else {
  3840.   local0 = FALSE;
  3841.  }
  3842.  if (!(local0)) {
  3843.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  3844.   exit(16);
  3845.  }
  3846.  {
  3847.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  3848.   frame->nested1->state = 0;
  3849.   while (1) {
  3850.    frame->state = 1;
  3851.    if (frame->nested1->state == 0) {
  3852.     frame->noname7638 = frame->arg1;
  3853.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  3854.     frame->noname7639 = (c_INT_minus_INT_INT_chk(local7,1));
  3855.     frame->nested1->arg0 = frame->noname7638;
  3856.     frame->nested1->arg1 = frame->noname7639;
  3857.    }
  3858.    local6 = INT_upto_INT_INT(frame->nested1);
  3859.    if (frame->nested1->state == -1) goto after_loop;
  3860.    return FLISTIMPL_INCLUD_2760(frame->arg0, local6);
  3861.    state1:;
  3862.   }
  3863.  }
  3864.  after_loop: ;
  3865.  GC_free(frame->nested1); frame->nested1 = NULL;
  3866.  frame->state = -1;
  3867.  return dummy;
  3868. }
  3869.  
  3870.  
  3871. void FLISTIMPL_INCLUD_2725(FLISTIMPL_INCLUD_2725_frame frame) {
  3872.  INT local0;
  3873.  INT local1;
  3874.  switch (frame->state) {
  3875.   case 0: goto state0;
  3876.   case 1: goto state1;
  3877.   }
  3878.  state0:;
  3879.  if (!((!((frame->arg0==((FLISTIMPL_INCLUDE) NULL)))))) {
  3880.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  3881.   exit(16);
  3882.  }
  3883.  {
  3884.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3885.   frame->nested1->state = 0;
  3886.   while (1) {
  3887.    if (frame->nested1->state == 0) {
  3888.     frame->noname7641 = (frame->arg0->asize);
  3889.     frame->nested1->arg0 = frame->noname7641;
  3890.    }
  3891.    local0 = INT_times_INT(frame->nested1);
  3892.    if (frame->nested1->state == -1) goto after_loop;
  3893.    local1 = local0;
  3894.    FLISTIMPL_INCLUD_2731(frame->arg0, local1, frame->arg1);
  3895.    frame->state = 1;
  3896.    return;
  3897.    state1:;
  3898.   }
  3899.  }
  3900.  after_loop: ;
  3901.  GC_free(frame->nested1); frame->nested1 = NULL;
  3902.  frame->state = -1;
  3903.  return;
  3904. }
  3905.  
  3906.  
  3907. BOOL FSETTR_FEAT_MOD__2627(FSETTR_FEAT_MOD self) {
  3908.  BOOL noname7643 = ((BOOL) 0);
  3909.  BOOL local0;
  3910.  INT local1;
  3911.  INT local2;
  3912.  if ((self==((FSETTR_FEAT_MOD) NULL))) {
  3913.   local0 = TRUE;
  3914.  } else {
  3915.   local1 = self->hsize;
  3916.   local2 = 0;
  3917.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  3918.  }
  3919.  return local0;
  3920. }
  3921.  
  3922.  
  3923. TR_FEAT_MOD FSETTR_FEAT_MOD__2643(FSETTR_FEAT_MOD__2643_frame frame) {
  3924.  TR_FEAT_MOD dummy;
  3925.  TR_FEAT_MOD local0;
  3926.  switch (frame->state) {
  3927.   case 0: goto state0;
  3928.   case 1: goto state1;
  3929.   }
  3930.  state0:;
  3931.  if ((!((frame->arg0==((FSETTR_FEAT_MOD) NULL))))) {
  3932.   {
  3933.    frame->nested1 = ALLOCATE(FSETTR_FEAT_MOD__7648_frame);
  3934.    frame->nested1->state = 0;
  3935.    while (1) {
  3936.     if (frame->nested1->state == 0) {
  3937.      frame->noname7645 = frame->arg0;
  3938.      frame->nested1->arg0 = frame->noname7645;
  3939.     }
  3940.     local0 = FSETTR_FEAT_MOD__7648(frame->nested1);
  3941.     if (frame->nested1->state == -1) goto after_loop;
  3942.     frame->r_7646 = local0;
  3943.     if ((!(FSETTR_FEAT_MOD__2652(frame->arg0, frame->r_7646, FSETTR_FEAT_MOD_(frame->arg0))))) {
  3944.      frame->state = 1;
  3945.      return frame->r_7646;
  3946.      state1:;
  3947.     }
  3948.    }
  3949.   }
  3950.   after_loop: ;
  3951.   GC_free(frame->nested1); frame->nested1 = NULL;
  3952.  }
  3953.  if (!FSETTR_FEAT_MOD__2627(frame->arg0)) {
  3954.   fprintf(stderr,"Failed invariant FSET{TR_FEAT_MOD}::invariant:BOOL ../Library/fset.sa:98:6\n");
  3955.   exit(16);
  3956.  }
  3957.  frame->state = -1;
  3958.  return dummy;
  3959. }
  3960.  
  3961.  
  3962. TR_FEAT_MOD FSETTR_FEAT_MOD__7648(FSETTR_FEAT_MOD__7648_frame frame) {
  3963.  TR_FEAT_MOD dummy;
  3964.  INT local0;
  3965.  switch (frame->state) {
  3966.   case 0: goto state0;
  3967.   case 1: goto state1;
  3968.   }
  3969.  state0:;
  3970.  if (!((!((frame->arg0==((FSETTR_FEAT_MOD) NULL)))))) {
  3971.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  3972.   exit(16);
  3973.  }
  3974.  {
  3975.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  3976.   frame->nested1->state = 0;
  3977.   while (1) {
  3978.    frame->state = 1;
  3979.    if (frame->nested1->state == 0) {
  3980.     frame->noname7650 = (frame->arg0->asize);
  3981.     frame->nested1->arg0 = frame->noname7650;
  3982.    }
  3983.    local0 = INT_times_INT(frame->nested1);
  3984.    if (frame->nested1->state == -1) goto after_loop;
  3985.    return FSETTR_FEAT_MOD__2649(frame->arg0, local0);
  3986.    state1:;
  3987.   }
  3988.  }
  3989.  after_loop: ;
  3990.  GC_free(frame->nested1); frame->nested1 = NULL;
  3991.  if (!FSETTR_FEAT_MOD__2627(frame->arg0)) {
  3992.   fprintf(stderr,"Failed invariant FSET{TR_FEAT_MOD}::invariant:BOOL ../Library/aref.sa:48:7\n");
  3993.   exit(16);
  3994.  }
  3995.  frame->state = -1;
  3996.  return dummy;
  3997. }
  3998.  
  3999.  
  4000. void FSETTR_FEAT_MOD__2634(FSETTR_FEAT_MOD__2634_frame frame) {
  4001.  INT local0;
  4002.  INT local1;
  4003.  switch (frame->state) {
  4004.   case 0: goto state0;
  4005.   case 1: goto state1;
  4006.   }
  4007.  state0:;
  4008.  if (!((!((frame->arg0==((FSETTR_FEAT_MOD) NULL)))))) {
  4009.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  4010.   exit(16);
  4011.  }
  4012.  {
  4013.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4014.   frame->nested1->state = 0;
  4015.   while (1) {
  4016.    if (frame->nested1->state == 0) {
  4017.     frame->noname7652 = (frame->arg0->asize);
  4018.     frame->nested1->arg0 = frame->noname7652;
  4019.    }
  4020.    local0 = INT_times_INT(frame->nested1);
  4021.    if (frame->nested1->state == -1) goto after_loop;
  4022.    local1 = local0;
  4023.    FSETTR_FEAT_MOD__2656(frame->arg0, local1, frame->arg1);
  4024.    frame->state = 1;
  4025.    return;
  4026.    state1:;
  4027.   }
  4028.  }
  4029.  after_loop: ;
  4030.  GC_free(frame->nested1); frame->nested1 = NULL;
  4031.  if (!FSETTR_FEAT_MOD__2627(frame->arg0)) {
  4032.   fprintf(stderr,"Failed invariant FSET{TR_FEAT_MOD}::invariant:BOOL ../Library/aref.sa:77:7\n");
  4033.   exit(16);
  4034.  }
  4035.  frame->state = -1;
  4036.  return;
  4037. }
  4038.  
  4039.  
  4040. IDENT ARRAYIDENT_elt_IDENT(ARRAYIDENT_elt_IDENT_frame frame) {
  4041.  IDENT dummy;
  4042.  IDENT local0;
  4043.  switch (frame->state) {
  4044.   case 0: goto state0;
  4045.   case 1: goto state1;
  4046.   }
  4047.  state0:;
  4048.  if ((!((frame->arg0==((ARRAYIDENT) NULL))))) {
  4049.   {
  4050.    frame->nested1 = ALLOCATE(ARRAYIDENT_aelt__frame);
  4051.    frame->nested1->state = 0;
  4052.    while (1) {
  4053.     frame->state = 1;
  4054.     if (frame->nested1->state == 0) {
  4055.      frame->noname7655 = frame->arg0;
  4056.      frame->nested1->arg0 = frame->noname7655;
  4057.     }
  4058.     local0 = ARRAYIDENT_aelt_(frame->nested1);
  4059.     if (frame->nested1->state == -1) goto after_loop;
  4060.     return local0;
  4061.     state1:;
  4062.    }
  4063.   }
  4064.   after_loop: ;
  4065.   GC_free(frame->nested1); frame->nested1 = NULL;
  4066.  }
  4067.  frame->state = -1;
  4068.  return dummy;
  4069. }
  4070.  
  4071.  
  4072. IDENT ARRAYIDENT_aelt_(ARRAYIDENT_aelt__frame frame) {
  4073.  IDENT dummy;
  4074.  INT local0;
  4075.  switch (frame->state) {
  4076.   case 0: goto state0;
  4077.   case 1: goto state1;
  4078.   }
  4079.  state0:;
  4080.  if (!((!((frame->arg0==((ARRAYIDENT) NULL)))))) {
  4081.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  4082.   exit(16);
  4083.  }
  4084.  {
  4085.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4086.   frame->nested1->state = 0;
  4087.   while (1) {
  4088.    frame->state = 1;
  4089.    if (frame->nested1->state == 0) {
  4090.     frame->noname7658 = (frame->arg0->asize);
  4091.     frame->nested1->arg0 = frame->noname7658;
  4092.    }
  4093.    local0 = INT_times_INT(frame->nested1);
  4094.    if (frame->nested1->state == -1) goto after_loop;
  4095.    return ARRAYIDENT_aget_(frame->arg0, local0);
  4096.    state1:;
  4097.   }
  4098.  }
  4099.  after_loop: ;
  4100.  GC_free(frame->nested1); frame->nested1 = NULL;
  4101.  frame->state = -1;
  4102.  return dummy;
  4103. }
  4104.  
  4105.  
  4106. BOOL TP_ROUT_is_bound(TP_ROUT self) {
  4107.  BOOL noname7660 = ((BOOL) 0);
  4108.  return TRUE;
  4109. }
  4110.  
  4111.  
  4112. BOOL TP_ITER_is_bound(TP_ITER self) {
  4113.  BOOL noname7661 = ((BOOL) 0);
  4114.  return TRUE;
  4115. }
  4116.  
  4117.  
  4118. BOOL TP_ROUT_is_abstr(TP_ROUT self) {
  4119.  BOOL noname7662 = ((BOOL) 0);
  4120.  return FALSE;
  4121. }
  4122.  
  4123.  
  4124. BOOL TP_ITER_is_abstr(TP_ITER self) {
  4125.  BOOL noname7663 = ((BOOL) 0);
  4126.  return FALSE;
  4127. }
  4128.  
  4129.  
  4130. void ELT_TBL_aset_ELT(ELT_TBL_aset_ELT_frame frame) {
  4131.  INT local0;
  4132.  INT local1;
  4133.  switch (frame->state) {
  4134.   case 0: goto state0;
  4135.   case 1: goto state1;
  4136.   }
  4137.  state0:;
  4138.  if (!((!((frame->arg0==((ELT_TBL) NULL)))))) {
  4139.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  4140.   exit(16);
  4141.  }
  4142.  {
  4143.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4144.   frame->nested1->state = 0;
  4145.   while (1) {
  4146.    if (frame->nested1->state == 0) {
  4147.     frame->noname7664 = (frame->arg0->asize);
  4148.     frame->nested1->arg0 = frame->noname7664;
  4149.    }
  4150.    local0 = INT_times_INT(frame->nested1);
  4151.    if (frame->nested1->state == -1) goto after_loop;
  4152.    local1 = local0;
  4153.    ELT_TBL_aset_INT_ELT(frame->arg0, local1, frame->arg1);
  4154.    frame->state = 1;
  4155.    return;
  4156.    state1:;
  4157.   }
  4158.  }
  4159.  after_loop: ;
  4160.  GC_free(frame->nested1); frame->nested1 = NULL;
  4161.  frame->state = -1;
  4162.  return;
  4163. }
  4164.  
  4165.  
  4166. BOOL TP_ROUT_is_eq_TP(TP_ROUT self, TP t_7666) {
  4167.  BOOL noname7667 = ((BOOL) 0);
  4168.  return c_SYS_ob_eq_OB_OB_BOOL(((OB) self),((OB) t_7666));
  4169. }
  4170.  
  4171.  
  4172. BOOL TP_ITER_is_eq_TP(TP_ITER self, TP t_7668) {
  4173.  BOOL noname7669 = ((BOOL) 0);
  4174.  return c_SYS_ob_eq_OB_OB_BOOL(((OB) self),((OB) t_7668));
  4175. }
  4176.  
  4177.  
  4178. void FSETTUPIDENTINT__2379(FSETTUPIDENTINT__2379_frame frame) {
  4179.  INT local0;
  4180.  INT local1;
  4181.  switch (frame->state) {
  4182.   case 0: goto state0;
  4183.   case 1: goto state1;
  4184.   }
  4185.  state0:;
  4186.  if (!((!((frame->arg0==((FSETTUPIDENTINT) NULL)))))) {
  4187.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  4188.   exit(16);
  4189.  }
  4190.  {
  4191.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4192.   frame->nested1->state = 0;
  4193.   while (1) {
  4194.    if (frame->nested1->state == 0) {
  4195.     frame->noname7670 = (frame->arg0->asize);
  4196.     frame->nested1->arg0 = frame->noname7670;
  4197.    }
  4198.    local0 = INT_times_INT(frame->nested1);
  4199.    if (frame->nested1->state == -1) goto after_loop;
  4200.    local1 = local0;
  4201.    FSETTUPIDENTINT__2395(frame->arg0, local1, frame->arg1);
  4202.    frame->state = 1;
  4203.    return;
  4204.    state1:;
  4205.   }
  4206.  }
  4207.  after_loop: ;
  4208.  GC_free(frame->nested1); frame->nested1 = NULL;
  4209.  if (!FSETTUPIDENTINT__2333(frame->arg0)) {
  4210.   fprintf(stderr,"Failed invariant FSET{TUP{IDENT,INT}}::invariant:BOOL ../Library/aref.sa:77:7\n");
  4211.   exit(16);
  4212.  }
  4213.  frame->state = -1;
  4214.  return;
  4215. }
  4216.  
  4217.  
  4218. BOOL FSETIDENT_invari(FSETIDENT self) {
  4219.  BOOL noname7672 = ((BOOL) 0);
  4220.  BOOL local0;
  4221.  INT local1;
  4222.  INT local2;
  4223.  if ((self==((FSETIDENT) NULL))) {
  4224.   local0 = TRUE;
  4225.  } else {
  4226.   local1 = self->hsize;
  4227.   local2 = 0;
  4228.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  4229.  }
  4230.  return local0;
  4231. }
  4232.  
  4233.  
  4234. IDENT FSETIDENT_elt_IDENT(FSETIDENT_elt_IDENT_frame frame) {
  4235.  IDENT dummy;
  4236.  IDENT local0;
  4237.  switch (frame->state) {
  4238.   case 0: goto state0;
  4239.   case 1: goto state1;
  4240.   }
  4241.  state0:;
  4242.  if ((!((frame->arg0==((FSETIDENT) NULL))))) {
  4243.   {
  4244.    frame->nested1 = ALLOCATE(FSETIDENT_aelt_IDENT_frame);
  4245.    frame->nested1->state = 0;
  4246.    while (1) {
  4247.     if (frame->nested1->state == 0) {
  4248.      frame->noname7674 = frame->arg0;
  4249.      frame->nested1->arg0 = frame->noname7674;
  4250.     }
  4251.     local0 = FSETIDENT_aelt_IDENT(frame->nested1);
  4252.     if (frame->nested1->state == -1) goto after_loop;
  4253.     frame->r_7675 = local0;
  4254.     if ((!(FSETIDENT_elt_eq(frame->arg0, frame->r_7675, FSETIDENT_elt_ni(frame->arg0))))) {
  4255.      frame->state = 1;
  4256.      return frame->r_7675;
  4257.      state1:;
  4258.     }
  4259.    }
  4260.   }
  4261.   after_loop: ;
  4262.   GC_free(frame->nested1); frame->nested1 = NULL;
  4263.  }
  4264.  if (!FSETIDENT_invari(frame->arg0)) {
  4265.   fprintf(stderr,"Failed invariant FSET{IDENT}::invariant:BOOL ../Library/fset.sa:98:6\n");
  4266.   exit(16);
  4267.  }
  4268.  frame->state = -1;
  4269.  return dummy;
  4270. }
  4271.  
  4272.  
  4273. IDENT FSETIDENT_aelt_IDENT(FSETIDENT_aelt_IDENT_frame frame) {
  4274.  IDENT dummy;
  4275.  INT local0;
  4276.  switch (frame->state) {
  4277.   case 0: goto state0;
  4278.   case 1: goto state1;
  4279.   }
  4280.  state0:;
  4281.  if (!((!((frame->arg0==((FSETIDENT) NULL)))))) {
  4282.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  4283.   exit(16);
  4284.  }
  4285.  {
  4286.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4287.   frame->nested1->state = 0;
  4288.   while (1) {
  4289.    frame->state = 1;
  4290.    if (frame->nested1->state == 0) {
  4291.     frame->noname7678 = (frame->arg0->asize);
  4292.     frame->nested1->arg0 = frame->noname7678;
  4293.    }
  4294.    local0 = INT_times_INT(frame->nested1);
  4295.    if (frame->nested1->state == -1) goto after_loop;
  4296.    return FSETIDENT_aget_I(frame->arg0, local0);
  4297.    state1:;
  4298.   }
  4299.  }
  4300.  after_loop: ;
  4301.  GC_free(frame->nested1); frame->nested1 = NULL;
  4302.  if (!FSETIDENT_invari(frame->arg0)) {
  4303.   fprintf(stderr,"Failed invariant FSET{IDENT}::invariant:BOOL ../Library/aref.sa:48:7\n");
  4304.   exit(16);
  4305.  }
  4306.  frame->state = -1;
  4307.  return dummy;
  4308. }
  4309.  
  4310.  
  4311. void FSETIDENT_aset_IDENT(FSETIDENT_aset_IDENT_frame frame) {
  4312.  INT local0;
  4313.  INT local1;
  4314.  switch (frame->state) {
  4315.   case 0: goto state0;
  4316.   case 1: goto state1;
  4317.   }
  4318.  state0:;
  4319.  if (!((!((frame->arg0==((FSETIDENT) NULL)))))) {
  4320.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  4321.   exit(16);
  4322.  }
  4323.  {
  4324.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4325.   frame->nested1->state = 0;
  4326.   while (1) {
  4327.    if (frame->nested1->state == 0) {
  4328.     frame->noname7680 = (frame->arg0->asize);
  4329.     frame->nested1->arg0 = frame->noname7680;
  4330.    }
  4331.    local0 = INT_times_INT(frame->nested1);
  4332.    if (frame->nested1->state == -1) goto after_loop;
  4333.    local1 = local0;
  4334.    FSETIDENT_aset_I(frame->arg0, local1, frame->arg1);
  4335.    frame->state = 1;
  4336.    return;
  4337.    state1:;
  4338.   }
  4339.  }
  4340.  after_loop: ;
  4341.  GC_free(frame->nested1); frame->nested1 = NULL;
  4342.  if (!FSETIDENT_invari(frame->arg0)) {
  4343.   fprintf(stderr,"Failed invariant FSET{IDENT}::invariant:BOOL ../Library/aref.sa:77:7\n");
  4344.   exit(16);
  4345.  }
  4346.  frame->state = -1;
  4347.  return;
  4348. }
  4349.  
  4350.  
  4351. BOOL TP_ITER_TBL_inva(TP_ITER_TBL self) {
  4352.  BOOL noname7682 = ((BOOL) 0);
  4353.  BOOL local0;
  4354.  INT local1;
  4355.  INT local2;
  4356.  if ((self==((TP_ITER_TBL) NULL))) {
  4357.   local0 = TRUE;
  4358.  } else {
  4359.   local1 = self->hsize;
  4360.   local2 = 0;
  4361.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  4362.  }
  4363.  return local0;
  4364. }
  4365.  
  4366.  
  4367. TP_ITER TP_ITER_TBL_elt__2198(TP_ITER_TBL_elt__2198_frame frame) {
  4368.  TP_ITER dummy;
  4369.  TP_ITER local0;
  4370.  switch (frame->state) {
  4371.   case 0: goto state0;
  4372.   case 1: goto state1;
  4373.   }
  4374.  state0:;
  4375.  if ((!((frame->arg0==((TP_ITER_TBL) NULL))))) {
  4376.   {
  4377.    frame->nested1 = ALLOCATE(TP_ITER_TBL_aelt_frame);
  4378.    frame->nested1->state = 0;
  4379.    while (1) {
  4380.     if (frame->nested1->state == 0) {
  4381.      frame->noname7684 = frame->arg0;
  4382.      frame->nested1->arg0 = frame->noname7684;
  4383.     }
  4384.     local0 = TP_ITER_TBL_aelt(frame->nested1);
  4385.     if (frame->nested1->state == -1) goto after_loop;
  4386.     frame->r_7685 = local0;
  4387.     if ((!(TP_ITER_TBL_elt__2172(frame->arg0, frame->r_7685, TP_ITER_TBL_elt_(frame->arg0))))) {
  4388.      frame->state = 1;
  4389.      return frame->r_7685;
  4390.      state1:;
  4391.     }
  4392.    }
  4393.   }
  4394.   after_loop: ;
  4395.   GC_free(frame->nested1); frame->nested1 = NULL;
  4396.  }
  4397.  if (!TP_ITER_TBL_inva(frame->arg0)) {
  4398.   fprintf(stderr,"Failed invariant TP_ITER_TBL::invariant:BOOL ../Library/fqset.sa:105:6\n");
  4399.   exit(16);
  4400.  }
  4401.  frame->state = -1;
  4402.  return dummy;
  4403. }
  4404.  
  4405.  
  4406. TP_ITER TP_ITER_TBL_aelt(TP_ITER_TBL_aelt_frame frame) {
  4407.  TP_ITER dummy;
  4408.  INT local0;
  4409.  switch (frame->state) {
  4410.   case 0: goto state0;
  4411.   case 1: goto state1;
  4412.   }
  4413.  state0:;
  4414.  if (!((!((frame->arg0==((TP_ITER_TBL) NULL)))))) {
  4415.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  4416.   exit(16);
  4417.  }
  4418.  {
  4419.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4420.   frame->nested1->state = 0;
  4421.   while (1) {
  4422.    frame->state = 1;
  4423.    if (frame->nested1->state == 0) {
  4424.     frame->noname7688 = (frame->arg0->asize);
  4425.     frame->nested1->arg0 = frame->noname7688;
  4426.    }
  4427.    local0 = INT_times_INT(frame->nested1);
  4428.    if (frame->nested1->state == -1) goto after_loop;
  4429.    return TP_ITER_TBL_aget(frame->arg0, local0);
  4430.    state1:;
  4431.   }
  4432.  }
  4433.  after_loop: ;
  4434.  GC_free(frame->nested1); frame->nested1 = NULL;
  4435.  frame->state = -1;
  4436.  return dummy;
  4437. }
  4438.  
  4439.  
  4440. void TP_ITER_TBL_aset(TP_ITER_TBL_aset_frame frame) {
  4441.  INT local0;
  4442.  INT local1;
  4443.  switch (frame->state) {
  4444.   case 0: goto state0;
  4445.   case 1: goto state1;
  4446.   }
  4447.  state0:;
  4448.  if (!((!((frame->arg0==((TP_ITER_TBL) NULL)))))) {
  4449.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  4450.   exit(16);
  4451.  }
  4452.  {
  4453.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4454.   frame->nested1->state = 0;
  4455.   while (1) {
  4456.    if (frame->nested1->state == 0) {
  4457.     frame->noname7690 = (frame->arg0->asize);
  4458.     frame->nested1->arg0 = frame->noname7690;
  4459.    }
  4460.    local0 = INT_times_INT(frame->nested1);
  4461.    if (frame->nested1->state == -1) goto after_loop;
  4462.    local1 = local0;
  4463.    TP_ITER_TBL_aset_2212(frame->arg0, local1, frame->arg1);
  4464.    frame->state = 1;
  4465.    return;
  4466.    state1:;
  4467.   }
  4468.  }
  4469.  after_loop: ;
  4470.  GC_free(frame->nested1); frame->nested1 = NULL;
  4471.  frame->state = -1;
  4472.  return;
  4473. }
  4474.  
  4475.  
  4476. INT ARRAYIDENT_ind_INT(ARRAYIDENT_ind_INT_frame frame) {
  4477.  INT dummy;
  4478.  INT local0;
  4479.  switch (frame->state) {
  4480.   case 0: goto state0;
  4481.   case 1: goto state1;
  4482.   }
  4483.  state0:;
  4484.  if ((!((frame->arg0==((ARRAYIDENT) NULL))))) {
  4485.   {
  4486.    frame->nested1 = ALLOCATE(ARRAYIDENT_aind_INT_frame);
  4487.    frame->nested1->state = 0;
  4488.    while (1) {
  4489.     frame->state = 1;
  4490.     if (frame->nested1->state == 0) {
  4491.      frame->noname7693 = frame->arg0;
  4492.      frame->nested1->arg0 = frame->noname7693;
  4493.     }
  4494.     local0 = ARRAYIDENT_aind_INT(frame->nested1);
  4495.     if (frame->nested1->state == -1) goto after_loop;
  4496.     return local0;
  4497.     state1:;
  4498.    }
  4499.   }
  4500.   after_loop: ;
  4501.   GC_free(frame->nested1); frame->nested1 = NULL;
  4502.  }
  4503.  frame->state = -1;
  4504.  return dummy;
  4505. }
  4506.  
  4507.  
  4508. INT ARRAYIDENT_aind_INT(ARRAYIDENT_aind_INT_frame frame) {
  4509.  INT dummy;
  4510.  INT local0;
  4511.  switch (frame->state) {
  4512.   case 0: goto state0;
  4513.   case 1: goto state1;
  4514.   }
  4515.  state0:;
  4516.  if (!((!((frame->arg0==((ARRAYIDENT) NULL)))))) {
  4517.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:129:7\n");
  4518.   exit(16);
  4519.  }
  4520.  {
  4521.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4522.   frame->nested1->state = 0;
  4523.   while (1) {
  4524.    frame->state = 1;
  4525.    if (frame->nested1->state == 0) {
  4526.     frame->noname7696 = (frame->arg0->asize);
  4527.     frame->nested1->arg0 = frame->noname7696;
  4528.    }
  4529.    local0 = INT_times_INT(frame->nested1);
  4530.    if (frame->nested1->state == -1) goto after_loop;
  4531.    return local0;
  4532.    state1:;
  4533.   }
  4534.  }
  4535.  after_loop: ;
  4536.  GC_free(frame->nested1); frame->nested1 = NULL;
  4537.  frame->state = -1;
  4538.  return dummy;
  4539. }
  4540.  
  4541.  
  4542. void ARRAYIDENT_set_IDENT(ARRAYIDENT_set_IDENT_frame frame) {
  4543.  switch (frame->state) {
  4544.   case 0: goto state0;
  4545.   case 1: goto state1;
  4546.   }
  4547.  state0:;
  4548.  if ((!((frame->arg0==((ARRAYIDENT) NULL))))) {
  4549.   {
  4550.    frame->nested1 = ALLOCATE(ARRAYIDENT_aset__frame);
  4551.    frame->nested1->state = 0;
  4552.    while (1) {
  4553.     if (frame->nested1->state == 0) {
  4554.      frame->noname7698 = frame->arg0;
  4555.      frame->nested1->arg0 = frame->noname7698;
  4556.     }
  4557.     frame->nested1->arg1 = frame->arg1;
  4558.     ARRAYIDENT_aset_(frame->nested1);
  4559.     if (frame->nested1->state == -1) goto after_loop;
  4560.     0 /* No return value from iter call */;
  4561.     frame->state = 1;
  4562.     return;
  4563.     state1:;
  4564.    }
  4565.   }
  4566.   after_loop: ;
  4567.   GC_free(frame->nested1); frame->nested1 = NULL;
  4568.  }
  4569.  frame->state = -1;
  4570.  return;
  4571. }
  4572.  
  4573.  
  4574. void ARRAYIDENT_aset__7700(ARRAYIDENT self, INT ind_7701, IDENT val_7702) {
  4575.  BOOL local0;
  4576.  INT local1;
  4577.  INT local2;
  4578.  if ((!((self==((ARRAYIDENT) NULL))))) {
  4579.   local1 = 0;
  4580.   local2 = (self->asize);
  4581.   local0 = INT_is_bet_INT_I(ind_7701, local1, (c_INT_minus_INT_INT_chk(local2,1)));
  4582.  } else {
  4583.   local0 = FALSE;
  4584.  }
  4585.  if (!(local0)) {
  4586.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:38:7\n");
  4587.   exit(16);
  4588.  }
  4589.  if (ind_7701<0||ind_7701>=self->asize) {
  4590.   fprintf(stderr,"Index out of bounds ../Library/aref.sa:38:7\n");
  4591.   exit(16);
  4592.  }
  4593.  self->arr_part[ind_7701] = val_7702;
  4594. }
  4595.  
  4596.  
  4597. void ARRAYIDENT_aset_(ARRAYIDENT_aset__frame frame) {
  4598.  INT local0;
  4599.  INT local1;
  4600.  switch (frame->state) {
  4601.   case 0: goto state0;
  4602.   case 1: goto state1;
  4603.   }
  4604.  state0:;
  4605.  if (!((!((frame->arg0==((ARRAYIDENT) NULL)))))) {
  4606.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  4607.   exit(16);
  4608.  }
  4609.  {
  4610.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4611.   frame->nested1->state = 0;
  4612.   while (1) {
  4613.    if (frame->nested1->state == 0) {
  4614.     frame->noname7703 = (frame->arg0->asize);
  4615.     frame->nested1->arg0 = frame->noname7703;
  4616.    }
  4617.    local0 = INT_times_INT(frame->nested1);
  4618.    if (frame->nested1->state == -1) goto after_loop;
  4619.    local1 = local0;
  4620.    ARRAYIDENT_aset__7700(frame->arg0, local1, frame->arg1);
  4621.    frame->state = 1;
  4622.    return;
  4623.    state1:;
  4624.   }
  4625.  }
  4626.  after_loop: ;
  4627.  GC_free(frame->nested1); frame->nested1 = NULL;
  4628.  frame->state = -1;
  4629.  return;
  4630. }
  4631.  
  4632.  
  4633. void PROG_TR_TBL_aset(PROG_TR_TBL_aset_frame frame) {
  4634.  INT local0;
  4635.  INT local1;
  4636.  switch (frame->state) {
  4637.   case 0: goto state0;
  4638.   case 1: goto state1;
  4639.   }
  4640.  state0:;
  4641.  if (!((!((frame->arg0==((PROG_TR_TBL) NULL)))))) {
  4642.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  4643.   exit(16);
  4644.  }
  4645.  {
  4646.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  4647.   frame->nested1->state = 0;
  4648.   while (1) {
  4649.    if (frame->nested1->state == 0) {
  4650.     frame->noname7705 = (frame->arg0->asize);
  4651.     frame->nested1->arg0 = frame->noname7705;
  4652.    }
  4653.    local0 = INT_times_INT(frame->nested1);
  4654.    if (frame->nested1->state == -1) goto after_loop;
  4655.    local1 = local0;
  4656.    PROG_TR_TBL_aset_2059(frame->arg0, local1, frame->arg1);
  4657.    frame->state = 1;
  4658.    return;
  4659.    state1:;
  4660.   }
  4661.  }
  4662.  after_loop: ;
  4663.  GC_free(frame->nested1); frame->nested1 = NULL;
  4664.  frame->state = -1;
  4665.  return;
  4666. }
  4667.  
  4668.  
  4669. BOOL FMAPSTRSTR_invar(FMAPSTRSTR self) {
  4670.  BOOL noname7707 = ((BOOL) 0);
  4671.  BOOL local0;
  4672.  INT local1;
  4673.  INT local2;
  4674.  if ((self==((FMAPSTRSTR) NULL))) {
  4675.   local0 = TRUE;
  4676.  } else {
  4677.   local1 = self->hsize;
  4678.   local2 = 0;
  4679.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  4680.  }
  4681.  return local0;
  4682. }
  4683.  
  4684.  
  4685. void TR_TYPECASE_STMT_7708(TR_TYPECASE_STMT self, TR_STMT l) {
  4686.  TR_STMT last_7709;
  4687.  TR_STMT local0;
  4688.  TR_STMT local1;
  4689.  TR_STMT local2;
  4690.  if (!((!((self==((TR_TYPECASE_STMT) NULL)))))) {
  4691.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4692.   exit(16);
  4693.  }
  4694.  if ((self->next_8==((TR_STMT) NULL))) {
  4695.   self->next_8 = l;
  4696.   return;
  4697.  }
  4698.  last_7709 = self->next_8;
  4699.  while (1) {
  4700.   local0 = last_7709;
  4701.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4702.    goto after_loop;
  4703.   }
  4704.   local1 = last_7709;
  4705.   last_7709 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4706.  }
  4707.  after_loop: ;
  4708.  local2 = last_7709;
  4709.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4710. }
  4711.  
  4712.  
  4713. void TR_PROTECT_STMT__7712(TR_PROTECT_STMT self, TR_STMT l) {
  4714.  TR_STMT last_7713;
  4715.  TR_STMT local0;
  4716.  TR_STMT local1;
  4717.  TR_STMT local2;
  4718.  if (!((!((self==((TR_PROTECT_STMT) NULL)))))) {
  4719.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4720.   exit(16);
  4721.  }
  4722.  if ((self->next_8==((TR_STMT) NULL))) {
  4723.   self->next_8 = l;
  4724.   return;
  4725.  }
  4726.  last_7713 = self->next_8;
  4727.  while (1) {
  4728.   local0 = last_7713;
  4729.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4730.    goto after_loop;
  4731.   }
  4732.   local1 = last_7713;
  4733.   last_7713 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4734.  }
  4735.  after_loop: ;
  4736.  local2 = last_7713;
  4737.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4738. }
  4739.  
  4740.  
  4741. void TR_COBEGIN_STMT__7715(TR_COBEGIN_STMT self, TR_STMT l) {
  4742.  TR_STMT last_7716;
  4743.  TR_STMT local0;
  4744.  TR_STMT local1;
  4745.  TR_STMT local2;
  4746.  if (!((!((self==((TR_COBEGIN_STMT) NULL)))))) {
  4747.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4748.   exit(16);
  4749.  }
  4750.  if ((self->next_8==((TR_STMT) NULL))) {
  4751.   self->next_8 = l;
  4752.   return;
  4753.  }
  4754.  last_7716 = self->next_8;
  4755.  while (1) {
  4756.   local0 = last_7716;
  4757.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4758.    goto after_loop;
  4759.   }
  4760.   local1 = last_7716;
  4761.   last_7716 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4762.  }
  4763.  after_loop: ;
  4764.  local2 = last_7716;
  4765.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4766. }
  4767.  
  4768.  
  4769. void TR_STMT_append_T_7718(TR_STMT_39 self, TR_STMT l) {
  4770.  TR_STMT last_7719;
  4771.  TR_STMT local0;
  4772.  TR_STMT local1;
  4773.  TR_STMT local2;
  4774.  if (!((!((self==((TR_STMT_39) NULL)))))) {
  4775.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4776.   exit(16);
  4777.  }
  4778.  if ((self->next_8==((TR_STMT) NULL))) {
  4779.   self->next_8 = l;
  4780.   return;
  4781.  }
  4782.  last_7719 = self->next_8;
  4783.  while (1) {
  4784.   local0 = last_7719;
  4785.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4786.    goto after_loop;
  4787.   }
  4788.   local1 = last_7719;
  4789.   last_7719 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4790.  }
  4791.  after_loop: ;
  4792.  local2 = last_7719;
  4793.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4794. }
  4795.  
  4796.  
  4797. void TR_TRY_STMT_appe(TR_TRY_STMT self, TR_STMT l) {
  4798.  TR_STMT last_7721;
  4799.  TR_STMT local0;
  4800.  TR_STMT local1;
  4801.  TR_STMT local2;
  4802.  if (!((!((self==((TR_TRY_STMT) NULL)))))) {
  4803.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4804.   exit(16);
  4805.  }
  4806.  if ((self->next_8==((TR_STMT) NULL))) {
  4807.   self->next_8 = l;
  4808.   return;
  4809.  }
  4810.  last_7721 = self->next_8;
  4811.  while (1) {
  4812.   local0 = last_7721;
  4813.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4814.    goto after_loop;
  4815.   }
  4816.   local1 = last_7721;
  4817.   last_7721 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4818.  }
  4819.  after_loop: ;
  4820.  local2 = last_7721;
  4821.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4822. }
  4823.  
  4824.  
  4825. void TR_DIST_STMT_app(TR_DIST_STMT self, TR_STMT l) {
  4826.  TR_STMT last_7723;
  4827.  TR_STMT local0;
  4828.  TR_STMT local1;
  4829.  TR_STMT local2;
  4830.  if (!((!((self==((TR_DIST_STMT) NULL)))))) {
  4831.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4832.   exit(16);
  4833.  }
  4834.  if ((self->next_8==((TR_STMT) NULL))) {
  4835.   self->next_8 = l;
  4836.   return;
  4837.  }
  4838.  last_7723 = self->next_8;
  4839.  while (1) {
  4840.   local0 = last_7723;
  4841.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4842.    goto after_loop;
  4843.   }
  4844.   local1 = last_7723;
  4845.   last_7723 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4846.  }
  4847.  after_loop: ;
  4848.  local2 = last_7723;
  4849.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4850. }
  4851.  
  4852.  
  4853. void TR_LOCK_STMT_app(TR_LOCK_STMT self, TR_STMT l) {
  4854.  TR_STMT last_7725;
  4855.  TR_STMT local0;
  4856.  TR_STMT local1;
  4857.  TR_STMT local2;
  4858.  if (!((!((self==((TR_LOCK_STMT) NULL)))))) {
  4859.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4860.   exit(16);
  4861.  }
  4862.  if ((self->next_8==((TR_STMT) NULL))) {
  4863.   self->next_8 = l;
  4864.   return;
  4865.  }
  4866.  last_7725 = self->next_8;
  4867.  while (1) {
  4868.   local0 = last_7725;
  4869.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4870.    goto after_loop;
  4871.   }
  4872.   local1 = last_7725;
  4873.   last_7725 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4874.  }
  4875.  after_loop: ;
  4876.  local2 = last_7725;
  4877.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4878. }
  4879.  
  4880.  
  4881. void TR_QUIT_STMT_app(TR_QUIT_STMT self, TR_STMT l) {
  4882.  TR_STMT last_7727;
  4883.  TR_STMT local0;
  4884.  TR_STMT local1;
  4885.  TR_STMT local2;
  4886.  if (!((!((self==((TR_QUIT_STMT) NULL)))))) {
  4887.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4888.   exit(16);
  4889.  }
  4890.  if ((self->next_8==((TR_STMT) NULL))) {
  4891.   self->next_8 = l;
  4892.   return;
  4893.  }
  4894.  last_7727 = self->next_8;
  4895.  while (1) {
  4896.   local0 = last_7727;
  4897.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4898.    goto after_loop;
  4899.   }
  4900.   local1 = last_7727;
  4901.   last_7727 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4902.  }
  4903.  after_loop: ;
  4904.  local2 = last_7727;
  4905.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4906. }
  4907.  
  4908.  
  4909. void TR_ASSIGN_STMT_a(TR_ASSIGN_STMT self, TR_STMT l) {
  4910.  TR_STMT last_7729;
  4911.  TR_STMT local0;
  4912.  TR_STMT local1;
  4913.  TR_STMT local2;
  4914.  if (!((!((self==((TR_ASSIGN_STMT) NULL)))))) {
  4915.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4916.   exit(16);
  4917.  }
  4918.  if ((self->next_8==((TR_STMT) NULL))) {
  4919.   self->next_8 = l;
  4920.   return;
  4921.  }
  4922.  last_7729 = self->next_8;
  4923.  while (1) {
  4924.   local0 = last_7729;
  4925.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4926.    goto after_loop;
  4927.   }
  4928.   local1 = last_7729;
  4929.   last_7729 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4930.  }
  4931.  after_loop: ;
  4932.  local2 = last_7729;
  4933.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4934. }
  4935.  
  4936.  
  4937. void TR_UNLOCK_STMT_a(TR_UNLOCK_STMT self, TR_STMT l) {
  4938.  TR_STMT last_7731;
  4939.  TR_STMT local0;
  4940.  TR_STMT local1;
  4941.  TR_STMT local2;
  4942.  if (!((!((self==((TR_UNLOCK_STMT) NULL)))))) {
  4943.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4944.   exit(16);
  4945.  }
  4946.  if ((self->next_8==((TR_STMT) NULL))) {
  4947.   self->next_8 = l;
  4948.   return;
  4949.  }
  4950.  last_7731 = self->next_8;
  4951.  while (1) {
  4952.   local0 = last_7731;
  4953.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4954.    goto after_loop;
  4955.   }
  4956.   local1 = last_7731;
  4957.   last_7731 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4958.  }
  4959.  after_loop: ;
  4960.  local2 = last_7731;
  4961.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4962. }
  4963.  
  4964.  
  4965. void TR_YIELD_STMT_ap(TR_YIELD_STMT self, TR_STMT l) {
  4966.  TR_STMT last_7733;
  4967.  TR_STMT local0;
  4968.  TR_STMT local1;
  4969.  TR_STMT local2;
  4970.  if (!((!((self==((TR_YIELD_STMT) NULL)))))) {
  4971.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  4972.   exit(16);
  4973.  }
  4974.  if ((self->next_8==((TR_STMT) NULL))) {
  4975.   self->next_8 = l;
  4976.   return;
  4977.  }
  4978.  last_7733 = self->next_8;
  4979.  while (1) {
  4980.   local0 = last_7733;
  4981.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  4982.    goto after_loop;
  4983.   }
  4984.   local1 = last_7733;
  4985.   last_7733 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  4986.  }
  4987.  after_loop: ;
  4988.  local2 = last_7733;
  4989.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  4990. }
  4991.  
  4992.  
  4993. void TR_RAISE_STMT_ap(TR_RAISE_STMT self, TR_STMT l) {
  4994.  TR_STMT last_7735;
  4995.  TR_STMT local0;
  4996.  TR_STMT local1;
  4997.  TR_STMT local2;
  4998.  if (!((!((self==((TR_RAISE_STMT) NULL)))))) {
  4999.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5000.   exit(16);
  5001.  }
  5002.  if ((self->next_8==((TR_STMT) NULL))) {
  5003.   self->next_8 = l;
  5004.   return;
  5005.  }
  5006.  last_7735 = self->next_8;
  5007.  while (1) {
  5008.   local0 = last_7735;
  5009.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5010.    goto after_loop;
  5011.   }
  5012.   local1 = last_7735;
  5013.   last_7735 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5014.  }
  5015.  after_loop: ;
  5016.  local2 = last_7735;
  5017.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5018. }
  5019.  
  5020.  
  5021. void TR_LOOP_STMT_app(TR_LOOP_STMT self, TR_STMT l) {
  5022.  TR_STMT last_7737;
  5023.  TR_STMT local0;
  5024.  TR_STMT local1;
  5025.  TR_STMT local2;
  5026.  if (!((!((self==((TR_LOOP_STMT) NULL)))))) {
  5027.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5028.   exit(16);
  5029.  }
  5030.  if ((self->next_8==((TR_STMT) NULL))) {
  5031.   self->next_8 = l;
  5032.   return;
  5033.  }
  5034.  last_7737 = self->next_8;
  5035.  while (1) {
  5036.   local0 = last_7737;
  5037.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5038.    goto after_loop;
  5039.   }
  5040.   local1 = last_7737;
  5041.   last_7737 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5042.  }
  5043.  after_loop: ;
  5044.  local2 = last_7737;
  5045.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5046. }
  5047.  
  5048.  
  5049. void TR_RETURN_STMT_a(TR_RETURN_STMT self, TR_STMT l) {
  5050.  TR_STMT last_7739;
  5051.  TR_STMT local0;
  5052.  TR_STMT local1;
  5053.  TR_STMT local2;
  5054.  if (!((!((self==((TR_RETURN_STMT) NULL)))))) {
  5055.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5056.   exit(16);
  5057.  }
  5058.  if ((self->next_8==((TR_STMT) NULL))) {
  5059.   self->next_8 = l;
  5060.   return;
  5061.  }
  5062.  last_7739 = self->next_8;
  5063.  while (1) {
  5064.   local0 = last_7739;
  5065.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5066.    goto after_loop;
  5067.   }
  5068.   local1 = last_7739;
  5069.   last_7739 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5070.  }
  5071.  after_loop: ;
  5072.  local2 = last_7739;
  5073.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5074. }
  5075.  
  5076.  
  5077. void TR_WITH_NEAR_STM_7741(TR_WITH_NEAR_STMT self, TR_STMT l) {
  5078.  TR_STMT last_7742;
  5079.  TR_STMT local0;
  5080.  TR_STMT local1;
  5081.  TR_STMT local2;
  5082.  if (!((!((self==((TR_WITH_NEAR_STMT) NULL)))))) {
  5083.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5084.   exit(16);
  5085.  }
  5086.  if ((self->next_8==((TR_STMT) NULL))) {
  5087.   self->next_8 = l;
  5088.   return;
  5089.  }
  5090.  last_7742 = self->next_8;
  5091.  while (1) {
  5092.   local0 = last_7742;
  5093.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5094.    goto after_loop;
  5095.   }
  5096.   local1 = last_7742;
  5097.   last_7742 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5098.  }
  5099.  after_loop: ;
  5100.  local2 = last_7742;
  5101.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5102. }
  5103.  
  5104.  
  5105. void TR_FORK_STMT_app(TR_FORK_STMT self, TR_STMT l) {
  5106.  TR_STMT last_7744;
  5107.  TR_STMT local0;
  5108.  TR_STMT local1;
  5109.  TR_STMT local2;
  5110.  if (!((!((self==((TR_FORK_STMT) NULL)))))) {
  5111.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5112.   exit(16);
  5113.  }
  5114.  if ((self->next_8==((TR_STMT) NULL))) {
  5115.   self->next_8 = l;
  5116.   return;
  5117.  }
  5118.  last_7744 = self->next_8;
  5119.  while (1) {
  5120.   local0 = last_7744;
  5121.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5122.    goto after_loop;
  5123.   }
  5124.   local1 = last_7744;
  5125.   last_7744 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5126.  }
  5127.  after_loop: ;
  5128.  local2 = last_7744;
  5129.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5130. }
  5131.  
  5132.  
  5133. void TR_ASSERT_STMT_a(TR_ASSERT_STMT self, TR_STMT l) {
  5134.  TR_STMT last_7746;
  5135.  TR_STMT local0;
  5136.  TR_STMT local1;
  5137.  TR_STMT local2;
  5138.  if (!((!((self==((TR_ASSERT_STMT) NULL)))))) {
  5139.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5140.   exit(16);
  5141.  }
  5142.  if ((self->next_8==((TR_STMT) NULL))) {
  5143.   self->next_8 = l;
  5144.   return;
  5145.  }
  5146.  last_7746 = self->next_8;
  5147.  while (1) {
  5148.   local0 = last_7746;
  5149.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5150.    goto after_loop;
  5151.   }
  5152.   local1 = last_7746;
  5153.   last_7746 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5154.  }
  5155.  after_loop: ;
  5156.  local2 = last_7746;
  5157.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5158. }
  5159.  
  5160.  
  5161. void TR_CASE_STMT_app(TR_CASE_STMT self, TR_STMT l) {
  5162.  TR_STMT last_7748;
  5163.  TR_STMT local0;
  5164.  TR_STMT local1;
  5165.  TR_STMT local2;
  5166.  if (!((!((self==((TR_CASE_STMT) NULL)))))) {
  5167.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5168.   exit(16);
  5169.  }
  5170.  if ((self->next_8==((TR_STMT) NULL))) {
  5171.   self->next_8 = l;
  5172.   return;
  5173.  }
  5174.  last_7748 = self->next_8;
  5175.  while (1) {
  5176.   local0 = last_7748;
  5177.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5178.    goto after_loop;
  5179.   }
  5180.   local1 = last_7748;
  5181.   last_7748 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5182.  }
  5183.  after_loop: ;
  5184.  local2 = last_7748;
  5185.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5186. }
  5187.  
  5188.  
  5189. void TR_DEC_STMT_appe(TR_DEC_STMT self, TR_STMT l) {
  5190.  TR_STMT last_7750;
  5191.  TR_STMT local0;
  5192.  TR_STMT local1;
  5193.  TR_STMT local2;
  5194.  if (!((!((self==((TR_DEC_STMT) NULL)))))) {
  5195.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5196.   exit(16);
  5197.  }
  5198.  if ((self->next_8==((TR_STMT) NULL))) {
  5199.   self->next_8 = l;
  5200.   return;
  5201.  }
  5202.  last_7750 = self->next_8;
  5203.  while (1) {
  5204.   local0 = last_7750;
  5205.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5206.    goto after_loop;
  5207.   }
  5208.   local1 = last_7750;
  5209.   last_7750 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5210.  }
  5211.  after_loop: ;
  5212.  local2 = last_7750;
  5213.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5214. }
  5215.  
  5216.  
  5217. void TR_IF_STMT_appen(TR_IF_STMT self, TR_STMT l) {
  5218.  TR_STMT last_7752;
  5219.  TR_STMT local0;
  5220.  TR_STMT local1;
  5221.  TR_STMT local2;
  5222.  if (!((!((self==((TR_IF_STMT) NULL)))))) {
  5223.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5224.   exit(16);
  5225.  }
  5226.  if ((self->next_8==((TR_STMT) NULL))) {
  5227.   self->next_8 = l;
  5228.   return;
  5229.  }
  5230.  last_7752 = self->next_8;
  5231.  while (1) {
  5232.   local0 = last_7752;
  5233.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5234.    goto after_loop;
  5235.   }
  5236.   local1 = last_7752;
  5237.   last_7752 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5238.  }
  5239.  after_loop: ;
  5240.  local2 = last_7752;
  5241.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5242. }
  5243.  
  5244.  
  5245. void TR_EXPR_STMT_app(TR_EXPR_STMT self, TR_STMT l) {
  5246.  TR_STMT last_7754;
  5247.  TR_STMT local0;
  5248.  TR_STMT local1;
  5249.  TR_STMT local2;
  5250.  if (!((!((self==((TR_EXPR_STMT) NULL)))))) {
  5251.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5252.   exit(16);
  5253.  }
  5254.  if ((self->next_8==((TR_STMT) NULL))) {
  5255.   self->next_8 = l;
  5256.   return;
  5257.  }
  5258.  last_7754 = self->next_8;
  5259.  while (1) {
  5260.   local0 = last_7754;
  5261.   if (((*TR_STMT_next_TR_STMT[local0->header.tag+TR_STMT_next_TR_STMT_offset])(local0)==((TR_STMT) NULL))) {
  5262.    goto after_loop;
  5263.   }
  5264.   local1 = last_7754;
  5265.   last_7754 = (*TR_STMT_next_TR_STMT[local1->header.tag+TR_STMT_next_TR_STMT_offset])(local1);
  5266.  }
  5267.  after_loop: ;
  5268.  local2 = last_7754;
  5269.  (*TR_STMT_next_TR__7711[local2->header.tag+TR_STMT_next_TR__7711_offset])(local2, l);
  5270. }
  5271.  
  5272.  
  5273. BOOL FLISTIDENT_invar(FLISTIDENT self) {
  5274.  BOOL noname7756 = ((BOOL) 0);
  5275.  BOOL local0;
  5276.  INT local1;
  5277.  INT local2;
  5278.  INT local3;
  5279.  if ((self==((FLISTIDENT) NULL))) {
  5280.   return TRUE;
  5281.  }
  5282.  local1 = self->loc_17;
  5283.  local2 = 0;
  5284.  if (INT_is_bet_INT_I(local1, local2, (self->asize))) {
  5285.   local3 = (self->asize);
  5286.   local0 = (local3>0);
  5287.  } else {
  5288.   local0 = FALSE;
  5289.  }
  5290.  return local0;
  5291. }
  5292.  
  5293.  
  5294. void FLISTIDENT_aset_(FLISTIDENT_aset__frame frame) {
  5295.  INT local0;
  5296.  INT local1;
  5297.  switch (frame->state) {
  5298.   case 0: goto state0;
  5299.   case 1: goto state1;
  5300.   }
  5301.  state0:;
  5302.  if (!((!((frame->arg0==((FLISTIDENT) NULL)))))) {
  5303.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  5304.   exit(16);
  5305.  }
  5306.  {
  5307.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  5308.   frame->nested1->state = 0;
  5309.   while (1) {
  5310.    if (frame->nested1->state == 0) {
  5311.     frame->noname7757 = (frame->arg0->asize);
  5312.     frame->nested1->arg0 = frame->noname7757;
  5313.    }
  5314.    local0 = INT_times_INT(frame->nested1);
  5315.    if (frame->nested1->state == -1) goto after_loop;
  5316.    local1 = local0;
  5317.    FLISTIDENT_aset__1939(frame->arg0, local1, frame->arg1);
  5318.    frame->state = 1;
  5319.    return;
  5320.    state1:;
  5321.   }
  5322.  }
  5323.  after_loop: ;
  5324.  GC_free(frame->nested1); frame->nested1 = NULL;
  5325.  frame->state = -1;
  5326.  return;
  5327. }
  5328.  
  5329.  
  5330. IDENT FLISTIDENT_elt_IDENT(FLISTIDENT_elt_IDENT_frame frame) {
  5331.  IDENT dummy;
  5332.  IDENT local0;
  5333.  switch (frame->state) {
  5334.   case 0: goto state0;
  5335.   case 1: goto state1;
  5336.   }
  5337.  state0:;
  5338.  if ((!((frame->arg0==((FLISTIDENT) NULL))))) {
  5339.   {
  5340.    frame->nested1 = ALLOCATE(FLISTIDENT_aelt__frame);
  5341.    frame->nested1->state = 0;
  5342.    while (1) {
  5343.     frame->state = 1;
  5344.     if (frame->nested1->state == 0) {
  5345.      frame->noname7760 = frame->arg0;
  5346.      frame->noname7761 = 0;
  5347.      frame->noname7762 = frame->arg0->loc_17;
  5348.      frame->nested1->arg0 = frame->noname7760;
  5349.      frame->nested1->arg1 = frame->noname7761;
  5350.      frame->nested1->arg2 = frame->noname7762;
  5351.     }
  5352.     local0 = FLISTIDENT_aelt_(frame->nested1);
  5353.     if (frame->nested1->state == -1) goto after_loop;
  5354.     return local0;
  5355.     state1:;
  5356.    }
  5357.   }
  5358.   after_loop: ;
  5359.   GC_free(frame->nested1); frame->nested1 = NULL;
  5360.  }
  5361.  if (!FLISTIDENT_invar(frame->arg0)) {
  5362.   fprintf(stderr,"Failed invariant FLIST{IDENT}::invariant:BOOL ../Library/flist.sa:127:6\n");
  5363.   exit(16);
  5364.  }
  5365.  frame->state = -1;
  5366.  return dummy;
  5367. }
  5368.  
  5369.  
  5370. IDENT FLISTIDENT_aref__7764(FLISTIDENT self, INT ind_7765) {
  5371.  IDENT noname7766 = IDENT_zero;
  5372.  BOOL local0;
  5373.  INT local1;
  5374.  INT local2;
  5375.  if ((!((self==((FLISTIDENT) NULL))))) {
  5376.   local1 = 0;
  5377.   local2 = (self->asize);
  5378.   local0 = INT_is_bet_INT_I(ind_7765, local1, (c_INT_minus_INT_INT_chk(local2,1)));
  5379.  } else {
  5380.   local0 = FALSE;
  5381.  }
  5382.  if (!(local0)) {
  5383.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:33:7\n");
  5384.   exit(16);
  5385.  }
  5386.  if (ind_7765<0||ind_7765>=self->asize) {
  5387.   fprintf(stderr,"Index out of bounds ../Library/aref.sa:33:7\n");
  5388.   exit(16);
  5389.  }
  5390.  return self->arr_part[ind_7765];
  5391. }
  5392.  
  5393.  
  5394. IDENT FLISTIDENT_aget_(FLISTIDENT self, INT ind_7767) {
  5395.  IDENT noname7768 = IDENT_zero;
  5396.  BOOL local0;
  5397.  INT local1;
  5398.  if ((!((self==((FLISTIDENT) NULL))))) {
  5399.   local1 = 0;
  5400.   local0 = INT_is_bet_INT_I(ind_7767, local1, (c_INT_minus_INT_INT_chk(self->loc_17,1)));
  5401.  } else {
  5402.   local0 = FALSE;
  5403.  }
  5404.  if (!(local0)) {
  5405.   fprintf(stderr,"Violation of precondition ../Library/flist.sa:68:7\n");
  5406.   exit(16);
  5407.  }
  5408.  return FLISTIDENT_aref__7764(self, ind_7767);
  5409.  if (!FLISTIDENT_invar(self)) {
  5410.   fprintf(stderr,"Failed invariant FLIST{IDENT}::invariant:BOOL ../Library/flist.sa:68:7\n");
  5411.   exit(16);
  5412.  }
  5413. }
  5414.  
  5415.  
  5416. IDENT FLISTIDENT_aelt_(FLISTIDENT_aelt__frame frame) {
  5417.  IDENT dummy;
  5418.  BOOL local0;
  5419.  BOOL local1;
  5420.  INT local2;
  5421.  INT local3;
  5422.  INT local4;
  5423.  INT local5;
  5424.  INT local6;
  5425.  INT local7;
  5426.  switch (frame->state) {
  5427.   case 0: goto state0;
  5428.   case 1: goto state1;
  5429.   }
  5430.  state0:;
  5431.  if ((!((frame->arg0==((FLISTIDENT) NULL))))) {
  5432.   local2 = 0;
  5433.   local3 = (frame->arg0->asize);
  5434.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  5435.  } else {
  5436.   local1 = FALSE;
  5437.  }
  5438.  if (local1) {
  5439.   local4 = 0;
  5440.   local5 = (frame->arg0->asize);
  5441.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  5442.  } else {
  5443.   local0 = FALSE;
  5444.  }
  5445.  if (!(local0)) {
  5446.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  5447.   exit(16);
  5448.  }
  5449.  {
  5450.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  5451.   frame->nested1->state = 0;
  5452.   while (1) {
  5453.    frame->state = 1;
  5454.    if (frame->nested1->state == 0) {
  5455.     frame->noname7770 = frame->arg1;
  5456.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  5457.     frame->noname7771 = (c_INT_minus_INT_INT_chk(local7,1));
  5458.     frame->nested1->arg0 = frame->noname7770;
  5459.     frame->nested1->arg1 = frame->noname7771;
  5460.    }
  5461.    local6 = INT_upto_INT_INT(frame->nested1);
  5462.    if (frame->nested1->state == -1) goto after_loop;
  5463.    return FLISTIDENT_aget_(frame->arg0, local6);
  5464.    state1:;
  5465.   }
  5466.  }
  5467.  after_loop: ;
  5468.  GC_free(frame->nested1); frame->nested1 = NULL;
  5469.  frame->state = -1;
  5470.  return dummy;
  5471. }
  5472.  
  5473.  
  5474. BOOL FLISTTR_EXPR_inv(FLISTTR_EXPR self) {
  5475.  BOOL noname7773 = ((BOOL) 0);
  5476.  BOOL local0;
  5477.  INT local1;
  5478.  INT local2;
  5479.  INT local3;
  5480.  if ((self==((FLISTTR_EXPR) NULL))) {
  5481.   return TRUE;
  5482.  }
  5483.  local1 = self->loc_17;
  5484.  local2 = 0;
  5485.  if (INT_is_bet_INT_I(local1, local2, (self->asize))) {
  5486.   local3 = (self->asize);
  5487.   local0 = (local3>0);
  5488.  } else {
  5489.   local0 = FALSE;
  5490.  }
  5491.  return local0;
  5492. }
  5493.  
  5494.  
  5495. void FLISTTR_EXPR_ase(FLISTTR_EXPR_ase_frame frame) {
  5496.  INT local0;
  5497.  INT local1;
  5498.  switch (frame->state) {
  5499.   case 0: goto state0;
  5500.   case 1: goto state1;
  5501.   }
  5502.  state0:;
  5503.  if (!((!((frame->arg0==((FLISTTR_EXPR) NULL)))))) {
  5504.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  5505.   exit(16);
  5506.  }
  5507.  {
  5508.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  5509.   frame->nested1->state = 0;
  5510.   while (1) {
  5511.    if (frame->nested1->state == 0) {
  5512.     frame->noname7774 = (frame->arg0->asize);
  5513.     frame->nested1->arg0 = frame->noname7774;
  5514.    }
  5515.    local0 = INT_times_INT(frame->nested1);
  5516.    if (frame->nested1->state == -1) goto after_loop;
  5517.    local1 = local0;
  5518.    FLISTTR_EXPR_ase_1920(frame->arg0, local1, frame->arg1);
  5519.    frame->state = 1;
  5520.    return;
  5521.    state1:;
  5522.   }
  5523.  }
  5524.  after_loop: ;
  5525.  GC_free(frame->nested1); frame->nested1 = NULL;
  5526.  frame->state = -1;
  5527.  return;
  5528. }
  5529.  
  5530.  
  5531. TR_EXPR FLISTTR_EXPR_elt(FLISTTR_EXPR_elt_frame frame) {
  5532.  TR_EXPR dummy;
  5533.  TR_EXPR local0;
  5534.  switch (frame->state) {
  5535.   case 0: goto state0;
  5536.   case 1: goto state1;
  5537.   }
  5538.  state0:;
  5539.  if ((!((frame->arg0==((FLISTTR_EXPR) NULL))))) {
  5540.   {
  5541.    frame->nested1 = ALLOCATE(FLISTTR_EXPR_ael_frame);
  5542.    frame->nested1->state = 0;
  5543.    while (1) {
  5544.     frame->state = 1;
  5545.     if (frame->nested1->state == 0) {
  5546.      frame->noname7777 = frame->arg0;
  5547.      frame->noname7778 = 0;
  5548.      frame->noname7779 = frame->arg0->loc_17;
  5549.      frame->nested1->arg0 = frame->noname7777;
  5550.      frame->nested1->arg1 = frame->noname7778;
  5551.      frame->nested1->arg2 = frame->noname7779;
  5552.     }
  5553.     local0 = FLISTTR_EXPR_ael(frame->nested1);
  5554.     if (frame->nested1->state == -1) goto after_loop;
  5555.     return local0;
  5556.     state1:;
  5557.    }
  5558.   }
  5559.   after_loop: ;
  5560.   GC_free(frame->nested1); frame->nested1 = NULL;
  5561.  }
  5562.  if (!FLISTTR_EXPR_inv(frame->arg0)) {
  5563.   fprintf(stderr,"Failed invariant FLIST{$TR_EXPR}::invariant:BOOL ../Library/flist.sa:127:6\n");
  5564.   exit(16);
  5565.  }
  5566.  frame->state = -1;
  5567.  return dummy;
  5568. }
  5569.  
  5570.  
  5571. TR_EXPR FLISTTR_EXPR_are_7781(FLISTTR_EXPR self, INT ind_7782) {
  5572.  TR_EXPR noname7783;
  5573.  BOOL local0;
  5574.  INT local1;
  5575.  INT local2;
  5576.  if ((!((self==((FLISTTR_EXPR) NULL))))) {
  5577.   local1 = 0;
  5578.   local2 = (self->asize);
  5579.   local0 = INT_is_bet_INT_I(ind_7782, local1, (c_INT_minus_INT_INT_chk(local2,1)));
  5580.  } else {
  5581.   local0 = FALSE;
  5582.  }
  5583.  if (!(local0)) {
  5584.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:33:7\n");
  5585.   exit(16);
  5586.  }
  5587.  if (ind_7782<0||ind_7782>=self->asize) {
  5588.   fprintf(stderr,"Index out of bounds ../Library/aref.sa:33:7\n");
  5589.   exit(16);
  5590.  }
  5591.  return self->arr_part[ind_7782];
  5592. }
  5593.  
  5594.  
  5595. TR_EXPR FLISTTR_EXPR_age(FLISTTR_EXPR self, INT ind_7784) {
  5596.  TR_EXPR noname7785;
  5597.  BOOL local0;
  5598.  INT local1;
  5599.  if ((!((self==((FLISTTR_EXPR) NULL))))) {
  5600.   local1 = 0;
  5601.   local0 = INT_is_bet_INT_I(ind_7784, local1, (c_INT_minus_INT_INT_chk(self->loc_17,1)));
  5602.  } else {
  5603.   local0 = FALSE;
  5604.  }
  5605.  if (!(local0)) {
  5606.   fprintf(stderr,"Violation of precondition ../Library/flist.sa:68:7\n");
  5607.   exit(16);
  5608.  }
  5609.  return FLISTTR_EXPR_are_7781(self, ind_7784);
  5610.  if (!FLISTTR_EXPR_inv(self)) {
  5611.   fprintf(stderr,"Failed invariant FLIST{$TR_EXPR}::invariant:BOOL ../Library/flist.sa:68:7\n");
  5612.   exit(16);
  5613.  }
  5614. }
  5615.  
  5616.  
  5617. TR_EXPR FLISTTR_EXPR_ael(FLISTTR_EXPR_ael_frame frame) {
  5618.  TR_EXPR dummy;
  5619.  BOOL local0;
  5620.  BOOL local1;
  5621.  INT local2;
  5622.  INT local3;
  5623.  INT local4;
  5624.  INT local5;
  5625.  INT local6;
  5626.  INT local7;
  5627.  switch (frame->state) {
  5628.   case 0: goto state0;
  5629.   case 1: goto state1;
  5630.   }
  5631.  state0:;
  5632.  if ((!((frame->arg0==((FLISTTR_EXPR) NULL))))) {
  5633.   local2 = 0;
  5634.   local3 = (frame->arg0->asize);
  5635.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  5636.  } else {
  5637.   local1 = FALSE;
  5638.  }
  5639.  if (local1) {
  5640.   local4 = 0;
  5641.   local5 = (frame->arg0->asize);
  5642.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  5643.  } else {
  5644.   local0 = FALSE;
  5645.  }
  5646.  if (!(local0)) {
  5647.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  5648.   exit(16);
  5649.  }
  5650.  {
  5651.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  5652.   frame->nested1->state = 0;
  5653.   while (1) {
  5654.    frame->state = 1;
  5655.    if (frame->nested1->state == 0) {
  5656.     frame->noname7787 = frame->arg1;
  5657.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  5658.     frame->noname7788 = (c_INT_minus_INT_INT_chk(local7,1));
  5659.     frame->nested1->arg0 = frame->noname7787;
  5660.     frame->nested1->arg1 = frame->noname7788;
  5661.    }
  5662.    local6 = INT_upto_INT_INT(frame->nested1);
  5663.    if (frame->nested1->state == -1) goto after_loop;
  5664.    return FLISTTR_EXPR_age(frame->arg0, local6);
  5665.    state1:;
  5666.   }
  5667.  }
  5668.  after_loop: ;
  5669.  GC_free(frame->nested1); frame->nested1 = NULL;
  5670.  frame->state = -1;
  5671.  return dummy;
  5672. }
  5673.  
  5674.  
  5675. void TR_HERE_EXPR_app(TR_HERE_EXPR self, TR_EXPR l) {
  5676.  TR_EXPR last_7790;
  5677.  TR_EXPR local0;
  5678.  TR_EXPR local1;
  5679.  TR_EXPR local2;
  5680.  if (!((!((self==((TR_HERE_EXPR) NULL)))))) {
  5681.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5682.   exit(16);
  5683.  }
  5684.  if ((self->next_8==((TR_EXPR) NULL))) {
  5685.   self->next_8 = l;
  5686.   return;
  5687.  }
  5688.  last_7790 = self->next_8;
  5689.  while (1) {
  5690.   local0 = last_7790;
  5691.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5692.    goto after_loop;
  5693.   }
  5694.   local1 = last_7790;
  5695.   last_7790 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5696.  }
  5697.  after_loop: ;
  5698.  local2 = last_7790;
  5699.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5700. }
  5701.  
  5702.  
  5703. void TR_CHAR_LIT_EXPR_7792(TR_CHAR_LIT_EXPR self, TR_EXPR l) {
  5704.  TR_EXPR last_7793;
  5705.  TR_EXPR local0;
  5706.  TR_EXPR local1;
  5707.  TR_EXPR local2;
  5708.  if (!((!((self==((TR_CHAR_LIT_EXPR) NULL)))))) {
  5709.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5710.   exit(16);
  5711.  }
  5712.  if ((self->next_8==((TR_EXPR) NULL))) {
  5713.   self->next_8 = l;
  5714.   return;
  5715.  }
  5716.  last_7793 = self->next_8;
  5717.  while (1) {
  5718.   local0 = last_7793;
  5719.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5720.    goto after_loop;
  5721.   }
  5722.   local1 = last_7793;
  5723.   last_7793 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5724.  }
  5725.  after_loop: ;
  5726.  local2 = last_7793;
  5727.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5728. }
  5729.  
  5730.  
  5731. void TR_BOUND_CREATE__7795(TR_BOUND_CREATE_EXPR self, TR_EXPR l) {
  5732.  TR_EXPR last_7796;
  5733.  TR_EXPR local0;
  5734.  TR_EXPR local1;
  5735.  TR_EXPR local2;
  5736.  if (!((!((self==((TR_BOUND_CREATE_EXPR) NULL)))))) {
  5737.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5738.   exit(16);
  5739.  }
  5740.  if ((self->next_8==((TR_EXPR) NULL))) {
  5741.   self->next_8 = l;
  5742.   return;
  5743.  }
  5744.  last_7796 = self->next_8;
  5745.  while (1) {
  5746.   local0 = last_7796;
  5747.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5748.    goto after_loop;
  5749.   }
  5750.   local1 = last_7796;
  5751.   last_7796 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5752.  }
  5753.  after_loop: ;
  5754.  local2 = last_7796;
  5755.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5756. }
  5757.  
  5758.  
  5759. void TR_ARRAY_EXPR_ap(TR_ARRAY_EXPR self, TR_EXPR l) {
  5760.  TR_EXPR last_7798;
  5761.  TR_EXPR local0;
  5762.  TR_EXPR local1;
  5763.  TR_EXPR local2;
  5764.  if (!((!((self==((TR_ARRAY_EXPR) NULL)))))) {
  5765.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5766.   exit(16);
  5767.  }
  5768.  if ((self->next_8==((TR_EXPR) NULL))) {
  5769.   self->next_8 = l;
  5770.   return;
  5771.  }
  5772.  last_7798 = self->next_8;
  5773.  while (1) {
  5774.   local0 = last_7798;
  5775.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5776.    goto after_loop;
  5777.   }
  5778.   local1 = last_7798;
  5779.   last_7798 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5780.  }
  5781.  after_loop: ;
  5782.  local2 = last_7798;
  5783.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5784. }
  5785.  
  5786.  
  5787. void TR_BREAK_EXPR_ap(TR_BREAK_EXPR self, TR_EXPR l) {
  5788.  TR_EXPR last_7800;
  5789.  TR_EXPR local0;
  5790.  TR_EXPR local1;
  5791.  TR_EXPR local2;
  5792.  if (!((!((self==((TR_BREAK_EXPR) NULL)))))) {
  5793.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5794.   exit(16);
  5795.  }
  5796.  if ((self->next_8==((TR_EXPR) NULL))) {
  5797.   self->next_8 = l;
  5798.   return;
  5799.  }
  5800.  last_7800 = self->next_8;
  5801.  while (1) {
  5802.   local0 = last_7800;
  5803.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5804.    goto after_loop;
  5805.   }
  5806.   local1 = last_7800;
  5807.   last_7800 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5808.  }
  5809.  after_loop: ;
  5810.  local2 = last_7800;
  5811.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5812. }
  5813.  
  5814.  
  5815. void TR_INITIAL_EXPR__7802(TR_INITIAL_EXPR self, TR_EXPR l) {
  5816.  TR_EXPR last_7803;
  5817.  TR_EXPR local0;
  5818.  TR_EXPR local1;
  5819.  TR_EXPR local2;
  5820.  if (!((!((self==((TR_INITIAL_EXPR) NULL)))))) {
  5821.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5822.   exit(16);
  5823.  }
  5824.  if ((self->next_8==((TR_EXPR) NULL))) {
  5825.   self->next_8 = l;
  5826.   return;
  5827.  }
  5828.  last_7803 = self->next_8;
  5829.  while (1) {
  5830.   local0 = last_7803;
  5831.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5832.    goto after_loop;
  5833.   }
  5834.   local1 = last_7803;
  5835.   last_7803 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5836.  }
  5837.  after_loop: ;
  5838.  local2 = last_7803;
  5839.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5840. }
  5841.  
  5842.  
  5843. void TR_AND_EXPR_appe(TR_AND_EXPR self, TR_EXPR l) {
  5844.  TR_EXPR last_7805;
  5845.  TR_EXPR local0;
  5846.  TR_EXPR local1;
  5847.  TR_EXPR local2;
  5848.  if (!((!((self==((TR_AND_EXPR) NULL)))))) {
  5849.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5850.   exit(16);
  5851.  }
  5852.  if ((self->next_8==((TR_EXPR) NULL))) {
  5853.   self->next_8 = l;
  5854.   return;
  5855.  }
  5856.  last_7805 = self->next_8;
  5857.  while (1) {
  5858.   local0 = last_7805;
  5859.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5860.    goto after_loop;
  5861.   }
  5862.   local1 = last_7805;
  5863.   last_7805 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5864.  }
  5865.  after_loop: ;
  5866.  local2 = last_7805;
  5867.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5868. }
  5869.  
  5870.  
  5871. void TR_FLT_LIT_EXPR__7807(TR_FLT_LIT_EXPR self, TR_EXPR l) {
  5872.  TR_EXPR last_7808;
  5873.  TR_EXPR local0;
  5874.  TR_EXPR local1;
  5875.  TR_EXPR local2;
  5876.  if (!((!((self==((TR_FLT_LIT_EXPR) NULL)))))) {
  5877.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5878.   exit(16);
  5879.  }
  5880.  if ((self->next_8==((TR_EXPR) NULL))) {
  5881.   self->next_8 = l;
  5882.   return;
  5883.  }
  5884.  last_7808 = self->next_8;
  5885.  while (1) {
  5886.   local0 = last_7808;
  5887.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5888.    goto after_loop;
  5889.   }
  5890.   local1 = last_7808;
  5891.   last_7808 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5892.  }
  5893.  after_loop: ;
  5894.  local2 = last_7808;
  5895.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5896. }
  5897.  
  5898.  
  5899. void TR_EXCEPT_EXPR_a(TR_EXCEPT_EXPR self, TR_EXPR l) {
  5900.  TR_EXPR last_7810;
  5901.  TR_EXPR local0;
  5902.  TR_EXPR local1;
  5903.  TR_EXPR local2;
  5904.  if (!((!((self==((TR_EXCEPT_EXPR) NULL)))))) {
  5905.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5906.   exit(16);
  5907.  }
  5908.  if ((self->next_8==((TR_EXPR) NULL))) {
  5909.   self->next_8 = l;
  5910.   return;
  5911.  }
  5912.  last_7810 = self->next_8;
  5913.  while (1) {
  5914.   local0 = last_7810;
  5915.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5916.    goto after_loop;
  5917.   }
  5918.   local1 = last_7810;
  5919.   last_7810 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5920.  }
  5921.  after_loop: ;
  5922.  local2 = last_7810;
  5923.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5924. }
  5925.  
  5926.  
  5927. void TR_BOOL_LIT_EXPR_7812(TR_BOOL_LIT_EXPR self, TR_EXPR l) {
  5928.  TR_EXPR last_7813;
  5929.  TR_EXPR local0;
  5930.  TR_EXPR local1;
  5931.  TR_EXPR local2;
  5932.  if (!((!((self==((TR_BOOL_LIT_EXPR) NULL)))))) {
  5933.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5934.   exit(16);
  5935.  }
  5936.  if ((self->next_8==((TR_EXPR) NULL))) {
  5937.   self->next_8 = l;
  5938.   return;
  5939.  }
  5940.  last_7813 = self->next_8;
  5941.  while (1) {
  5942.   local0 = last_7813;
  5943.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5944.    goto after_loop;
  5945.   }
  5946.   local1 = last_7813;
  5947.   last_7813 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5948.  }
  5949.  after_loop: ;
  5950.  local2 = last_7813;
  5951.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5952. }
  5953.  
  5954.  
  5955. void TR_NEAR_EXPR_app(TR_NEAR_EXPR self, TR_EXPR l) {
  5956.  TR_EXPR last_7815;
  5957.  TR_EXPR local0;
  5958.  TR_EXPR local1;
  5959.  TR_EXPR local2;
  5960.  if (!((!((self==((TR_NEAR_EXPR) NULL)))))) {
  5961.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5962.   exit(16);
  5963.  }
  5964.  if ((self->next_8==((TR_EXPR) NULL))) {
  5965.   self->next_8 = l;
  5966.   return;
  5967.  }
  5968.  last_7815 = self->next_8;
  5969.  while (1) {
  5970.   local0 = last_7815;
  5971.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  5972.    goto after_loop;
  5973.   }
  5974.   local1 = last_7815;
  5975.   last_7815 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  5976.  }
  5977.  after_loop: ;
  5978.  local2 = last_7815;
  5979.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  5980. }
  5981.  
  5982.  
  5983. void TR_SELF_EXPR_app(TR_SELF_EXPR self, TR_EXPR l) {
  5984.  TR_EXPR last_7817;
  5985.  TR_EXPR local0;
  5986.  TR_EXPR local1;
  5987.  TR_EXPR local2;
  5988.  if (!((!((self==((TR_SELF_EXPR) NULL)))))) {
  5989.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  5990.   exit(16);
  5991.  }
  5992.  if ((self->next_8==((TR_EXPR) NULL))) {
  5993.   self->next_8 = l;
  5994.   return;
  5995.  }
  5996.  last_7817 = self->next_8;
  5997.  while (1) {
  5998.   local0 = last_7817;
  5999.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6000.    goto after_loop;
  6001.   }
  6002.   local1 = last_7817;
  6003.   last_7817 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6004.  }
  6005.  after_loop: ;
  6006.  local2 = last_7817;
  6007.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6008. }
  6009.  
  6010.  
  6011. void TR_VOID_EXPR_app(TR_VOID_EXPR self, TR_EXPR l) {
  6012.  TR_EXPR last_7819;
  6013.  TR_EXPR local0;
  6014.  TR_EXPR local1;
  6015.  TR_EXPR local2;
  6016.  if (!((!((self==((TR_VOID_EXPR) NULL)))))) {
  6017.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6018.   exit(16);
  6019.  }
  6020.  if ((self->next_8==((TR_EXPR) NULL))) {
  6021.   self->next_8 = l;
  6022.   return;
  6023.  }
  6024.  last_7819 = self->next_8;
  6025.  while (1) {
  6026.   local0 = last_7819;
  6027.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6028.    goto after_loop;
  6029.   }
  6030.   local1 = last_7819;
  6031.   last_7819 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6032.  }
  6033.  after_loop: ;
  6034.  local2 = last_7819;
  6035.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6036. }
  6037.  
  6038.  
  6039. void TR_AT_EXPR_appen(TR_AT_EXPR self, TR_EXPR l) {
  6040.  TR_EXPR last_7821;
  6041.  TR_EXPR local0;
  6042.  TR_EXPR local1;
  6043.  TR_EXPR local2;
  6044.  if (!((!((self==((TR_AT_EXPR) NULL)))))) {
  6045.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6046.   exit(16);
  6047.  }
  6048.  if ((self->next_8==((TR_EXPR) NULL))) {
  6049.   self->next_8 = l;
  6050.   return;
  6051.  }
  6052.  last_7821 = self->next_8;
  6053.  while (1) {
  6054.   local0 = last_7821;
  6055.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6056.    goto after_loop;
  6057.   }
  6058.   local1 = last_7821;
  6059.   last_7821 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6060.  }
  6061.  after_loop: ;
  6062.  local2 = last_7821;
  6063.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6064. }
  6065.  
  6066.  
  6067. void TR_NEW_EXPR_appe(TR_NEW_EXPR self, TR_EXPR l) {
  6068.  TR_EXPR last_7823;
  6069.  TR_EXPR local0;
  6070.  TR_EXPR local1;
  6071.  TR_EXPR local2;
  6072.  if (!((!((self==((TR_NEW_EXPR) NULL)))))) {
  6073.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6074.   exit(16);
  6075.  }
  6076.  if ((self->next_8==((TR_EXPR) NULL))) {
  6077.   self->next_8 = l;
  6078.   return;
  6079.  }
  6080.  last_7823 = self->next_8;
  6081.  while (1) {
  6082.   local0 = last_7823;
  6083.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6084.    goto after_loop;
  6085.   }
  6086.   local1 = last_7823;
  6087.   last_7823 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6088.  }
  6089.  after_loop: ;
  6090.  local2 = last_7823;
  6091.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6092. }
  6093.  
  6094.  
  6095. void TR_RESULT_EXPR_a(TR_RESULT_EXPR self, TR_EXPR l) {
  6096.  TR_EXPR last_7825;
  6097.  TR_EXPR local0;
  6098.  TR_EXPR local1;
  6099.  TR_EXPR local2;
  6100.  if (!((!((self==((TR_RESULT_EXPR) NULL)))))) {
  6101.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6102.   exit(16);
  6103.  }
  6104.  if ((self->next_8==((TR_EXPR) NULL))) {
  6105.   self->next_8 = l;
  6106.   return;
  6107.  }
  6108.  last_7825 = self->next_8;
  6109.  while (1) {
  6110.   local0 = last_7825;
  6111.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6112.    goto after_loop;
  6113.   }
  6114.   local1 = last_7825;
  6115.   last_7825 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6116.  }
  6117.  after_loop: ;
  6118.  local2 = last_7825;
  6119.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6120. }
  6121.  
  6122.  
  6123. void TR_OR_EXPR_appen(TR_OR_EXPR self, TR_EXPR l) {
  6124.  TR_EXPR last_7827;
  6125.  TR_EXPR local0;
  6126.  TR_EXPR local1;
  6127.  TR_EXPR local2;
  6128.  if (!((!((self==((TR_OR_EXPR) NULL)))))) {
  6129.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6130.   exit(16);
  6131.  }
  6132.  if ((self->next_8==((TR_EXPR) NULL))) {
  6133.   self->next_8 = l;
  6134.   return;
  6135.  }
  6136.  last_7827 = self->next_8;
  6137.  while (1) {
  6138.   local0 = last_7827;
  6139.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6140.    goto after_loop;
  6141.   }
  6142.   local1 = last_7827;
  6143.   last_7827 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6144.  }
  6145.  after_loop: ;
  6146.  local2 = last_7827;
  6147.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6148. }
  6149.  
  6150.  
  6151. void TR_EXPR_append_T_7829(TR_EXPR_52 self, TR_EXPR l) {
  6152.  TR_EXPR last_7830;
  6153.  TR_EXPR local0;
  6154.  TR_EXPR local1;
  6155.  TR_EXPR local2;
  6156.  if (!((!((self==((TR_EXPR_52) NULL)))))) {
  6157.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6158.   exit(16);
  6159.  }
  6160.  if ((self->next_8==((TR_EXPR) NULL))) {
  6161.   self->next_8 = l;
  6162.   return;
  6163.  }
  6164.  last_7830 = self->next_8;
  6165.  while (1) {
  6166.   local0 = last_7830;
  6167.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6168.    goto after_loop;
  6169.   }
  6170.   local1 = last_7830;
  6171.   last_7830 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6172.  }
  6173.  after_loop: ;
  6174.  local2 = last_7830;
  6175.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6176. }
  6177.  
  6178.  
  6179. void TR_STR_LIT_EXPR__7832(TR_STR_LIT_EXPR self, TR_EXPR l) {
  6180.  TR_EXPR last_7833;
  6181.  TR_EXPR local0;
  6182.  TR_EXPR local1;
  6183.  TR_EXPR local2;
  6184.  if (!((!((self==((TR_STR_LIT_EXPR) NULL)))))) {
  6185.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6186.   exit(16);
  6187.  }
  6188.  if ((self->next_8==((TR_EXPR) NULL))) {
  6189.   self->next_8 = l;
  6190.   return;
  6191.  }
  6192.  last_7833 = self->next_8;
  6193.  while (1) {
  6194.   local0 = last_7833;
  6195.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6196.    goto after_loop;
  6197.   }
  6198.   local1 = last_7833;
  6199.   last_7833 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6200.  }
  6201.  after_loop: ;
  6202.  local2 = last_7833;
  6203.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6204. }
  6205.  
  6206.  
  6207. void TR_CREATE_EXPR_a(TR_CREATE_EXPR self, TR_EXPR l) {
  6208.  TR_EXPR last_7835;
  6209.  TR_EXPR local0;
  6210.  TR_EXPR local1;
  6211.  TR_EXPR local2;
  6212.  if (!((!((self==((TR_CREATE_EXPR) NULL)))))) {
  6213.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6214.   exit(16);
  6215.  }
  6216.  if ((self->next_8==((TR_EXPR) NULL))) {
  6217.   self->next_8 = l;
  6218.   return;
  6219.  }
  6220.  last_7835 = self->next_8;
  6221.  while (1) {
  6222.   local0 = last_7835;
  6223.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6224.    goto after_loop;
  6225.   }
  6226.   local1 = last_7835;
  6227.   last_7835 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6228.  }
  6229.  after_loop: ;
  6230.  local2 = last_7835;
  6231.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6232. }
  6233.  
  6234.  
  6235. void TR_FAR_EXPR_appe(TR_FAR_EXPR self, TR_EXPR l) {
  6236.  TR_EXPR last_7837;
  6237.  TR_EXPR local0;
  6238.  TR_EXPR local1;
  6239.  TR_EXPR local2;
  6240.  if (!((!((self==((TR_FAR_EXPR) NULL)))))) {
  6241.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6242.   exit(16);
  6243.  }
  6244.  if ((self->next_8==((TR_EXPR) NULL))) {
  6245.   self->next_8 = l;
  6246.   return;
  6247.  }
  6248.  last_7837 = self->next_8;
  6249.  while (1) {
  6250.   local0 = last_7837;
  6251.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6252.    goto after_loop;
  6253.   }
  6254.   local1 = last_7837;
  6255.   last_7837 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6256.  }
  6257.  after_loop: ;
  6258.  local2 = last_7837;
  6259.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6260. }
  6261.  
  6262.  
  6263. void TR_IS_VOID_EXPR__7839(TR_IS_VOID_EXPR self, TR_EXPR l) {
  6264.  TR_EXPR last_7840;
  6265.  TR_EXPR local0;
  6266.  TR_EXPR local1;
  6267.  TR_EXPR local2;
  6268.  if (!((!((self==((TR_IS_VOID_EXPR) NULL)))))) {
  6269.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6270.   exit(16);
  6271.  }
  6272.  if ((self->next_8==((TR_EXPR) NULL))) {
  6273.   self->next_8 = l;
  6274.   return;
  6275.  }
  6276.  last_7840 = self->next_8;
  6277.  while (1) {
  6278.   local0 = last_7840;
  6279.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6280.    goto after_loop;
  6281.   }
  6282.   local1 = last_7840;
  6283.   last_7840 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6284.  }
  6285.  after_loop: ;
  6286.  local2 = last_7840;
  6287.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6288. }
  6289.  
  6290.  
  6291. void TR_WHERE_EXPR_ap(TR_WHERE_EXPR self, TR_EXPR l) {
  6292.  TR_EXPR last_7842;
  6293.  TR_EXPR local0;
  6294.  TR_EXPR local1;
  6295.  TR_EXPR local2;
  6296.  if (!((!((self==((TR_WHERE_EXPR) NULL)))))) {
  6297.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6298.   exit(16);
  6299.  }
  6300.  if ((self->next_8==((TR_EXPR) NULL))) {
  6301.   self->next_8 = l;
  6302.   return;
  6303.  }
  6304.  last_7842 = self->next_8;
  6305.  while (1) {
  6306.   local0 = last_7842;
  6307.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6308.    goto after_loop;
  6309.   }
  6310.   local1 = last_7842;
  6311.   last_7842 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6312.  }
  6313.  after_loop: ;
  6314.  local2 = last_7842;
  6315.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6316. }
  6317.  
  6318.  
  6319. void TR_INT_LIT_EXPR__7844(TR_INT_LIT_EXPR self, TR_EXPR l) {
  6320.  TR_EXPR last_7845;
  6321.  TR_EXPR local0;
  6322.  TR_EXPR local1;
  6323.  TR_EXPR local2;
  6324.  if (!((!((self==((TR_INT_LIT_EXPR) NULL)))))) {
  6325.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6326.   exit(16);
  6327.  }
  6328.  if ((self->next_8==((TR_EXPR) NULL))) {
  6329.   self->next_8 = l;
  6330.   return;
  6331.  }
  6332.  last_7845 = self->next_8;
  6333.  while (1) {
  6334.   local0 = last_7845;
  6335.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6336.    goto after_loop;
  6337.   }
  6338.   local1 = last_7845;
  6339.   last_7845 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6340.  }
  6341.  after_loop: ;
  6342.  local2 = last_7845;
  6343.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6344. }
  6345.  
  6346.  
  6347. void TR_UNDERSCORE_AR_7847(TR_UNDERSCORE_ARG self, TR_EXPR l) {
  6348.  TR_EXPR last_7848;
  6349.  TR_EXPR local0;
  6350.  TR_EXPR local1;
  6351.  TR_EXPR local2;
  6352.  if (!((!((self==((TR_UNDERSCORE_ARG) NULL)))))) {
  6353.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6354.   exit(16);
  6355.  }
  6356.  if ((self->next_8==((TR_EXPR) NULL))) {
  6357.   self->next_8 = l;
  6358.   return;
  6359.  }
  6360.  last_7848 = self->next_8;
  6361.  while (1) {
  6362.   local0 = last_7848;
  6363.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6364.    goto after_loop;
  6365.   }
  6366.   local1 = last_7848;
  6367.   last_7848 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6368.  }
  6369.  after_loop: ;
  6370.  local2 = last_7848;
  6371.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6372. }
  6373.  
  6374.  
  6375. void TR_CALL_EXPR_app(TR_CALL_EXPR self, TR_EXPR l) {
  6376.  TR_EXPR last_7850;
  6377.  TR_EXPR local0;
  6378.  TR_EXPR local1;
  6379.  TR_EXPR local2;
  6380.  if (!((!((self==((TR_CALL_EXPR) NULL)))))) {
  6381.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6382.   exit(16);
  6383.  }
  6384.  if ((self->next_8==((TR_EXPR) NULL))) {
  6385.   self->next_8 = l;
  6386.   return;
  6387.  }
  6388.  last_7850 = self->next_8;
  6389.  while (1) {
  6390.   local0 = last_7850;
  6391.   if (((*TR_EXPR_next_TR_EXPR[local0->header.tag+TR_EXPR_next_TR_EXPR_offset])(local0)==((TR_EXPR) NULL))) {
  6392.    goto after_loop;
  6393.   }
  6394.   local1 = last_7850;
  6395.   last_7850 = (*TR_EXPR_next_TR_EXPR[local1->header.tag+TR_EXPR_next_TR_EXPR_offset])(local1);
  6396.  }
  6397.  after_loop: ;
  6398.  local2 = last_7850;
  6399.  (*TR_EXPR_next_TR__6058[local2->header.tag+TR_EXPR_next_TR__6058_offset])(local2, l);
  6400. }
  6401.  
  6402.  
  6403. void TR_ROUT_DEF_appe(TR_ROUT_DEF self, TR_CLASS_ELT l) {
  6404.  TR_CLASS_ELT last_7852;
  6405.  TR_CLASS_ELT local0;
  6406.  TR_CLASS_ELT local1;
  6407.  TR_CLASS_ELT local2;
  6408.  if (!((!((self==((TR_ROUT_DEF) NULL)))))) {
  6409.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6410.   exit(16);
  6411.  }
  6412.  if ((self->next_8==((TR_CLASS_ELT) NULL))) {
  6413.   self->next_8 = l;
  6414.   return;
  6415.  }
  6416.  last_7852 = self->next_8;
  6417.  while (1) {
  6418.   local0 = last_7852;
  6419.   if (((*TR_CLASS_ELT_nex[local0->header.tag+TR_CLASS_ELT_nex_offset])(local0)==((TR_CLASS_ELT) NULL))) {
  6420.    goto after_loop;
  6421.   }
  6422.   local1 = last_7852;
  6423.   last_7852 = (*TR_CLASS_ELT_nex[local1->header.tag+TR_CLASS_ELT_nex_offset])(local1);
  6424.  }
  6425.  after_loop: ;
  6426.  local2 = last_7852;
  6427.  (*TR_CLASS_ELT_nex_7854[local2->header.tag+TR_CLASS_ELT_nex_7854_offset])(local2, l);
  6428. }
  6429.  
  6430.  
  6431. void TR_ATTR_DEF_appe(TR_ATTR_DEF self, TR_CLASS_ELT l) {
  6432.  TR_CLASS_ELT last_7855;
  6433.  TR_CLASS_ELT local0;
  6434.  TR_CLASS_ELT local1;
  6435.  TR_CLASS_ELT local2;
  6436.  if (!((!((self==((TR_ATTR_DEF) NULL)))))) {
  6437.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6438.   exit(16);
  6439.  }
  6440.  if ((self->next_8==((TR_CLASS_ELT) NULL))) {
  6441.   self->next_8 = l;
  6442.   return;
  6443.  }
  6444.  last_7855 = self->next_8;
  6445.  while (1) {
  6446.   local0 = last_7855;
  6447.   if (((*TR_CLASS_ELT_nex[local0->header.tag+TR_CLASS_ELT_nex_offset])(local0)==((TR_CLASS_ELT) NULL))) {
  6448.    goto after_loop;
  6449.   }
  6450.   local1 = last_7855;
  6451.   last_7855 = (*TR_CLASS_ELT_nex[local1->header.tag+TR_CLASS_ELT_nex_offset])(local1);
  6452.  }
  6453.  after_loop: ;
  6454.  local2 = last_7855;
  6455.  (*TR_CLASS_ELT_nex_7854[local2->header.tag+TR_CLASS_ELT_nex_7854_offset])(local2, l);
  6456. }
  6457.  
  6458.  
  6459. void TR_SHARED_DEF_ap(TR_SHARED_DEF self, TR_CLASS_ELT l) {
  6460.  TR_CLASS_ELT last_7857;
  6461.  TR_CLASS_ELT local0;
  6462.  TR_CLASS_ELT local1;
  6463.  TR_CLASS_ELT local2;
  6464.  if (!((!((self==((TR_SHARED_DEF) NULL)))))) {
  6465.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6466.   exit(16);
  6467.  }
  6468.  if ((self->next_8==((TR_CLASS_ELT) NULL))) {
  6469.   self->next_8 = l;
  6470.   return;
  6471.  }
  6472.  last_7857 = self->next_8;
  6473.  while (1) {
  6474.   local0 = last_7857;
  6475.   if (((*TR_CLASS_ELT_nex[local0->header.tag+TR_CLASS_ELT_nex_offset])(local0)==((TR_CLASS_ELT) NULL))) {
  6476.    goto after_loop;
  6477.   }
  6478.   local1 = last_7857;
  6479.   last_7857 = (*TR_CLASS_ELT_nex[local1->header.tag+TR_CLASS_ELT_nex_offset])(local1);
  6480.  }
  6481.  after_loop: ;
  6482.  local2 = last_7857;
  6483.  (*TR_CLASS_ELT_nex_7854[local2->header.tag+TR_CLASS_ELT_nex_7854_offset])(local2, l);
  6484. }
  6485.  
  6486.  
  6487. void TR_CONST_DEF_app(TR_CONST_DEF self, TR_CLASS_ELT l) {
  6488.  TR_CLASS_ELT last_7859;
  6489.  TR_CLASS_ELT local0;
  6490.  TR_CLASS_ELT local1;
  6491.  TR_CLASS_ELT local2;
  6492.  if (!((!((self==((TR_CONST_DEF) NULL)))))) {
  6493.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6494.   exit(16);
  6495.  }
  6496.  if ((self->next_8==((TR_CLASS_ELT) NULL))) {
  6497.   self->next_8 = l;
  6498.   return;
  6499.  }
  6500.  last_7859 = self->next_8;
  6501.  while (1) {
  6502.   local0 = last_7859;
  6503.   if (((*TR_CLASS_ELT_nex[local0->header.tag+TR_CLASS_ELT_nex_offset])(local0)==((TR_CLASS_ELT) NULL))) {
  6504.    goto after_loop;
  6505.   }
  6506.   local1 = last_7859;
  6507.   last_7859 = (*TR_CLASS_ELT_nex[local1->header.tag+TR_CLASS_ELT_nex_offset])(local1);
  6508.  }
  6509.  after_loop: ;
  6510.  local2 = last_7859;
  6511.  (*TR_CLASS_ELT_nex_7854[local2->header.tag+TR_CLASS_ELT_nex_7854_offset])(local2, l);
  6512. }
  6513.  
  6514.  
  6515. void TR_INCLUDE_CLAUS_7861(TR_INCLUDE_CLAUSE self, TR_CLASS_ELT l) {
  6516.  TR_CLASS_ELT last_7862;
  6517.  TR_CLASS_ELT local0;
  6518.  TR_CLASS_ELT local1;
  6519.  TR_CLASS_ELT local2;
  6520.  if (!((!((self==((TR_INCLUDE_CLAUSE) NULL)))))) {
  6521.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6522.   exit(16);
  6523.  }
  6524.  if ((self->next_8==((TR_CLASS_ELT) NULL))) {
  6525.   self->next_8 = l;
  6526.   return;
  6527.  }
  6528.  last_7862 = self->next_8;
  6529.  while (1) {
  6530.   local0 = last_7862;
  6531.   if (((*TR_CLASS_ELT_nex[local0->header.tag+TR_CLASS_ELT_nex_offset])(local0)==((TR_CLASS_ELT) NULL))) {
  6532.    goto after_loop;
  6533.   }
  6534.   local1 = last_7862;
  6535.   last_7862 = (*TR_CLASS_ELT_nex[local1->header.tag+TR_CLASS_ELT_nex_offset])(local1);
  6536.  }
  6537.  after_loop: ;
  6538.  local2 = last_7862;
  6539.  (*TR_CLASS_ELT_nex_7854[local2->header.tag+TR_CLASS_ELT_nex_7854_offset])(local2, l);
  6540. }
  6541.  
  6542.  
  6543. void TR_CLASS_ELT_app_7864(TR_CLASS_ELT_45 self, TR_CLASS_ELT l) {
  6544.  TR_CLASS_ELT last_7865;
  6545.  TR_CLASS_ELT local0;
  6546.  TR_CLASS_ELT local1;
  6547.  TR_CLASS_ELT local2;
  6548.  if (!((!((self==((TR_CLASS_ELT_45) NULL)))))) {
  6549.   fprintf(stderr,"Violation of precondition ../Library/next.sa:50:9\n");
  6550.   exit(16);
  6551.  }
  6552.  if ((self->next_8==((TR_CLASS_ELT) NULL))) {
  6553.   self->next_8 = l;
  6554.   return;
  6555.  }
  6556.  last_7865 = self->next_8;
  6557.  while (1) {
  6558.   local0 = last_7865;
  6559.   if (((*TR_CLASS_ELT_nex[local0->header.tag+TR_CLASS_ELT_nex_offset])(local0)==((TR_CLASS_ELT) NULL))) {
  6560.    goto after_loop;
  6561.   }
  6562.   local1 = last_7865;
  6563.   last_7865 = (*TR_CLASS_ELT_nex[local1->header.tag+TR_CLASS_ELT_nex_offset])(local1);
  6564.  }
  6565.  after_loop: ;
  6566.  local2 = last_7865;
  6567.  (*TR_CLASS_ELT_nex_7854[local2->header.tag+TR_CLASS_ELT_nex_7854_offset])(local2, l);
  6568. }
  6569.  
  6570.  
  6571. void FLISTINT_aset_INT(FLISTINT_aset_INT_frame frame) {
  6572.  INT local0;
  6573.  INT local1;
  6574.  switch (frame->state) {
  6575.   case 0: goto state0;
  6576.   case 1: goto state1;
  6577.   }
  6578.  state0:;
  6579.  if (!((!((frame->arg0==((FLISTINT) NULL)))))) {
  6580.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  6581.   exit(16);
  6582.  }
  6583.  {
  6584.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  6585.   frame->nested1->state = 0;
  6586.   while (1) {
  6587.    if (frame->nested1->state == 0) {
  6588.     frame->noname7867 = (frame->arg0->asize);
  6589.     frame->nested1->arg0 = frame->noname7867;
  6590.    }
  6591.    local0 = INT_times_INT(frame->nested1);
  6592.    if (frame->nested1->state == -1) goto after_loop;
  6593.    local1 = local0;
  6594.    FLISTINT_aset_IN(frame->arg0, local1, frame->arg1);
  6595.    frame->state = 1;
  6596.    return;
  6597.    state1:;
  6598.   }
  6599.  }
  6600.  after_loop: ;
  6601.  GC_free(frame->nested1); frame->nested1 = NULL;
  6602.  frame->state = -1;
  6603.  return;
  6604. }
  6605.  
  6606.  
  6607. INT FLISTINT_elt_INT(FLISTINT_elt_INT_frame frame) {
  6608.  INT dummy;
  6609.  INT local0;
  6610.  switch (frame->state) {
  6611.   case 0: goto state0;
  6612.   case 1: goto state1;
  6613.   }
  6614.  state0:;
  6615.  if ((!((frame->arg0==((FLISTINT) NULL))))) {
  6616.   {
  6617.    frame->nested1 = ALLOCATE(FLISTINT_aelt_IN_frame);
  6618.    frame->nested1->state = 0;
  6619.    while (1) {
  6620.     frame->state = 1;
  6621.     if (frame->nested1->state == 0) {
  6622.      frame->noname7870 = frame->arg0;
  6623.      frame->noname7871 = 0;
  6624.      frame->noname7872 = frame->arg0->loc_17;
  6625.      frame->nested1->arg0 = frame->noname7870;
  6626.      frame->nested1->arg1 = frame->noname7871;
  6627.      frame->nested1->arg2 = frame->noname7872;
  6628.     }
  6629.     local0 = FLISTINT_aelt_IN(frame->nested1);
  6630.     if (frame->nested1->state == -1) goto after_loop;
  6631.     return local0;
  6632.     state1:;
  6633.    }
  6634.   }
  6635.   after_loop: ;
  6636.   GC_free(frame->nested1); frame->nested1 = NULL;
  6637.  }
  6638.  if (!FLISTINT_invaria(frame->arg0)) {
  6639.   fprintf(stderr,"Failed invariant FLIST{INT}::invariant:BOOL ../Library/flist.sa:127:6\n");
  6640.   exit(16);
  6641.  }
  6642.  frame->state = -1;
  6643.  return dummy;
  6644. }
  6645.  
  6646.  
  6647. INT FLISTINT_aelt_IN(FLISTINT_aelt_IN_frame frame) {
  6648.  INT dummy;
  6649.  BOOL local0;
  6650.  BOOL local1;
  6651.  INT local2;
  6652.  INT local3;
  6653.  INT local4;
  6654.  INT local5;
  6655.  INT local6;
  6656.  INT local7;
  6657.  switch (frame->state) {
  6658.   case 0: goto state0;
  6659.   case 1: goto state1;
  6660.   }
  6661.  state0:;
  6662.  if ((!((frame->arg0==((FLISTINT) NULL))))) {
  6663.   local2 = 0;
  6664.   local3 = (frame->arg0->asize);
  6665.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  6666.  } else {
  6667.   local1 = FALSE;
  6668.  }
  6669.  if (local1) {
  6670.   local4 = 0;
  6671.   local5 = (frame->arg0->asize);
  6672.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  6673.  } else {
  6674.   local0 = FALSE;
  6675.  }
  6676.  if (!(local0)) {
  6677.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  6678.   exit(16);
  6679.  }
  6680.  {
  6681.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  6682.   frame->nested1->state = 0;
  6683.   while (1) {
  6684.    frame->state = 1;
  6685.    if (frame->nested1->state == 0) {
  6686.     frame->noname7875 = frame->arg1;
  6687.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  6688.     frame->noname7876 = (c_INT_minus_INT_INT_chk(local7,1));
  6689.     frame->nested1->arg0 = frame->noname7875;
  6690.     frame->nested1->arg1 = frame->noname7876;
  6691.    }
  6692.    local6 = INT_upto_INT_INT(frame->nested1);
  6693.    if (frame->nested1->state == -1) goto after_loop;
  6694.    return FLISTINT_aget_IN(frame->arg0, local6);
  6695.    state1:;
  6696.   }
  6697.  }
  6698.  after_loop: ;
  6699.  GC_free(frame->nested1); frame->nested1 = NULL;
  6700.  frame->state = -1;
  6701.  return dummy;
  6702. }
  6703.  
  6704.  
  6705. void FMAPOBSTR_aset_T(FMAPOBSTR_aset_T_frame frame) {
  6706.  INT local0;
  6707.  INT local1;
  6708.  switch (frame->state) {
  6709.   case 0: goto state0;
  6710.   case 1: goto state1;
  6711.   }
  6712.  state0:;
  6713.  if (!((!((frame->arg0==((FMAPOBSTR) NULL)))))) {
  6714.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  6715.   exit(16);
  6716.  }
  6717.  {
  6718.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  6719.   frame->nested1->state = 0;
  6720.   while (1) {
  6721.    if (frame->nested1->state == 0) {
  6722.     frame->noname7878 = (frame->arg0->asize);
  6723.     frame->nested1->arg0 = frame->noname7878;
  6724.    }
  6725.    local0 = INT_times_INT(frame->nested1);
  6726.    if (frame->nested1->state == -1) goto after_loop;
  6727.    local1 = local0;
  6728.    FMAPOBSTR_aset_I(frame->arg0, local1, frame->arg1);
  6729.    frame->state = 1;
  6730.    return;
  6731.    state1:;
  6732.   }
  6733.  }
  6734.  after_loop: ;
  6735.  GC_free(frame->nested1); frame->nested1 = NULL;
  6736.  frame->state = -1;
  6737.  return;
  6738. }
  6739.  
  6740.  
  6741. INT TUPBOOLINTIINTBO_7880(TUPBOOLINTIINTBOOL self) {
  6742.  INT noname7881 = ((INT) 0);
  6743.  INT h1 = ((INT) 0);
  6744.  INT h2 = ((INT) 0);
  6745.  INT h3 = ((INT) 0);
  6746.  INT h4 = ((INT) 0);
  6747.  BOOL lt1 = ((BOOL) 0);
  6748.  INTI lt2;
  6749.  INT lt3 = ((INT) 0);
  6750.  BOOL lt4 = ((BOOL) 0);
  6751.  OB local0;
  6752.  OB local1;
  6753.  INT local2;
  6754.  INT local3;
  6755.  lt1 = self.t1;
  6756.  lt2 = self.t2;
  6757.  lt3 = self.t3;
  6758.  lt4 = self.t4;
  6759.  local0 = (OB)((BOOL_boxed) sbi_alloc_atomic(sizeof(struct BOOL_boxed_struct), BOOL_tag));
  6760.  ((BOOL_boxed) local0)->value_part = lt1;
  6761.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),local0));
  6762.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  6763.  h3 = INT_hash_INT(lt3);
  6764.  local1 = (OB)((BOOL_boxed) sbi_alloc_atomic(sizeof(struct BOOL_boxed_struct), BOOL_tag));
  6765.  ((BOOL_boxed) local1)->value_part = lt4;
  6766.  h4 = (c_SYS_id_OB_INT(((SYS) NULL),local1));
  6767.  local2 = (h1^(h2<<2));
  6768.  local3 = (local2^(h3<<4));
  6769.  return (local3^(h4<<6));
  6770. }
  6771.  
  6772.  
  6773. INT TUPAM_EXPRTP_has(TUPAM_EXPRTP self) {
  6774.  INT noname7882 = ((INT) 0);
  6775.  INT h1 = ((INT) 0);
  6776.  INT h2 = ((INT) 0);
  6777.  AM_EXPR lt1;
  6778.  TP lt2;
  6779.  HASH local0;
  6780.  HASH local1;
  6781.  lt1 = self.t1;
  6782.  lt2 = self.t2;
  6783.  if (lt1==NULL) {
  6784.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  6785.  } else
  6786.  switch (lt1->header.tag) {
  6787.   case TUPIMPL_INCLUDEI_tag:
  6788.   case TUPAM_BND_CREATE_tag:
  6789.   case TUPIFCIFC_tag:
  6790.   case TUPSTRITER_INLINE_tag:
  6791.   case TUPAM_GLOBAL_EXP_tag:
  6792.   case FSTR_tag:
  6793.   case TUPSIGSIG_tag:
  6794.   case CHAR_tag:
  6795.   case INT_tag:
  6796.   case TUPTP_CLASSFSETTP_tag:
  6797.   case TUPSTRSTR_tag:
  6798.   case TUPINTINTINT_tag:
  6799.   case STR_tag:
  6800.   case TUPSFILE_IDSFILE_ID_tag:
  6801.   case TUPAM_ITER_CALL__tag:
  6802.   case TUPTR_EXPRTR_EXPR_tag:
  6803.   case TUPTPFMAPIDENTAM_tag:
  6804.   case TUPARRAYTPTP_tag:
  6805.   case TUPAM_CONSTAM_CONST_tag:
  6806.   case TUPSTRTUPSTRSTR_tag:
  6807.   case TUPTPIMPL_tag:
  6808.   case TUPSIGAM_ROUT_DEF_tag:
  6809.   case TUPARRAYTPARRAYB_tag:
  6810.   case TUPIDENTAM_GLOBA_tag:
  6811.   case TUPAM_BND_ITER_C_tag:
  6812.   case TUPAM_LOCAL_EXPR_tag:
  6813.   case TUPSTRFSETSTR_tag:
  6814.   case TUPAM_ROUT_DEFAM_tag:
  6815.   case TUPTPTP_tag:
  6816.   case IDENT_tag:
  6817.   case TUPTPINT_tag:
  6818.   case TUPIDENTINT_tag:
  6819.   case TUPIDENTIDENT_tag:
  6820.   case TUPTP_CLASSFSETT_tag:
  6821.   case TUPCHARCHAR_tag:
  6822.   case TUPIDENTTP_tag:
  6823.   case TUPIDENTARRAYTP_tag:
  6824.   case TUPAM_EXPRAM_EXPR_tag:
  6825.   case TUPTPIFC_tag:
  6826.   case TUPTP_CLASSTP_CLASS_tag:
  6827.   case TUPAM_STMTAM_STMT_tag:
  6828.   case TUPINTINT_tag:
  6829.   case TUPOBSTR_tag:
  6830.   case TUPFLISTAM_CONST_tag:
  6831.   case TUPAM_EXPRTP_tag:
  6832.   case TUPBOOLINTIINTBOOL_tag:
  6833.    local0 = ((HASH) lt1);
  6834.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  6835.   default: ;
  6836.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  6837.  }
  6838.  if (lt2==NULL) {
  6839.   h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  6840.  } else
  6841.  switch (lt2->header.tag) {
  6842.   case TUPIMPL_INCLUDEI_tag:
  6843.   case TUPAM_BND_CREATE_tag:
  6844.   case TUPIFCIFC_tag:
  6845.   case TUPSTRITER_INLINE_tag:
  6846.   case TUPAM_GLOBAL_EXP_tag:
  6847.   case FSTR_tag:
  6848.   case TUPSIGSIG_tag:
  6849.   case CHAR_tag:
  6850.   case INT_tag:
  6851.   case TUPTP_CLASSFSETTP_tag:
  6852.   case TUPSTRSTR_tag:
  6853.   case TUPINTINTINT_tag:
  6854.   case STR_tag:
  6855.   case TUPSFILE_IDSFILE_ID_tag:
  6856.   case TUPAM_ITER_CALL__tag:
  6857.   case TUPTR_EXPRTR_EXPR_tag:
  6858.   case TUPTPFMAPIDENTAM_tag:
  6859.   case TUPARRAYTPTP_tag:
  6860.   case TUPAM_CONSTAM_CONST_tag:
  6861.   case TUPSTRTUPSTRSTR_tag:
  6862.   case TUPTPIMPL_tag:
  6863.   case TUPSIGAM_ROUT_DEF_tag:
  6864.   case TUPARRAYTPARRAYB_tag:
  6865.   case TUPIDENTAM_GLOBA_tag:
  6866.   case TUPAM_BND_ITER_C_tag:
  6867.   case TUPAM_LOCAL_EXPR_tag:
  6868.   case TUPSTRFSETSTR_tag:
  6869.   case TUPAM_ROUT_DEFAM_tag:
  6870.   case TUPTPTP_tag:
  6871.   case IDENT_tag:
  6872.   case TUPTPINT_tag:
  6873.   case TUPIDENTINT_tag:
  6874.   case TUPIDENTIDENT_tag:
  6875.   case TUPTP_CLASSFSETT_tag:
  6876.   case TUPCHARCHAR_tag:
  6877.   case TUPIDENTTP_tag:
  6878.   case TUPIDENTARRAYTP_tag:
  6879.   case TUPAM_EXPRAM_EXPR_tag:
  6880.   case TUPTPIFC_tag:
  6881.   case TUPTP_CLASSTP_CLASS_tag:
  6882.   case TUPAM_STMTAM_STMT_tag:
  6883.   case TUPINTINT_tag:
  6884.   case TUPOBSTR_tag:
  6885.   case TUPFLISTAM_CONST_tag:
  6886.   case TUPAM_EXPRTP_tag:
  6887.   case TUPBOOLINTIINTBOOL_tag:
  6888.    local1 = ((HASH) lt2);
  6889.    h2 = (*HASH_hash_INT[local1->header.tag+HASH_hash_INT_offset])(local1); break;
  6890.   default: ;
  6891.    h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  6892.  }
  6893.  return (h1^(h2<<2));
  6894. }
  6895.  
  6896.  
  6897. INT TUPFLISTAM_CONST_7883(TUPFLISTAM_CONST self) {
  6898.  INT noname7884 = ((INT) 0);
  6899.  INT h1 = ((INT) 0);
  6900.  INT h2 = ((INT) 0);
  6901.  FLISTAM_CONST lt1;
  6902.  FLISTAM_CONST lt2;
  6903.  lt1 = self.t1;
  6904.  lt2 = self.t2;
  6905.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  6906.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  6907.  return (h1^(h2<<2));
  6908. }
  6909.  
  6910.  
  6911. INT TUPOBSTR_hash_INT(TUPOBSTR self) {
  6912.  INT noname7885 = ((INT) 0);
  6913.  INT h1 = ((INT) 0);
  6914.  INT h2 = ((INT) 0);
  6915.  OB lt1;
  6916.  STR lt2;
  6917.  HASH local0;
  6918.  lt1 = self.t1;
  6919.  lt2 = self.t2;
  6920.  if (lt1==NULL) {
  6921.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),lt1));
  6922.  } else
  6923.  switch (lt1->header.tag) {
  6924.   case TUPIMPL_INCLUDEI_tag:
  6925.   case TUPAM_BND_CREATE_tag:
  6926.   case TUPIFCIFC_tag:
  6927.   case TUPSTRITER_INLINE_tag:
  6928.   case TUPAM_GLOBAL_EXP_tag:
  6929.   case FSTR_tag:
  6930.   case TUPSIGSIG_tag:
  6931.   case CHAR_tag:
  6932.   case INT_tag:
  6933.   case TUPTP_CLASSFSETTP_tag:
  6934.   case TUPSTRSTR_tag:
  6935.   case TUPINTINTINT_tag:
  6936.   case STR_tag:
  6937.   case TUPSFILE_IDSFILE_ID_tag:
  6938.   case TUPAM_ITER_CALL__tag:
  6939.   case TUPTR_EXPRTR_EXPR_tag:
  6940.   case TUPTPFMAPIDENTAM_tag:
  6941.   case TUPARRAYTPTP_tag:
  6942.   case TUPAM_CONSTAM_CONST_tag:
  6943.   case TUPSTRTUPSTRSTR_tag:
  6944.   case TUPTPIMPL_tag:
  6945.   case TUPSIGAM_ROUT_DEF_tag:
  6946.   case TUPARRAYTPARRAYB_tag:
  6947.   case TUPIDENTAM_GLOBA_tag:
  6948.   case TUPAM_BND_ITER_C_tag:
  6949.   case TUPAM_LOCAL_EXPR_tag:
  6950.   case TUPSTRFSETSTR_tag:
  6951.   case TUPAM_ROUT_DEFAM_tag:
  6952.   case TUPTPTP_tag:
  6953.   case IDENT_tag:
  6954.   case TUPTPINT_tag:
  6955.   case TUPIDENTINT_tag:
  6956.   case TUPIDENTIDENT_tag:
  6957.   case TUPTP_CLASSFSETT_tag:
  6958.   case TUPCHARCHAR_tag:
  6959.   case TUPIDENTTP_tag:
  6960.   case TUPIDENTARRAYTP_tag:
  6961.   case TUPAM_EXPRAM_EXPR_tag:
  6962.   case TUPTPIFC_tag:
  6963.   case TUPTP_CLASSTP_CLASS_tag:
  6964.   case TUPAM_STMTAM_STMT_tag:
  6965.   case TUPINTINT_tag:
  6966.   case TUPOBSTR_tag:
  6967.   case TUPFLISTAM_CONST_tag:
  6968.   case TUPAM_EXPRTP_tag:
  6969.   case TUPBOOLINTIINTBOOL_tag:
  6970.    local0 = ((HASH) lt1);
  6971.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  6972.   default: ;
  6973.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),lt1));
  6974.  }
  6975.  h2 = STR_hash_INT(lt2);
  6976.  return (h1^(h2<<2));
  6977. }
  6978.  
  6979.  
  6980. INT TUPINTINT_hash_INT(TUPINTINT self) {
  6981.  INT noname7886 = ((INT) 0);
  6982.  INT h1 = ((INT) 0);
  6983.  INT h2 = ((INT) 0);
  6984.  INT lt1 = ((INT) 0);
  6985.  INT lt2 = ((INT) 0);
  6986.  lt1 = self.t1;
  6987.  lt2 = self.t2;
  6988.  h1 = INT_hash_INT(lt1);
  6989.  h2 = INT_hash_INT(lt2);
  6990.  return (h1^(h2<<2));
  6991. }
  6992.  
  6993.  
  6994. INT TUPAM_STMTAM_STM(TUPAM_STMTAM_STMT self) {
  6995.  INT noname7887 = ((INT) 0);
  6996.  INT h1 = ((INT) 0);
  6997.  INT h2 = ((INT) 0);
  6998.  AM_STMT lt1;
  6999.  AM_STMT lt2;
  7000.  HASH local0;
  7001.  HASH local1;
  7002.  lt1 = self.t1;
  7003.  lt2 = self.t2;
  7004.  if (lt1==NULL) {
  7005.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7006.  } else
  7007.  switch (lt1->header.tag) {
  7008.   case TUPIMPL_INCLUDEI_tag:
  7009.   case TUPAM_BND_CREATE_tag:
  7010.   case TUPIFCIFC_tag:
  7011.   case TUPSTRITER_INLINE_tag:
  7012.   case TUPAM_GLOBAL_EXP_tag:
  7013.   case FSTR_tag:
  7014.   case TUPSIGSIG_tag:
  7015.   case CHAR_tag:
  7016.   case INT_tag:
  7017.   case TUPTP_CLASSFSETTP_tag:
  7018.   case TUPSTRSTR_tag:
  7019.   case TUPINTINTINT_tag:
  7020.   case STR_tag:
  7021.   case TUPSFILE_IDSFILE_ID_tag:
  7022.   case TUPAM_ITER_CALL__tag:
  7023.   case TUPTR_EXPRTR_EXPR_tag:
  7024.   case TUPTPFMAPIDENTAM_tag:
  7025.   case TUPARRAYTPTP_tag:
  7026.   case TUPAM_CONSTAM_CONST_tag:
  7027.   case TUPSTRTUPSTRSTR_tag:
  7028.   case TUPTPIMPL_tag:
  7029.   case TUPSIGAM_ROUT_DEF_tag:
  7030.   case TUPARRAYTPARRAYB_tag:
  7031.   case TUPIDENTAM_GLOBA_tag:
  7032.   case TUPAM_BND_ITER_C_tag:
  7033.   case TUPAM_LOCAL_EXPR_tag:
  7034.   case TUPSTRFSETSTR_tag:
  7035.   case TUPAM_ROUT_DEFAM_tag:
  7036.   case TUPTPTP_tag:
  7037.   case IDENT_tag:
  7038.   case TUPTPINT_tag:
  7039.   case TUPIDENTINT_tag:
  7040.   case TUPIDENTIDENT_tag:
  7041.   case TUPTP_CLASSFSETT_tag:
  7042.   case TUPCHARCHAR_tag:
  7043.   case TUPIDENTTP_tag:
  7044.   case TUPIDENTARRAYTP_tag:
  7045.   case TUPAM_EXPRAM_EXPR_tag:
  7046.   case TUPTPIFC_tag:
  7047.   case TUPTP_CLASSTP_CLASS_tag:
  7048.   case TUPAM_STMTAM_STMT_tag:
  7049.   case TUPINTINT_tag:
  7050.   case TUPOBSTR_tag:
  7051.   case TUPFLISTAM_CONST_tag:
  7052.   case TUPAM_EXPRTP_tag:
  7053.   case TUPBOOLINTIINTBOOL_tag:
  7054.    local0 = ((HASH) lt1);
  7055.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  7056.   default: ;
  7057.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7058.  }
  7059.  if (lt2==NULL) {
  7060.   h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7061.  } else
  7062.  switch (lt2->header.tag) {
  7063.   case TUPIMPL_INCLUDEI_tag:
  7064.   case TUPAM_BND_CREATE_tag:
  7065.   case TUPIFCIFC_tag:
  7066.   case TUPSTRITER_INLINE_tag:
  7067.   case TUPAM_GLOBAL_EXP_tag:
  7068.   case FSTR_tag:
  7069.   case TUPSIGSIG_tag:
  7070.   case CHAR_tag:
  7071.   case INT_tag:
  7072.   case TUPTP_CLASSFSETTP_tag:
  7073.   case TUPSTRSTR_tag:
  7074.   case TUPINTINTINT_tag:
  7075.   case STR_tag:
  7076.   case TUPSFILE_IDSFILE_ID_tag:
  7077.   case TUPAM_ITER_CALL__tag:
  7078.   case TUPTR_EXPRTR_EXPR_tag:
  7079.   case TUPTPFMAPIDENTAM_tag:
  7080.   case TUPARRAYTPTP_tag:
  7081.   case TUPAM_CONSTAM_CONST_tag:
  7082.   case TUPSTRTUPSTRSTR_tag:
  7083.   case TUPTPIMPL_tag:
  7084.   case TUPSIGAM_ROUT_DEF_tag:
  7085.   case TUPARRAYTPARRAYB_tag:
  7086.   case TUPIDENTAM_GLOBA_tag:
  7087.   case TUPAM_BND_ITER_C_tag:
  7088.   case TUPAM_LOCAL_EXPR_tag:
  7089.   case TUPSTRFSETSTR_tag:
  7090.   case TUPAM_ROUT_DEFAM_tag:
  7091.   case TUPTPTP_tag:
  7092.   case IDENT_tag:
  7093.   case TUPTPINT_tag:
  7094.   case TUPIDENTINT_tag:
  7095.   case TUPIDENTIDENT_tag:
  7096.   case TUPTP_CLASSFSETT_tag:
  7097.   case TUPCHARCHAR_tag:
  7098.   case TUPIDENTTP_tag:
  7099.   case TUPIDENTARRAYTP_tag:
  7100.   case TUPAM_EXPRAM_EXPR_tag:
  7101.   case TUPTPIFC_tag:
  7102.   case TUPTP_CLASSTP_CLASS_tag:
  7103.   case TUPAM_STMTAM_STMT_tag:
  7104.   case TUPINTINT_tag:
  7105.   case TUPOBSTR_tag:
  7106.   case TUPFLISTAM_CONST_tag:
  7107.   case TUPAM_EXPRTP_tag:
  7108.   case TUPBOOLINTIINTBOOL_tag:
  7109.    local1 = ((HASH) lt2);
  7110.    h2 = (*HASH_hash_INT[local1->header.tag+HASH_hash_INT_offset])(local1); break;
  7111.   default: ;
  7112.    h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7113.  }
  7114.  return (h1^(h2<<2));
  7115. }
  7116.  
  7117.  
  7118. INT TUPTP_CLASSTP_CL(TUPTP_CLASSTP_CLASS self) {
  7119.  INT noname7888 = ((INT) 0);
  7120.  INT h1 = ((INT) 0);
  7121.  INT h2 = ((INT) 0);
  7122.  TP_CLASS lt1;
  7123.  TP_CLASS lt2;
  7124.  lt1 = self.t1;
  7125.  lt2 = self.t2;
  7126.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7127.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7128.  return (h1^(h2<<2));
  7129. }
  7130.  
  7131.  
  7132. INT TUPTPIFC_hash_INT(TUPTPIFC self) {
  7133.  INT noname7889 = ((INT) 0);
  7134.  INT h1 = ((INT) 0);
  7135.  INT h2 = ((INT) 0);
  7136.  TP lt1;
  7137.  IFC lt2;
  7138.  HASH local0;
  7139.  lt1 = self.t1;
  7140.  lt2 = self.t2;
  7141.  if (lt1==NULL) {
  7142.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7143.  } else
  7144.  switch (lt1->header.tag) {
  7145.   case TUPIMPL_INCLUDEI_tag:
  7146.   case TUPAM_BND_CREATE_tag:
  7147.   case TUPIFCIFC_tag:
  7148.   case TUPSTRITER_INLINE_tag:
  7149.   case TUPAM_GLOBAL_EXP_tag:
  7150.   case FSTR_tag:
  7151.   case TUPSIGSIG_tag:
  7152.   case CHAR_tag:
  7153.   case INT_tag:
  7154.   case TUPTP_CLASSFSETTP_tag:
  7155.   case TUPSTRSTR_tag:
  7156.   case TUPINTINTINT_tag:
  7157.   case STR_tag:
  7158.   case TUPSFILE_IDSFILE_ID_tag:
  7159.   case TUPAM_ITER_CALL__tag:
  7160.   case TUPTR_EXPRTR_EXPR_tag:
  7161.   case TUPTPFMAPIDENTAM_tag:
  7162.   case TUPARRAYTPTP_tag:
  7163.   case TUPAM_CONSTAM_CONST_tag:
  7164.   case TUPSTRTUPSTRSTR_tag:
  7165.   case TUPTPIMPL_tag:
  7166.   case TUPSIGAM_ROUT_DEF_tag:
  7167.   case TUPARRAYTPARRAYB_tag:
  7168.   case TUPIDENTAM_GLOBA_tag:
  7169.   case TUPAM_BND_ITER_C_tag:
  7170.   case TUPAM_LOCAL_EXPR_tag:
  7171.   case TUPSTRFSETSTR_tag:
  7172.   case TUPAM_ROUT_DEFAM_tag:
  7173.   case TUPTPTP_tag:
  7174.   case IDENT_tag:
  7175.   case TUPTPINT_tag:
  7176.   case TUPIDENTINT_tag:
  7177.   case TUPIDENTIDENT_tag:
  7178.   case TUPTP_CLASSFSETT_tag:
  7179.   case TUPCHARCHAR_tag:
  7180.   case TUPIDENTTP_tag:
  7181.   case TUPIDENTARRAYTP_tag:
  7182.   case TUPAM_EXPRAM_EXPR_tag:
  7183.   case TUPTPIFC_tag:
  7184.   case TUPTP_CLASSTP_CLASS_tag:
  7185.   case TUPAM_STMTAM_STMT_tag:
  7186.   case TUPINTINT_tag:
  7187.   case TUPOBSTR_tag:
  7188.   case TUPFLISTAM_CONST_tag:
  7189.   case TUPAM_EXPRTP_tag:
  7190.   case TUPBOOLINTIINTBOOL_tag:
  7191.    local0 = ((HASH) lt1);
  7192.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  7193.   default: ;
  7194.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7195.  }
  7196.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7197.  return (h1^(h2<<2));
  7198. }
  7199.  
  7200.  
  7201. INT TUPAM_EXPRAM_EXP(TUPAM_EXPRAM_EXPR self) {
  7202.  INT noname7890 = ((INT) 0);
  7203.  INT h1 = ((INT) 0);
  7204.  INT h2 = ((INT) 0);
  7205.  AM_EXPR lt1;
  7206.  AM_EXPR lt2;
  7207.  HASH local0;
  7208.  HASH local1;
  7209.  lt1 = self.t1;
  7210.  lt2 = self.t2;
  7211.  if (lt1==NULL) {
  7212.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7213.  } else
  7214.  switch (lt1->header.tag) {
  7215.   case TUPIMPL_INCLUDEI_tag:
  7216.   case TUPAM_BND_CREATE_tag:
  7217.   case TUPIFCIFC_tag:
  7218.   case TUPSTRITER_INLINE_tag:
  7219.   case TUPAM_GLOBAL_EXP_tag:
  7220.   case FSTR_tag:
  7221.   case TUPSIGSIG_tag:
  7222.   case CHAR_tag:
  7223.   case INT_tag:
  7224.   case TUPTP_CLASSFSETTP_tag:
  7225.   case TUPSTRSTR_tag:
  7226.   case TUPINTINTINT_tag:
  7227.   case STR_tag:
  7228.   case TUPSFILE_IDSFILE_ID_tag:
  7229.   case TUPAM_ITER_CALL__tag:
  7230.   case TUPTR_EXPRTR_EXPR_tag:
  7231.   case TUPTPFMAPIDENTAM_tag:
  7232.   case TUPARRAYTPTP_tag:
  7233.   case TUPAM_CONSTAM_CONST_tag:
  7234.   case TUPSTRTUPSTRSTR_tag:
  7235.   case TUPTPIMPL_tag:
  7236.   case TUPSIGAM_ROUT_DEF_tag:
  7237.   case TUPARRAYTPARRAYB_tag:
  7238.   case TUPIDENTAM_GLOBA_tag:
  7239.   case TUPAM_BND_ITER_C_tag:
  7240.   case TUPAM_LOCAL_EXPR_tag:
  7241.   case TUPSTRFSETSTR_tag:
  7242.   case TUPAM_ROUT_DEFAM_tag:
  7243.   case TUPTPTP_tag:
  7244.   case IDENT_tag:
  7245.   case TUPTPINT_tag:
  7246.   case TUPIDENTINT_tag:
  7247.   case TUPIDENTIDENT_tag:
  7248.   case TUPTP_CLASSFSETT_tag:
  7249.   case TUPCHARCHAR_tag:
  7250.   case TUPIDENTTP_tag:
  7251.   case TUPIDENTARRAYTP_tag:
  7252.   case TUPAM_EXPRAM_EXPR_tag:
  7253.   case TUPTPIFC_tag:
  7254.   case TUPTP_CLASSTP_CLASS_tag:
  7255.   case TUPAM_STMTAM_STMT_tag:
  7256.   case TUPINTINT_tag:
  7257.   case TUPOBSTR_tag:
  7258.   case TUPFLISTAM_CONST_tag:
  7259.   case TUPAM_EXPRTP_tag:
  7260.   case TUPBOOLINTIINTBOOL_tag:
  7261.    local0 = ((HASH) lt1);
  7262.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  7263.   default: ;
  7264.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7265.  }
  7266.  if (lt2==NULL) {
  7267.   h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7268.  } else
  7269.  switch (lt2->header.tag) {
  7270.   case TUPIMPL_INCLUDEI_tag:
  7271.   case TUPAM_BND_CREATE_tag:
  7272.   case TUPIFCIFC_tag:
  7273.   case TUPSTRITER_INLINE_tag:
  7274.   case TUPAM_GLOBAL_EXP_tag:
  7275.   case FSTR_tag:
  7276.   case TUPSIGSIG_tag:
  7277.   case CHAR_tag:
  7278.   case INT_tag:
  7279.   case TUPTP_CLASSFSETTP_tag:
  7280.   case TUPSTRSTR_tag:
  7281.   case TUPINTINTINT_tag:
  7282.   case STR_tag:
  7283.   case TUPSFILE_IDSFILE_ID_tag:
  7284.   case TUPAM_ITER_CALL__tag:
  7285.   case TUPTR_EXPRTR_EXPR_tag:
  7286.   case TUPTPFMAPIDENTAM_tag:
  7287.   case TUPARRAYTPTP_tag:
  7288.   case TUPAM_CONSTAM_CONST_tag:
  7289.   case TUPSTRTUPSTRSTR_tag:
  7290.   case TUPTPIMPL_tag:
  7291.   case TUPSIGAM_ROUT_DEF_tag:
  7292.   case TUPARRAYTPARRAYB_tag:
  7293.   case TUPIDENTAM_GLOBA_tag:
  7294.   case TUPAM_BND_ITER_C_tag:
  7295.   case TUPAM_LOCAL_EXPR_tag:
  7296.   case TUPSTRFSETSTR_tag:
  7297.   case TUPAM_ROUT_DEFAM_tag:
  7298.   case TUPTPTP_tag:
  7299.   case IDENT_tag:
  7300.   case TUPTPINT_tag:
  7301.   case TUPIDENTINT_tag:
  7302.   case TUPIDENTIDENT_tag:
  7303.   case TUPTP_CLASSFSETT_tag:
  7304.   case TUPCHARCHAR_tag:
  7305.   case TUPIDENTTP_tag:
  7306.   case TUPIDENTARRAYTP_tag:
  7307.   case TUPAM_EXPRAM_EXPR_tag:
  7308.   case TUPTPIFC_tag:
  7309.   case TUPTP_CLASSTP_CLASS_tag:
  7310.   case TUPAM_STMTAM_STMT_tag:
  7311.   case TUPINTINT_tag:
  7312.   case TUPOBSTR_tag:
  7313.   case TUPFLISTAM_CONST_tag:
  7314.   case TUPAM_EXPRTP_tag:
  7315.   case TUPBOOLINTIINTBOOL_tag:
  7316.    local1 = ((HASH) lt2);
  7317.    h2 = (*HASH_hash_INT[local1->header.tag+HASH_hash_INT_offset])(local1); break;
  7318.   default: ;
  7319.    h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7320.  }
  7321.  return (h1^(h2<<2));
  7322. }
  7323.  
  7324.  
  7325. INT TUPIDENTARRAYTP__7891(TUPIDENTARRAYTP self) {
  7326.  INT noname7892 = ((INT) 0);
  7327.  INT h1 = ((INT) 0);
  7328.  INT h2 = ((INT) 0);
  7329.  IDENT lt1 = IDENT_zero;
  7330.  ARRAYTP lt2;
  7331.  lt1 = self.t1;
  7332.  lt2 = self.t2;
  7333.  h1 = IDENT_hash_INT(lt1);
  7334.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7335.  return (h1^(h2<<2));
  7336. }
  7337.  
  7338.  
  7339. INT TUPIDENTTP_hash_INT(TUPIDENTTP self) {
  7340.  INT noname7893 = ((INT) 0);
  7341.  INT h1 = ((INT) 0);
  7342.  INT h2 = ((INT) 0);
  7343.  IDENT lt1 = IDENT_zero;
  7344.  TP lt2;
  7345.  HASH local0;
  7346.  lt1 = self.t1;
  7347.  lt2 = self.t2;
  7348.  h1 = IDENT_hash_INT(lt1);
  7349.  if (lt2==NULL) {
  7350.   h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7351.  } else
  7352.  switch (lt2->header.tag) {
  7353.   case TUPIMPL_INCLUDEI_tag:
  7354.   case TUPAM_BND_CREATE_tag:
  7355.   case TUPIFCIFC_tag:
  7356.   case TUPSTRITER_INLINE_tag:
  7357.   case TUPAM_GLOBAL_EXP_tag:
  7358.   case FSTR_tag:
  7359.   case TUPSIGSIG_tag:
  7360.   case CHAR_tag:
  7361.   case INT_tag:
  7362.   case TUPTP_CLASSFSETTP_tag:
  7363.   case TUPSTRSTR_tag:
  7364.   case TUPINTINTINT_tag:
  7365.   case STR_tag:
  7366.   case TUPSFILE_IDSFILE_ID_tag:
  7367.   case TUPAM_ITER_CALL__tag:
  7368.   case TUPTR_EXPRTR_EXPR_tag:
  7369.   case TUPTPFMAPIDENTAM_tag:
  7370.   case TUPARRAYTPTP_tag:
  7371.   case TUPAM_CONSTAM_CONST_tag:
  7372.   case TUPSTRTUPSTRSTR_tag:
  7373.   case TUPTPIMPL_tag:
  7374.   case TUPSIGAM_ROUT_DEF_tag:
  7375.   case TUPARRAYTPARRAYB_tag:
  7376.   case TUPIDENTAM_GLOBA_tag:
  7377.   case TUPAM_BND_ITER_C_tag:
  7378.   case TUPAM_LOCAL_EXPR_tag:
  7379.   case TUPSTRFSETSTR_tag:
  7380.   case TUPAM_ROUT_DEFAM_tag:
  7381.   case TUPTPTP_tag:
  7382.   case IDENT_tag:
  7383.   case TUPTPINT_tag:
  7384.   case TUPIDENTINT_tag:
  7385.   case TUPIDENTIDENT_tag:
  7386.   case TUPTP_CLASSFSETT_tag:
  7387.   case TUPCHARCHAR_tag:
  7388.   case TUPIDENTTP_tag:
  7389.   case TUPIDENTARRAYTP_tag:
  7390.   case TUPAM_EXPRAM_EXPR_tag:
  7391.   case TUPTPIFC_tag:
  7392.   case TUPTP_CLASSTP_CLASS_tag:
  7393.   case TUPAM_STMTAM_STMT_tag:
  7394.   case TUPINTINT_tag:
  7395.   case TUPOBSTR_tag:
  7396.   case TUPFLISTAM_CONST_tag:
  7397.   case TUPAM_EXPRTP_tag:
  7398.   case TUPBOOLINTIINTBOOL_tag:
  7399.    local0 = ((HASH) lt2);
  7400.    h2 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  7401.   default: ;
  7402.    h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7403.  }
  7404.  return (h1^(h2<<2));
  7405. }
  7406.  
  7407.  
  7408. INT CHAR_hash_INT(CHAR self) {
  7409.  INT noname7894 = ((INT) 0);
  7410.  return ((INT)self);
  7411. }
  7412.  
  7413.  
  7414. INT TUPCHARCHAR_hash_INT(TUPCHARCHAR self) {
  7415.  INT noname7895 = ((INT) 0);
  7416.  INT h1 = ((INT) 0);
  7417.  INT h2 = ((INT) 0);
  7418.  CHAR lt1 = ((CHAR) 0);
  7419.  CHAR lt2 = ((CHAR) 0);
  7420.  lt1 = self.t1;
  7421.  lt2 = self.t2;
  7422.  h1 = CHAR_hash_INT(lt1);
  7423.  h2 = CHAR_hash_INT(lt2);
  7424.  return (h1^(h2<<2));
  7425. }
  7426.  
  7427.  
  7428. INT TUPTP_CLASSFSETT_7896(TUPTP_CLASSFSETT self) {
  7429.  INT noname7897 = ((INT) 0);
  7430.  INT h1 = ((INT) 0);
  7431.  INT h2 = ((INT) 0);
  7432.  TP_CLASS lt1;
  7433.  FSETTP_CLASS lt2;
  7434.  lt1 = self.t1;
  7435.  lt2 = self.t2;
  7436.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7437.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7438.  return (h1^(h2<<2));
  7439. }
  7440.  
  7441.  
  7442. INT TUPIDENTIDENT_ha(TUPIDENTIDENT self) {
  7443.  INT noname7898 = ((INT) 0);
  7444.  INT h1 = ((INT) 0);
  7445.  INT h2 = ((INT) 0);
  7446.  IDENT lt1 = IDENT_zero;
  7447.  IDENT lt2 = IDENT_zero;
  7448.  lt1 = self.t1;
  7449.  lt2 = self.t2;
  7450.  h1 = IDENT_hash_INT(lt1);
  7451.  h2 = IDENT_hash_INT(lt2);
  7452.  return (h1^(h2<<2));
  7453. }
  7454.  
  7455.  
  7456. INT TUPTPINT_hash_INT(TUPTPINT self) {
  7457.  INT noname7899 = ((INT) 0);
  7458.  INT h1 = ((INT) 0);
  7459.  INT h2 = ((INT) 0);
  7460.  TP lt1;
  7461.  INT lt2 = ((INT) 0);
  7462.  HASH local0;
  7463.  lt1 = self.t1;
  7464.  lt2 = self.t2;
  7465.  if (lt1==NULL) {
  7466.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7467.  } else
  7468.  switch (lt1->header.tag) {
  7469.   case TUPIMPL_INCLUDEI_tag:
  7470.   case TUPAM_BND_CREATE_tag:
  7471.   case TUPIFCIFC_tag:
  7472.   case TUPSTRITER_INLINE_tag:
  7473.   case TUPAM_GLOBAL_EXP_tag:
  7474.   case FSTR_tag:
  7475.   case TUPSIGSIG_tag:
  7476.   case CHAR_tag:
  7477.   case INT_tag:
  7478.   case TUPTP_CLASSFSETTP_tag:
  7479.   case TUPSTRSTR_tag:
  7480.   case TUPINTINTINT_tag:
  7481.   case STR_tag:
  7482.   case TUPSFILE_IDSFILE_ID_tag:
  7483.   case TUPAM_ITER_CALL__tag:
  7484.   case TUPTR_EXPRTR_EXPR_tag:
  7485.   case TUPTPFMAPIDENTAM_tag:
  7486.   case TUPARRAYTPTP_tag:
  7487.   case TUPAM_CONSTAM_CONST_tag:
  7488.   case TUPSTRTUPSTRSTR_tag:
  7489.   case TUPTPIMPL_tag:
  7490.   case TUPSIGAM_ROUT_DEF_tag:
  7491.   case TUPARRAYTPARRAYB_tag:
  7492.   case TUPIDENTAM_GLOBA_tag:
  7493.   case TUPAM_BND_ITER_C_tag:
  7494.   case TUPAM_LOCAL_EXPR_tag:
  7495.   case TUPSTRFSETSTR_tag:
  7496.   case TUPAM_ROUT_DEFAM_tag:
  7497.   case TUPTPTP_tag:
  7498.   case IDENT_tag:
  7499.   case TUPTPINT_tag:
  7500.   case TUPIDENTINT_tag:
  7501.   case TUPIDENTIDENT_tag:
  7502.   case TUPTP_CLASSFSETT_tag:
  7503.   case TUPCHARCHAR_tag:
  7504.   case TUPIDENTTP_tag:
  7505.   case TUPIDENTARRAYTP_tag:
  7506.   case TUPAM_EXPRAM_EXPR_tag:
  7507.   case TUPTPIFC_tag:
  7508.   case TUPTP_CLASSTP_CLASS_tag:
  7509.   case TUPAM_STMTAM_STMT_tag:
  7510.   case TUPINTINT_tag:
  7511.   case TUPOBSTR_tag:
  7512.   case TUPFLISTAM_CONST_tag:
  7513.   case TUPAM_EXPRTP_tag:
  7514.   case TUPBOOLINTIINTBOOL_tag:
  7515.    local0 = ((HASH) lt1);
  7516.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  7517.   default: ;
  7518.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7519.  }
  7520.  h2 = INT_hash_INT(lt2);
  7521.  return (h1^(h2<<2));
  7522. }
  7523.  
  7524.  
  7525. INT TUPTPTP_hash_INT(TUPTPTP self) {
  7526.  INT noname7900 = ((INT) 0);
  7527.  INT h1 = ((INT) 0);
  7528.  INT h2 = ((INT) 0);
  7529.  TP lt1;
  7530.  TP lt2;
  7531.  HASH local0;
  7532.  HASH local1;
  7533.  lt1 = self.t1;
  7534.  lt2 = self.t2;
  7535.  if (lt1==NULL) {
  7536.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7537.  } else
  7538.  switch (lt1->header.tag) {
  7539.   case TUPIMPL_INCLUDEI_tag:
  7540.   case TUPAM_BND_CREATE_tag:
  7541.   case TUPIFCIFC_tag:
  7542.   case TUPSTRITER_INLINE_tag:
  7543.   case TUPAM_GLOBAL_EXP_tag:
  7544.   case FSTR_tag:
  7545.   case TUPSIGSIG_tag:
  7546.   case CHAR_tag:
  7547.   case INT_tag:
  7548.   case TUPTP_CLASSFSETTP_tag:
  7549.   case TUPSTRSTR_tag:
  7550.   case TUPINTINTINT_tag:
  7551.   case STR_tag:
  7552.   case TUPSFILE_IDSFILE_ID_tag:
  7553.   case TUPAM_ITER_CALL__tag:
  7554.   case TUPTR_EXPRTR_EXPR_tag:
  7555.   case TUPTPFMAPIDENTAM_tag:
  7556.   case TUPARRAYTPTP_tag:
  7557.   case TUPAM_CONSTAM_CONST_tag:
  7558.   case TUPSTRTUPSTRSTR_tag:
  7559.   case TUPTPIMPL_tag:
  7560.   case TUPSIGAM_ROUT_DEF_tag:
  7561.   case TUPARRAYTPARRAYB_tag:
  7562.   case TUPIDENTAM_GLOBA_tag:
  7563.   case TUPAM_BND_ITER_C_tag:
  7564.   case TUPAM_LOCAL_EXPR_tag:
  7565.   case TUPSTRFSETSTR_tag:
  7566.   case TUPAM_ROUT_DEFAM_tag:
  7567.   case TUPTPTP_tag:
  7568.   case IDENT_tag:
  7569.   case TUPTPINT_tag:
  7570.   case TUPIDENTINT_tag:
  7571.   case TUPIDENTIDENT_tag:
  7572.   case TUPTP_CLASSFSETT_tag:
  7573.   case TUPCHARCHAR_tag:
  7574.   case TUPIDENTTP_tag:
  7575.   case TUPIDENTARRAYTP_tag:
  7576.   case TUPAM_EXPRAM_EXPR_tag:
  7577.   case TUPTPIFC_tag:
  7578.   case TUPTP_CLASSTP_CLASS_tag:
  7579.   case TUPAM_STMTAM_STMT_tag:
  7580.   case TUPINTINT_tag:
  7581.   case TUPOBSTR_tag:
  7582.   case TUPFLISTAM_CONST_tag:
  7583.   case TUPAM_EXPRTP_tag:
  7584.   case TUPBOOLINTIINTBOOL_tag:
  7585.    local0 = ((HASH) lt1);
  7586.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  7587.   default: ;
  7588.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7589.  }
  7590.  if (lt2==NULL) {
  7591.   h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7592.  } else
  7593.  switch (lt2->header.tag) {
  7594.   case TUPIMPL_INCLUDEI_tag:
  7595.   case TUPAM_BND_CREATE_tag:
  7596.   case TUPIFCIFC_tag:
  7597.   case TUPSTRITER_INLINE_tag:
  7598.   case TUPAM_GLOBAL_EXP_tag:
  7599.   case FSTR_tag:
  7600.   case TUPSIGSIG_tag:
  7601.   case CHAR_tag:
  7602.   case INT_tag:
  7603.   case TUPTP_CLASSFSETTP_tag:
  7604.   case TUPSTRSTR_tag:
  7605.   case TUPINTINTINT_tag:
  7606.   case STR_tag:
  7607.   case TUPSFILE_IDSFILE_ID_tag:
  7608.   case TUPAM_ITER_CALL__tag:
  7609.   case TUPTR_EXPRTR_EXPR_tag:
  7610.   case TUPTPFMAPIDENTAM_tag:
  7611.   case TUPARRAYTPTP_tag:
  7612.   case TUPAM_CONSTAM_CONST_tag:
  7613.   case TUPSTRTUPSTRSTR_tag:
  7614.   case TUPTPIMPL_tag:
  7615.   case TUPSIGAM_ROUT_DEF_tag:
  7616.   case TUPARRAYTPARRAYB_tag:
  7617.   case TUPIDENTAM_GLOBA_tag:
  7618.   case TUPAM_BND_ITER_C_tag:
  7619.   case TUPAM_LOCAL_EXPR_tag:
  7620.   case TUPSTRFSETSTR_tag:
  7621.   case TUPAM_ROUT_DEFAM_tag:
  7622.   case TUPTPTP_tag:
  7623.   case IDENT_tag:
  7624.   case TUPTPINT_tag:
  7625.   case TUPIDENTINT_tag:
  7626.   case TUPIDENTIDENT_tag:
  7627.   case TUPTP_CLASSFSETT_tag:
  7628.   case TUPCHARCHAR_tag:
  7629.   case TUPIDENTTP_tag:
  7630.   case TUPIDENTARRAYTP_tag:
  7631.   case TUPAM_EXPRAM_EXPR_tag:
  7632.   case TUPTPIFC_tag:
  7633.   case TUPTP_CLASSTP_CLASS_tag:
  7634.   case TUPAM_STMTAM_STMT_tag:
  7635.   case TUPINTINT_tag:
  7636.   case TUPOBSTR_tag:
  7637.   case TUPFLISTAM_CONST_tag:
  7638.   case TUPAM_EXPRTP_tag:
  7639.   case TUPBOOLINTIINTBOOL_tag:
  7640.    local1 = ((HASH) lt2);
  7641.    h2 = (*HASH_hash_INT[local1->header.tag+HASH_hash_INT_offset])(local1); break;
  7642.   default: ;
  7643.    h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7644.  }
  7645.  return (h1^(h2<<2));
  7646. }
  7647.  
  7648.  
  7649. INT TUPAM_ROUT_DEFAM_7901(TUPAM_ROUT_DEFAM self) {
  7650.  INT noname7902 = ((INT) 0);
  7651.  INT h1 = ((INT) 0);
  7652.  INT h2 = ((INT) 0);
  7653.  AM_ROUT_DEF lt1;
  7654.  AM_ROUT_DEF lt2;
  7655.  lt1 = self.t1;
  7656.  lt2 = self.t2;
  7657.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7658.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7659.  return (h1^(h2<<2));
  7660. }
  7661.  
  7662.  
  7663. INT TUPSTRFSETSTR_ha(TUPSTRFSETSTR self) {
  7664.  INT noname7903 = ((INT) 0);
  7665.  INT h1 = ((INT) 0);
  7666.  INT h2 = ((INT) 0);
  7667.  STR lt1;
  7668.  FSETSTR lt2;
  7669.  lt1 = self.t1;
  7670.  lt2 = self.t2;
  7671.  h1 = STR_hash_INT(lt1);
  7672.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7673.  return (h1^(h2<<2));
  7674. }
  7675.  
  7676.  
  7677. INT TUPAM_LOCAL_EXPR_7904(TUPAM_LOCAL_EXPR self) {
  7678.  INT noname7905 = ((INT) 0);
  7679.  INT h1 = ((INT) 0);
  7680.  INT h2 = ((INT) 0);
  7681.  AM_LOCAL_EXPR lt1;
  7682.  AM_LOCAL_EXPR lt2;
  7683.  lt1 = self.t1;
  7684.  lt2 = self.t2;
  7685.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7686.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7687.  return (h1^(h2<<2));
  7688. }
  7689.  
  7690.  
  7691. INT TUPAM_BND_ITER_C_7906(TUPAM_BND_ITER_C self) {
  7692.  INT noname7907 = ((INT) 0);
  7693.  INT h1 = ((INT) 0);
  7694.  INT h2 = ((INT) 0);
  7695.  AM_BND_ITER_CALL lt1;
  7696.  AM_BND_ITER_CALL lt2;
  7697.  lt1 = self.t1;
  7698.  lt2 = self.t2;
  7699.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7700.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7701.  return (h1^(h2<<2));
  7702. }
  7703.  
  7704.  
  7705. INT TUPIDENTAM_GLOBA_7908(TUPIDENTAM_GLOBA self) {
  7706.  INT noname7909 = ((INT) 0);
  7707.  INT h1 = ((INT) 0);
  7708.  INT h2 = ((INT) 0);
  7709.  IDENT lt1 = IDENT_zero;
  7710.  AM_GLOBAL_EXPR lt2;
  7711.  lt1 = self.t1;
  7712.  lt2 = self.t2;
  7713.  h1 = IDENT_hash_INT(lt1);
  7714.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7715.  return (h1^(h2<<2));
  7716. }
  7717.  
  7718.  
  7719. INT TUPARRAYTPARRAYB_7910(TUPARRAYTPARRAYB self) {
  7720.  INT noname7911 = ((INT) 0);
  7721.  INT h1 = ((INT) 0);
  7722.  INT h2 = ((INT) 0);
  7723.  INT h3 = ((INT) 0);
  7724.  ARRAYTP lt1;
  7725.  ARRAYBOOL lt2;
  7726.  TP lt3;
  7727.  HASH local0;
  7728.  INT local1;
  7729.  lt1 = self.t1;
  7730.  lt2 = self.t2;
  7731.  lt3 = self.t3;
  7732.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7733.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7734.  if (lt3==NULL) {
  7735.   h3 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt3)));
  7736.  } else
  7737.  switch (lt3->header.tag) {
  7738.   case TUPIMPL_INCLUDEI_tag:
  7739.   case TUPAM_BND_CREATE_tag:
  7740.   case TUPIFCIFC_tag:
  7741.   case TUPSTRITER_INLINE_tag:
  7742.   case TUPAM_GLOBAL_EXP_tag:
  7743.   case FSTR_tag:
  7744.   case TUPSIGSIG_tag:
  7745.   case CHAR_tag:
  7746.   case INT_tag:
  7747.   case TUPTP_CLASSFSETTP_tag:
  7748.   case TUPSTRSTR_tag:
  7749.   case TUPINTINTINT_tag:
  7750.   case STR_tag:
  7751.   case TUPSFILE_IDSFILE_ID_tag:
  7752.   case TUPAM_ITER_CALL__tag:
  7753.   case TUPTR_EXPRTR_EXPR_tag:
  7754.   case TUPTPFMAPIDENTAM_tag:
  7755.   case TUPARRAYTPTP_tag:
  7756.   case TUPAM_CONSTAM_CONST_tag:
  7757.   case TUPSTRTUPSTRSTR_tag:
  7758.   case TUPTPIMPL_tag:
  7759.   case TUPSIGAM_ROUT_DEF_tag:
  7760.   case TUPARRAYTPARRAYB_tag:
  7761.   case TUPIDENTAM_GLOBA_tag:
  7762.   case TUPAM_BND_ITER_C_tag:
  7763.   case TUPAM_LOCAL_EXPR_tag:
  7764.   case TUPSTRFSETSTR_tag:
  7765.   case TUPAM_ROUT_DEFAM_tag:
  7766.   case TUPTPTP_tag:
  7767.   case IDENT_tag:
  7768.   case TUPTPINT_tag:
  7769.   case TUPIDENTINT_tag:
  7770.   case TUPIDENTIDENT_tag:
  7771.   case TUPTP_CLASSFSETT_tag:
  7772.   case TUPCHARCHAR_tag:
  7773.   case TUPIDENTTP_tag:
  7774.   case TUPIDENTARRAYTP_tag:
  7775.   case TUPAM_EXPRAM_EXPR_tag:
  7776.   case TUPTPIFC_tag:
  7777.   case TUPTP_CLASSTP_CLASS_tag:
  7778.   case TUPAM_STMTAM_STMT_tag:
  7779.   case TUPINTINT_tag:
  7780.   case TUPOBSTR_tag:
  7781.   case TUPFLISTAM_CONST_tag:
  7782.   case TUPAM_EXPRTP_tag:
  7783.   case TUPBOOLINTIINTBOOL_tag:
  7784.    local0 = ((HASH) lt3);
  7785.    h3 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  7786.   default: ;
  7787.    h3 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt3)));
  7788.  }
  7789.  local1 = (h1^(h2<<2));
  7790.  return (local1^(h3<<4));
  7791. }
  7792.  
  7793.  
  7794. INT TUPSIGAM_ROUT_DE_7912(TUPSIGAM_ROUT_DEF self) {
  7795.  INT noname7913 = ((INT) 0);
  7796.  INT h1 = ((INT) 0);
  7797.  INT h2 = ((INT) 0);
  7798.  SIG lt1;
  7799.  AM_ROUT_DEF lt2;
  7800.  lt1 = self.t1;
  7801.  lt2 = self.t2;
  7802.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7803.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7804.  return (h1^(h2<<2));
  7805. }
  7806.  
  7807.  
  7808. INT TUPTPIMPL_hash_INT(TUPTPIMPL self) {
  7809.  INT noname7914 = ((INT) 0);
  7810.  INT h1 = ((INT) 0);
  7811.  INT h2 = ((INT) 0);
  7812.  TP lt1;
  7813.  IMPL lt2;
  7814.  HASH local0;
  7815.  lt1 = self.t1;
  7816.  lt2 = self.t2;
  7817.  if (lt1==NULL) {
  7818.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7819.  } else
  7820.  switch (lt1->header.tag) {
  7821.   case TUPIMPL_INCLUDEI_tag:
  7822.   case TUPAM_BND_CREATE_tag:
  7823.   case TUPIFCIFC_tag:
  7824.   case TUPSTRITER_INLINE_tag:
  7825.   case TUPAM_GLOBAL_EXP_tag:
  7826.   case FSTR_tag:
  7827.   case TUPSIGSIG_tag:
  7828.   case CHAR_tag:
  7829.   case INT_tag:
  7830.   case TUPTP_CLASSFSETTP_tag:
  7831.   case TUPSTRSTR_tag:
  7832.   case TUPINTINTINT_tag:
  7833.   case STR_tag:
  7834.   case TUPSFILE_IDSFILE_ID_tag:
  7835.   case TUPAM_ITER_CALL__tag:
  7836.   case TUPTR_EXPRTR_EXPR_tag:
  7837.   case TUPTPFMAPIDENTAM_tag:
  7838.   case TUPARRAYTPTP_tag:
  7839.   case TUPAM_CONSTAM_CONST_tag:
  7840.   case TUPSTRTUPSTRSTR_tag:
  7841.   case TUPTPIMPL_tag:
  7842.   case TUPSIGAM_ROUT_DEF_tag:
  7843.   case TUPARRAYTPARRAYB_tag:
  7844.   case TUPIDENTAM_GLOBA_tag:
  7845.   case TUPAM_BND_ITER_C_tag:
  7846.   case TUPAM_LOCAL_EXPR_tag:
  7847.   case TUPSTRFSETSTR_tag:
  7848.   case TUPAM_ROUT_DEFAM_tag:
  7849.   case TUPTPTP_tag:
  7850.   case IDENT_tag:
  7851.   case TUPTPINT_tag:
  7852.   case TUPIDENTINT_tag:
  7853.   case TUPIDENTIDENT_tag:
  7854.   case TUPTP_CLASSFSETT_tag:
  7855.   case TUPCHARCHAR_tag:
  7856.   case TUPIDENTTP_tag:
  7857.   case TUPIDENTARRAYTP_tag:
  7858.   case TUPAM_EXPRAM_EXPR_tag:
  7859.   case TUPTPIFC_tag:
  7860.   case TUPTP_CLASSTP_CLASS_tag:
  7861.   case TUPAM_STMTAM_STMT_tag:
  7862.   case TUPINTINT_tag:
  7863.   case TUPOBSTR_tag:
  7864.   case TUPFLISTAM_CONST_tag:
  7865.   case TUPAM_EXPRTP_tag:
  7866.   case TUPBOOLINTIINTBOOL_tag:
  7867.    local0 = ((HASH) lt1);
  7868.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  7869.   default: ;
  7870.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7871.  }
  7872.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7873.  return (h1^(h2<<2));
  7874. }
  7875.  
  7876.  
  7877. INT TUPSTRSTR_hash_INT(TUPSTRSTR self) {
  7878.  INT noname7915 = ((INT) 0);
  7879.  INT h1 = ((INT) 0);
  7880.  INT h2 = ((INT) 0);
  7881.  STR lt1;
  7882.  STR lt2;
  7883.  lt1 = self.t1;
  7884.  lt2 = self.t2;
  7885.  h1 = STR_hash_INT(lt1);
  7886.  h2 = STR_hash_INT(lt2);
  7887.  return (h1^(h2<<2));
  7888. }
  7889.  
  7890.  
  7891. INT TUPSTRTUPSTRSTR__7916(TUPSTRTUPSTRSTR self) {
  7892.  INT noname7917 = ((INT) 0);
  7893.  INT h1 = ((INT) 0);
  7894.  INT h2 = ((INT) 0);
  7895.  STR lt1;
  7896.  TUPSTRSTR lt2 = TUPSTRSTR_zero;
  7897.  lt1 = self.t1;
  7898.  lt2 = self.t2;
  7899.  h1 = STR_hash_INT(lt1);
  7900.  h2 = TUPSTRSTR_hash_INT(lt2);
  7901.  return (h1^(h2<<2));
  7902. }
  7903.  
  7904.  
  7905. INT TUPAM_CONSTAM_CO(TUPAM_CONSTAM_CONST self) {
  7906.  INT noname7918 = ((INT) 0);
  7907.  INT h1 = ((INT) 0);
  7908.  INT h2 = ((INT) 0);
  7909.  AM_CONST lt1;
  7910.  AM_CONST lt2;
  7911.  HASH local0;
  7912.  HASH local1;
  7913.  lt1 = self.t1;
  7914.  lt2 = self.t2;
  7915.  if (lt1==NULL) {
  7916.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7917.  } else
  7918.  switch (lt1->header.tag) {
  7919.   case TUPIMPL_INCLUDEI_tag:
  7920.   case TUPAM_BND_CREATE_tag:
  7921.   case TUPIFCIFC_tag:
  7922.   case TUPSTRITER_INLINE_tag:
  7923.   case TUPAM_GLOBAL_EXP_tag:
  7924.   case FSTR_tag:
  7925.   case TUPSIGSIG_tag:
  7926.   case CHAR_tag:
  7927.   case INT_tag:
  7928.   case TUPTP_CLASSFSETTP_tag:
  7929.   case TUPSTRSTR_tag:
  7930.   case TUPINTINTINT_tag:
  7931.   case STR_tag:
  7932.   case TUPSFILE_IDSFILE_ID_tag:
  7933.   case TUPAM_ITER_CALL__tag:
  7934.   case TUPTR_EXPRTR_EXPR_tag:
  7935.   case TUPTPFMAPIDENTAM_tag:
  7936.   case TUPARRAYTPTP_tag:
  7937.   case TUPAM_CONSTAM_CONST_tag:
  7938.   case TUPSTRTUPSTRSTR_tag:
  7939.   case TUPTPIMPL_tag:
  7940.   case TUPSIGAM_ROUT_DEF_tag:
  7941.   case TUPARRAYTPARRAYB_tag:
  7942.   case TUPIDENTAM_GLOBA_tag:
  7943.   case TUPAM_BND_ITER_C_tag:
  7944.   case TUPAM_LOCAL_EXPR_tag:
  7945.   case TUPSTRFSETSTR_tag:
  7946.   case TUPAM_ROUT_DEFAM_tag:
  7947.   case TUPTPTP_tag:
  7948.   case IDENT_tag:
  7949.   case TUPTPINT_tag:
  7950.   case TUPIDENTINT_tag:
  7951.   case TUPIDENTIDENT_tag:
  7952.   case TUPTP_CLASSFSETT_tag:
  7953.   case TUPCHARCHAR_tag:
  7954.   case TUPIDENTTP_tag:
  7955.   case TUPIDENTARRAYTP_tag:
  7956.   case TUPAM_EXPRAM_EXPR_tag:
  7957.   case TUPTPIFC_tag:
  7958.   case TUPTP_CLASSTP_CLASS_tag:
  7959.   case TUPAM_STMTAM_STMT_tag:
  7960.   case TUPINTINT_tag:
  7961.   case TUPOBSTR_tag:
  7962.   case TUPFLISTAM_CONST_tag:
  7963.   case TUPAM_EXPRTP_tag:
  7964.   case TUPBOOLINTIINTBOOL_tag:
  7965.    local0 = ((HASH) lt1);
  7966.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  7967.   default: ;
  7968.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  7969.  }
  7970.  if (lt2==NULL) {
  7971.   h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  7972.  } else
  7973.  switch (lt2->header.tag) {
  7974.   case TUPIMPL_INCLUDEI_tag:
  7975.   case TUPAM_BND_CREATE_tag:
  7976.   case TUPIFCIFC_tag:
  7977.   case TUPSTRITER_INLINE_tag:
  7978.   case TUPAM_GLOBAL_EXP_tag:
  7979.   case FSTR_tag:
  7980.   case TUPSIGSIG_tag:
  7981.   case CHAR_tag:
  7982.   case INT_tag:
  7983.   case TUPTP_CLASSFSETTP_tag:
  7984.   case TUPSTRSTR_tag:
  7985.   case TUPINTINTINT_tag:
  7986.   case STR_tag:
  7987.   case TUPSFILE_IDSFILE_ID_tag:
  7988.   case TUPAM_ITER_CALL__tag:
  7989.   case TUPTR_EXPRTR_EXPR_tag:
  7990.   case TUPTPFMAPIDENTAM_tag:
  7991.   case TUPARRAYTPTP_tag:
  7992.   case TUPAM_CONSTAM_CONST_tag:
  7993.   case TUPSTRTUPSTRSTR_tag:
  7994.   case TUPTPIMPL_tag:
  7995.   case TUPSIGAM_ROUT_DEF_tag:
  7996.   case TUPARRAYTPARRAYB_tag:
  7997.   case TUPIDENTAM_GLOBA_tag:
  7998.   case TUPAM_BND_ITER_C_tag:
  7999.   case TUPAM_LOCAL_EXPR_tag:
  8000.   case TUPSTRFSETSTR_tag:
  8001.   case TUPAM_ROUT_DEFAM_tag:
  8002.   case TUPTPTP_tag:
  8003.   case IDENT_tag:
  8004.   case TUPTPINT_tag:
  8005.   case TUPIDENTINT_tag:
  8006.   case TUPIDENTIDENT_tag:
  8007.   case TUPTP_CLASSFSETT_tag:
  8008.   case TUPCHARCHAR_tag:
  8009.   case TUPIDENTTP_tag:
  8010.   case TUPIDENTARRAYTP_tag:
  8011.   case TUPAM_EXPRAM_EXPR_tag:
  8012.   case TUPTPIFC_tag:
  8013.   case TUPTP_CLASSTP_CLASS_tag:
  8014.   case TUPAM_STMTAM_STMT_tag:
  8015.   case TUPINTINT_tag:
  8016.   case TUPOBSTR_tag:
  8017.   case TUPFLISTAM_CONST_tag:
  8018.   case TUPAM_EXPRTP_tag:
  8019.   case TUPBOOLINTIINTBOOL_tag:
  8020.    local1 = ((HASH) lt2);
  8021.    h2 = (*HASH_hash_INT[local1->header.tag+HASH_hash_INT_offset])(local1); break;
  8022.   default: ;
  8023.    h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8024.  }
  8025.  return (h1^(h2<<2));
  8026. }
  8027.  
  8028.  
  8029. INT TUPARRAYTPTP_has(TUPARRAYTPTP self) {
  8030.  INT noname7919 = ((INT) 0);
  8031.  INT h1 = ((INT) 0);
  8032.  INT h2 = ((INT) 0);
  8033.  ARRAYTP lt1;
  8034.  TP lt2;
  8035.  HASH local0;
  8036.  lt1 = self.t1;
  8037.  lt2 = self.t2;
  8038.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8039.  if (lt2==NULL) {
  8040.   h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8041.  } else
  8042.  switch (lt2->header.tag) {
  8043.   case TUPIMPL_INCLUDEI_tag:
  8044.   case TUPAM_BND_CREATE_tag:
  8045.   case TUPIFCIFC_tag:
  8046.   case TUPSTRITER_INLINE_tag:
  8047.   case TUPAM_GLOBAL_EXP_tag:
  8048.   case FSTR_tag:
  8049.   case TUPSIGSIG_tag:
  8050.   case CHAR_tag:
  8051.   case INT_tag:
  8052.   case TUPTP_CLASSFSETTP_tag:
  8053.   case TUPSTRSTR_tag:
  8054.   case TUPINTINTINT_tag:
  8055.   case STR_tag:
  8056.   case TUPSFILE_IDSFILE_ID_tag:
  8057.   case TUPAM_ITER_CALL__tag:
  8058.   case TUPTR_EXPRTR_EXPR_tag:
  8059.   case TUPTPFMAPIDENTAM_tag:
  8060.   case TUPARRAYTPTP_tag:
  8061.   case TUPAM_CONSTAM_CONST_tag:
  8062.   case TUPSTRTUPSTRSTR_tag:
  8063.   case TUPTPIMPL_tag:
  8064.   case TUPSIGAM_ROUT_DEF_tag:
  8065.   case TUPARRAYTPARRAYB_tag:
  8066.   case TUPIDENTAM_GLOBA_tag:
  8067.   case TUPAM_BND_ITER_C_tag:
  8068.   case TUPAM_LOCAL_EXPR_tag:
  8069.   case TUPSTRFSETSTR_tag:
  8070.   case TUPAM_ROUT_DEFAM_tag:
  8071.   case TUPTPTP_tag:
  8072.   case IDENT_tag:
  8073.   case TUPTPINT_tag:
  8074.   case TUPIDENTINT_tag:
  8075.   case TUPIDENTIDENT_tag:
  8076.   case TUPTP_CLASSFSETT_tag:
  8077.   case TUPCHARCHAR_tag:
  8078.   case TUPIDENTTP_tag:
  8079.   case TUPIDENTARRAYTP_tag:
  8080.   case TUPAM_EXPRAM_EXPR_tag:
  8081.   case TUPTPIFC_tag:
  8082.   case TUPTP_CLASSTP_CLASS_tag:
  8083.   case TUPAM_STMTAM_STMT_tag:
  8084.   case TUPINTINT_tag:
  8085.   case TUPOBSTR_tag:
  8086.   case TUPFLISTAM_CONST_tag:
  8087.   case TUPAM_EXPRTP_tag:
  8088.   case TUPBOOLINTIINTBOOL_tag:
  8089.    local0 = ((HASH) lt2);
  8090.    h2 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  8091.   default: ;
  8092.    h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8093.  }
  8094.  return (h1^(h2<<2));
  8095. }
  8096.  
  8097.  
  8098. INT TUPTPFMAPIDENTAM_7920(TUPTPFMAPIDENTAM self) {
  8099.  INT noname7921 = ((INT) 0);
  8100.  INT h1 = ((INT) 0);
  8101.  INT h2 = ((INT) 0);
  8102.  TP lt1;
  8103.  FMAPIDENTAM_GLOB lt2;
  8104.  HASH local0;
  8105.  lt1 = self.t1;
  8106.  lt2 = self.t2;
  8107.  if (lt1==NULL) {
  8108.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8109.  } else
  8110.  switch (lt1->header.tag) {
  8111.   case TUPIMPL_INCLUDEI_tag:
  8112.   case TUPAM_BND_CREATE_tag:
  8113.   case TUPIFCIFC_tag:
  8114.   case TUPSTRITER_INLINE_tag:
  8115.   case TUPAM_GLOBAL_EXP_tag:
  8116.   case FSTR_tag:
  8117.   case TUPSIGSIG_tag:
  8118.   case CHAR_tag:
  8119.   case INT_tag:
  8120.   case TUPTP_CLASSFSETTP_tag:
  8121.   case TUPSTRSTR_tag:
  8122.   case TUPINTINTINT_tag:
  8123.   case STR_tag:
  8124.   case TUPSFILE_IDSFILE_ID_tag:
  8125.   case TUPAM_ITER_CALL__tag:
  8126.   case TUPTR_EXPRTR_EXPR_tag:
  8127.   case TUPTPFMAPIDENTAM_tag:
  8128.   case TUPARRAYTPTP_tag:
  8129.   case TUPAM_CONSTAM_CONST_tag:
  8130.   case TUPSTRTUPSTRSTR_tag:
  8131.   case TUPTPIMPL_tag:
  8132.   case TUPSIGAM_ROUT_DEF_tag:
  8133.   case TUPARRAYTPARRAYB_tag:
  8134.   case TUPIDENTAM_GLOBA_tag:
  8135.   case TUPAM_BND_ITER_C_tag:
  8136.   case TUPAM_LOCAL_EXPR_tag:
  8137.   case TUPSTRFSETSTR_tag:
  8138.   case TUPAM_ROUT_DEFAM_tag:
  8139.   case TUPTPTP_tag:
  8140.   case IDENT_tag:
  8141.   case TUPTPINT_tag:
  8142.   case TUPIDENTINT_tag:
  8143.   case TUPIDENTIDENT_tag:
  8144.   case TUPTP_CLASSFSETT_tag:
  8145.   case TUPCHARCHAR_tag:
  8146.   case TUPIDENTTP_tag:
  8147.   case TUPIDENTARRAYTP_tag:
  8148.   case TUPAM_EXPRAM_EXPR_tag:
  8149.   case TUPTPIFC_tag:
  8150.   case TUPTP_CLASSTP_CLASS_tag:
  8151.   case TUPAM_STMTAM_STMT_tag:
  8152.   case TUPINTINT_tag:
  8153.   case TUPOBSTR_tag:
  8154.   case TUPFLISTAM_CONST_tag:
  8155.   case TUPAM_EXPRTP_tag:
  8156.   case TUPBOOLINTIINTBOOL_tag:
  8157.    local0 = ((HASH) lt1);
  8158.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  8159.   default: ;
  8160.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8161.  }
  8162.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8163.  return (h1^(h2<<2));
  8164. }
  8165.  
  8166.  
  8167. INT TUPTR_EXPRTR_EXP(TUPTR_EXPRTR_EXPR self) {
  8168.  INT noname7922 = ((INT) 0);
  8169.  INT h1 = ((INT) 0);
  8170.  INT h2 = ((INT) 0);
  8171.  TR_EXPR lt1;
  8172.  TR_EXPR lt2;
  8173.  HASH local0;
  8174.  HASH local1;
  8175.  lt1 = self.t1;
  8176.  lt2 = self.t2;
  8177.  if (lt1==NULL) {
  8178.   h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8179.  } else
  8180.  switch (lt1->header.tag) {
  8181.   case TUPIMPL_INCLUDEI_tag:
  8182.   case TUPAM_BND_CREATE_tag:
  8183.   case TUPIFCIFC_tag:
  8184.   case TUPSTRITER_INLINE_tag:
  8185.   case TUPAM_GLOBAL_EXP_tag:
  8186.   case FSTR_tag:
  8187.   case TUPSIGSIG_tag:
  8188.   case CHAR_tag:
  8189.   case INT_tag:
  8190.   case TUPTP_CLASSFSETTP_tag:
  8191.   case TUPSTRSTR_tag:
  8192.   case TUPINTINTINT_tag:
  8193.   case STR_tag:
  8194.   case TUPSFILE_IDSFILE_ID_tag:
  8195.   case TUPAM_ITER_CALL__tag:
  8196.   case TUPTR_EXPRTR_EXPR_tag:
  8197.   case TUPTPFMAPIDENTAM_tag:
  8198.   case TUPARRAYTPTP_tag:
  8199.   case TUPAM_CONSTAM_CONST_tag:
  8200.   case TUPSTRTUPSTRSTR_tag:
  8201.   case TUPTPIMPL_tag:
  8202.   case TUPSIGAM_ROUT_DEF_tag:
  8203.   case TUPARRAYTPARRAYB_tag:
  8204.   case TUPIDENTAM_GLOBA_tag:
  8205.   case TUPAM_BND_ITER_C_tag:
  8206.   case TUPAM_LOCAL_EXPR_tag:
  8207.   case TUPSTRFSETSTR_tag:
  8208.   case TUPAM_ROUT_DEFAM_tag:
  8209.   case TUPTPTP_tag:
  8210.   case IDENT_tag:
  8211.   case TUPTPINT_tag:
  8212.   case TUPIDENTINT_tag:
  8213.   case TUPIDENTIDENT_tag:
  8214.   case TUPTP_CLASSFSETT_tag:
  8215.   case TUPCHARCHAR_tag:
  8216.   case TUPIDENTTP_tag:
  8217.   case TUPIDENTARRAYTP_tag:
  8218.   case TUPAM_EXPRAM_EXPR_tag:
  8219.   case TUPTPIFC_tag:
  8220.   case TUPTP_CLASSTP_CLASS_tag:
  8221.   case TUPAM_STMTAM_STMT_tag:
  8222.   case TUPINTINT_tag:
  8223.   case TUPOBSTR_tag:
  8224.   case TUPFLISTAM_CONST_tag:
  8225.   case TUPAM_EXPRTP_tag:
  8226.   case TUPBOOLINTIINTBOOL_tag:
  8227.    local0 = ((HASH) lt1);
  8228.    h1 = (*HASH_hash_INT[local0->header.tag+HASH_hash_INT_offset])(local0); break;
  8229.   default: ;
  8230.    h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8231.  }
  8232.  if (lt2==NULL) {
  8233.   h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8234.  } else
  8235.  switch (lt2->header.tag) {
  8236.   case TUPIMPL_INCLUDEI_tag:
  8237.   case TUPAM_BND_CREATE_tag:
  8238.   case TUPIFCIFC_tag:
  8239.   case TUPSTRITER_INLINE_tag:
  8240.   case TUPAM_GLOBAL_EXP_tag:
  8241.   case FSTR_tag:
  8242.   case TUPSIGSIG_tag:
  8243.   case CHAR_tag:
  8244.   case INT_tag:
  8245.   case TUPTP_CLASSFSETTP_tag:
  8246.   case TUPSTRSTR_tag:
  8247.   case TUPINTINTINT_tag:
  8248.   case STR_tag:
  8249.   case TUPSFILE_IDSFILE_ID_tag:
  8250.   case TUPAM_ITER_CALL__tag:
  8251.   case TUPTR_EXPRTR_EXPR_tag:
  8252.   case TUPTPFMAPIDENTAM_tag:
  8253.   case TUPARRAYTPTP_tag:
  8254.   case TUPAM_CONSTAM_CONST_tag:
  8255.   case TUPSTRTUPSTRSTR_tag:
  8256.   case TUPTPIMPL_tag:
  8257.   case TUPSIGAM_ROUT_DEF_tag:
  8258.   case TUPARRAYTPARRAYB_tag:
  8259.   case TUPIDENTAM_GLOBA_tag:
  8260.   case TUPAM_BND_ITER_C_tag:
  8261.   case TUPAM_LOCAL_EXPR_tag:
  8262.   case TUPSTRFSETSTR_tag:
  8263.   case TUPAM_ROUT_DEFAM_tag:
  8264.   case TUPTPTP_tag:
  8265.   case IDENT_tag:
  8266.   case TUPTPINT_tag:
  8267.   case TUPIDENTINT_tag:
  8268.   case TUPIDENTIDENT_tag:
  8269.   case TUPTP_CLASSFSETT_tag:
  8270.   case TUPCHARCHAR_tag:
  8271.   case TUPIDENTTP_tag:
  8272.   case TUPIDENTARRAYTP_tag:
  8273.   case TUPAM_EXPRAM_EXPR_tag:
  8274.   case TUPTPIFC_tag:
  8275.   case TUPTP_CLASSTP_CLASS_tag:
  8276.   case TUPAM_STMTAM_STMT_tag:
  8277.   case TUPINTINT_tag:
  8278.   case TUPOBSTR_tag:
  8279.   case TUPFLISTAM_CONST_tag:
  8280.   case TUPAM_EXPRTP_tag:
  8281.   case TUPBOOLINTIINTBOOL_tag:
  8282.    local1 = ((HASH) lt2);
  8283.    h2 = (*HASH_hash_INT[local1->header.tag+HASH_hash_INT_offset])(local1); break;
  8284.   default: ;
  8285.    h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8286.  }
  8287.  return (h1^(h2<<2));
  8288. }
  8289.  
  8290.  
  8291. INT TUPAM_ITER_CALL__7923(TUPAM_ITER_CALL_ self) {
  8292.  INT noname7924 = ((INT) 0);
  8293.  INT h1 = ((INT) 0);
  8294.  INT h2 = ((INT) 0);
  8295.  AM_ITER_CALL_EXPR lt1;
  8296.  AM_ITER_CALL_EXPR lt2;
  8297.  lt1 = self.t1;
  8298.  lt2 = self.t2;
  8299.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8300.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8301.  return (h1^(h2<<2));
  8302. }
  8303.  
  8304.  
  8305. INT TUPSFILE_IDSFILE(TUPSFILE_IDSFILE_ID self) {
  8306.  INT noname7925 = ((INT) 0);
  8307.  INT h1 = ((INT) 0);
  8308.  INT h2 = ((INT) 0);
  8309.  SFILE_ID lt1 = SFILE_ID_zero;
  8310.  SFILE_ID lt2 = SFILE_ID_zero;
  8311.  OB local0;
  8312.  OB local1;
  8313.  lt1 = self.t1;
  8314.  lt2 = self.t2;
  8315.  local0 = (OB)((SFILE_ID_boxed) sbi_alloc_atomic(sizeof(struct SFILE_ID_boxed_struct), SFILE_ID_tag));
  8316.  ((SFILE_ID_boxed) local0)->value_part = lt1;
  8317.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),local0));
  8318.  local1 = (OB)((SFILE_ID_boxed) sbi_alloc_atomic(sizeof(struct SFILE_ID_boxed_struct), SFILE_ID_tag));
  8319.  ((SFILE_ID_boxed) local1)->value_part = lt2;
  8320.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),local1));
  8321.  return (h1^(h2<<2));
  8322. }
  8323.  
  8324.  
  8325. INT TUPINTINTINT_has(TUPINTINTINT self) {
  8326.  INT noname7926 = ((INT) 0);
  8327.  INT h1 = ((INT) 0);
  8328.  INT h2 = ((INT) 0);
  8329.  INT h3 = ((INT) 0);
  8330.  INT lt1 = ((INT) 0);
  8331.  INT lt2 = ((INT) 0);
  8332.  INT lt3 = ((INT) 0);
  8333.  INT local0;
  8334.  lt1 = self.t1;
  8335.  lt2 = self.t2;
  8336.  lt3 = self.t3;
  8337.  h1 = INT_hash_INT(lt1);
  8338.  h2 = INT_hash_INT(lt2);
  8339.  h3 = INT_hash_INT(lt3);
  8340.  local0 = (h1^(h2<<2));
  8341.  return (local0^(h3<<4));
  8342. }
  8343.  
  8344.  
  8345. INT TUPTP_CLASSFSETT_7927(TUPTP_CLASSFSETTP self) {
  8346.  INT noname7928 = ((INT) 0);
  8347.  INT h1 = ((INT) 0);
  8348.  INT h2 = ((INT) 0);
  8349.  TP_CLASS lt1;
  8350.  FSETTP lt2;
  8351.  lt1 = self.t1;
  8352.  lt2 = self.t2;
  8353.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8354.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8355.  return (h1^(h2<<2));
  8356. }
  8357.  
  8358.  
  8359. INT TUPSIGSIG_hash_INT(TUPSIGSIG self) {
  8360.  INT noname7929 = ((INT) 0);
  8361.  INT h1 = ((INT) 0);
  8362.  INT h2 = ((INT) 0);
  8363.  SIG lt1;
  8364.  SIG lt2;
  8365.  lt1 = self.t1;
  8366.  lt2 = self.t2;
  8367.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8368.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8369.  return (h1^(h2<<2));
  8370. }
  8371.  
  8372.  
  8373. INT FSTR_hash_INT(FSTR self) {
  8374.  INT noname7930 = ((INT) 0);
  8375.  INT i_7931 = ((INT) 0);
  8376.  INT r_7932 = ((INT) 0);
  8377.  INT local0;
  8378.  INT local1;
  8379.  INT local2;
  8380.  INT local3;
  8381.  INT local4;
  8382.  if ((self==((FSTR) NULL))) {
  8383.   return 0;
  8384.  }
  8385.  local0 = FSTR_length_INT(self);
  8386.  if ((local0==0)) {
  8387.   return 0;
  8388.  }
  8389.  local1 = FSTR_length_INT(self);
  8390.  i_7931 = (c_INT_minus_INT_INT_chk(local1,1));
  8391.  local2 = 532415;
  8392.  r_7932 = (c_INT_uplus_INT_INT_chk(local2,((INT)FSTR_aget_INT_CHAR(self, i_7931))));
  8393.  i_7931 = (c_INT_minus_INT_INT_chk(i_7931,1));
  8394.  while (1) {
  8395.   if ((i_7931>=0)) {
  8396.   }
  8397.   else {
  8398.    goto after_loop;
  8399.   }
  8400.   local3 = (c_INT_utimes_INT_INT_chk(r_7932,1664525));
  8401.   local4 = (c_INT_uplus_INT_INT_chk(local3,1013904223));
  8402.   r_7932 = (c_INT_uplus_INT_INT_chk(local4,((INT)FSTR_aget_INT_CHAR(self, i_7931))));
  8403.   i_7931 = (c_INT_minus_INT_INT_chk(i_7931,1));
  8404.  }
  8405.  after_loop: ;
  8406.  return r_7932;
  8407.  if (!FSTR_invariant_BOOL(self)) {
  8408.   fprintf(stderr,"Failed invariant FSTR::invariant:BOOL ../Library/fstr.sa:211:7\n");
  8409.   exit(16);
  8410.  }
  8411. }
  8412.  
  8413.  
  8414. INT TUPAM_GLOBAL_EXP_7934(TUPAM_GLOBAL_EXP self) {
  8415.  INT noname7935 = ((INT) 0);
  8416.  INT h1 = ((INT) 0);
  8417.  INT h2 = ((INT) 0);
  8418.  AM_GLOBAL_EXPR lt1;
  8419.  AM_GLOBAL_EXPR lt2;
  8420.  lt1 = self.t1;
  8421.  lt2 = self.t2;
  8422.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8423.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8424.  return (h1^(h2<<2));
  8425. }
  8426.  
  8427.  
  8428. INT TUPSTRITER_INLIN_7936(TUPSTRITER_INLINE self) {
  8429.  INT noname7937 = ((INT) 0);
  8430.  INT h1 = ((INT) 0);
  8431.  INT h2 = ((INT) 0);
  8432.  STR lt1;
  8433.  ITER_INLINE lt2;
  8434.  lt1 = self.t1;
  8435.  lt2 = self.t2;
  8436.  h1 = STR_hash_INT(lt1);
  8437.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8438.  return (h1^(h2<<2));
  8439. }
  8440.  
  8441.  
  8442. INT TUPIFCIFC_hash_INT(TUPIFCIFC self) {
  8443.  INT noname7938 = ((INT) 0);
  8444.  INT h1 = ((INT) 0);
  8445.  INT h2 = ((INT) 0);
  8446.  IFC lt1;
  8447.  IFC lt2;
  8448.  lt1 = self.t1;
  8449.  lt2 = self.t2;
  8450.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8451.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8452.  return (h1^(h2<<2));
  8453. }
  8454.  
  8455.  
  8456. INT TUPAM_BND_CREATE_7939(TUPAM_BND_CREATE self) {
  8457.  INT noname7940 = ((INT) 0);
  8458.  INT h1 = ((INT) 0);
  8459.  INT h2 = ((INT) 0);
  8460.  AM_BND_CREATE_EXPR lt1;
  8461.  AM_BND_CREATE_EXPR lt2;
  8462.  lt1 = self.t1;
  8463.  lt2 = self.t2;
  8464.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8465.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8466.  return (h1^(h2<<2));
  8467. }
  8468.  
  8469.  
  8470. INT TUPIMPL_INCLUDEI_7941(TUPIMPL_INCLUDEI self) {
  8471.  INT noname7942 = ((INT) 0);
  8472.  INT h1 = ((INT) 0);
  8473.  INT h2 = ((INT) 0);
  8474.  IMPL_INCLUDE lt1;
  8475.  IMPL_INCLUDE lt2;
  8476.  lt1 = self.t1;
  8477.  lt2 = self.t2;
  8478.  h1 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt1)));
  8479.  h2 = (c_SYS_id_OB_INT(((SYS) NULL),((OB) lt2)));
  8480.  return (h1^(h2<<2));
  8481. }
  8482.  
  8483.  
  8484. void FSETTP_aset_TP(FSETTP_aset_TP_frame frame) {
  8485.  INT local0;
  8486.  INT local1;
  8487.  switch (frame->state) {
  8488.   case 0: goto state0;
  8489.   case 1: goto state1;
  8490.   }
  8491.  state0:;
  8492.  if (!((!((frame->arg0==((FSETTP) NULL)))))) {
  8493.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  8494.   exit(16);
  8495.  }
  8496.  {
  8497.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  8498.   frame->nested1->state = 0;
  8499.   while (1) {
  8500.    if (frame->nested1->state == 0) {
  8501.     frame->noname7943 = (frame->arg0->asize);
  8502.     frame->nested1->arg0 = frame->noname7943;
  8503.    }
  8504.    local0 = INT_times_INT(frame->nested1);
  8505.    if (frame->nested1->state == -1) goto after_loop;
  8506.    local1 = local0;
  8507.    FSETTP_aset_INT_TP(frame->arg0, local1, frame->arg1);
  8508.    frame->state = 1;
  8509.    return;
  8510.    state1:;
  8511.   }
  8512.  }
  8513.  after_loop: ;
  8514.  GC_free(frame->nested1); frame->nested1 = NULL;
  8515.  if (!FSETTP_invariant(frame->arg0)) {
  8516.   fprintf(stderr,"Failed invariant FSET{$TP}::invariant:BOOL ../Library/aref.sa:77:7\n");
  8517.   exit(16);
  8518.  }
  8519.  frame->state = -1;
  8520.  return;
  8521. }
  8522.  
  8523.  
  8524. TUPSTRITER_INLINE FMAPSTRITER_INLI_1147(FMAPSTRITER_INLI_1147_frame frame) {
  8525.  TUPSTRITER_INLINE dummy;
  8526.  TUPSTRITER_INLINE local0;
  8527.  STR local1;
  8528.  switch (frame->state) {
  8529.   case 0: goto state0;
  8530.   case 1: goto state1;
  8531.   }
  8532.  state0:;
  8533.  if ((!((frame->arg0==((FMAPSTRITER_INLINE) NULL))))) {
  8534.   {
  8535.    frame->nested1 = ALLOCATE(FMAPSTRITER_INLI_7949_frame);
  8536.    frame->nested1->state = 0;
  8537.    while (1) {
  8538.     if (frame->nested1->state == 0) {
  8539.      frame->noname7946 = frame->arg0;
  8540.      frame->nested1->arg0 = frame->noname7946;
  8541.     }
  8542.     local0 = FMAPSTRITER_INLI_7949(frame->nested1);
  8543.     if (frame->nested1->state == -1) goto after_loop;
  8544.     frame->r_7947 = local0;
  8545.     local1 = frame->r_7947.t1;
  8546.     if ((!(FMAPSTRITER_INLI_1154(frame->arg0, local1, FMAPSTRITER_INLI_1122(frame->arg0))))) {
  8547.      frame->state = 1;
  8548.      return frame->r_7947;
  8549.      state1:;
  8550.     }
  8551.    }
  8552.   }
  8553.   after_loop: ;
  8554.   GC_free(frame->nested1); frame->nested1 = NULL;
  8555.  }
  8556.  if (!FMAPSTRITER_INLI_1037(frame->arg0)) {
  8557.   fprintf(stderr,"Failed invariant FMAP{STR,ITER_INLINE}::invariant:BOOL ../Library/fmap.sa:95:8\n");
  8558.   exit(16);
  8559.  }
  8560.  frame->state = -1;
  8561.  return dummy;
  8562. }
  8563.  
  8564.  
  8565. TUPSTRITER_INLINE FMAPSTRITER_INLI_7949(FMAPSTRITER_INLI_7949_frame frame) {
  8566.  TUPSTRITER_INLINE dummy;
  8567.  INT local0;
  8568.  switch (frame->state) {
  8569.   case 0: goto state0;
  8570.   case 1: goto state1;
  8571.   }
  8572.  state0:;
  8573.  if (!((!((frame->arg0==((FMAPSTRITER_INLINE) NULL)))))) {
  8574.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  8575.   exit(16);
  8576.  }
  8577.  {
  8578.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  8579.   frame->nested1->state = 0;
  8580.   while (1) {
  8581.    frame->state = 1;
  8582.    if (frame->nested1->state == 0) {
  8583.     frame->noname7951 = (frame->arg0->asize);
  8584.     frame->nested1->arg0 = frame->noname7951;
  8585.    }
  8586.    local0 = INT_times_INT(frame->nested1);
  8587.    if (frame->nested1->state == -1) goto after_loop;
  8588.    return FMAPSTRITER_INLI_1151(frame->arg0, local0);
  8589.    state1:;
  8590.   }
  8591.  }
  8592.  after_loop: ;
  8593.  GC_free(frame->nested1); frame->nested1 = NULL;
  8594.  frame->state = -1;
  8595.  return dummy;
  8596. }
  8597.  
  8598.  
  8599. void FMAPSTRITER_INLI_1135(FMAPSTRITER_INLI_1135_frame frame) {
  8600.  INT local0;
  8601.  INT local1;
  8602.  switch (frame->state) {
  8603.   case 0: goto state0;
  8604.   case 1: goto state1;
  8605.   }
  8606.  state0:;
  8607.  if (!((!((frame->arg0==((FMAPSTRITER_INLINE) NULL)))))) {
  8608.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  8609.   exit(16);
  8610.  }
  8611.  {
  8612.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  8613.   frame->nested1->state = 0;
  8614.   while (1) {
  8615.    if (frame->nested1->state == 0) {
  8616.     frame->noname7953 = (frame->arg0->asize);
  8617.     frame->nested1->arg0 = frame->noname7953;
  8618.    }
  8619.    local0 = INT_times_INT(frame->nested1);
  8620.    if (frame->nested1->state == -1) goto after_loop;
  8621.    local1 = local0;
  8622.    FMAPSTRITER_INLI_1156(frame->arg0, local1, frame->arg1);
  8623.    frame->state = 1;
  8624.    return;
  8625.    state1:;
  8626.   }
  8627.  }
  8628.  after_loop: ;
  8629.  GC_free(frame->nested1); frame->nested1 = NULL;
  8630.  frame->state = -1;
  8631.  return;
  8632. }
  8633.  
  8634.  
  8635. TUPSTRTUPSTRSTR FMAPSTRTUPSTRSTR_1080(FMAPSTRTUPSTRSTR_1080_frame frame) {
  8636.  TUPSTRTUPSTRSTR dummy;
  8637.  TUPSTRTUPSTRSTR local0;
  8638.  STR local1;
  8639.  switch (frame->state) {
  8640.   case 0: goto state0;
  8641.   case 1: goto state1;
  8642.   }
  8643.  state0:;
  8644.  if ((!((frame->arg0==((FMAPSTRTUPSTRSTR) NULL))))) {
  8645.   {
  8646.    frame->nested1 = ALLOCATE(FMAPSTRTUPSTRSTR_7959_frame);
  8647.    frame->nested1->state = 0;
  8648.    while (1) {
  8649.     if (frame->nested1->state == 0) {
  8650.      frame->noname7956 = frame->arg0;
  8651.      frame->nested1->arg0 = frame->noname7956;
  8652.     }
  8653.     local0 = FMAPSTRTUPSTRSTR_7959(frame->nested1);
  8654.     if (frame->nested1->state == -1) goto after_loop;
  8655.     frame->r_7957 = local0;
  8656.     local1 = frame->r_7957.t1;
  8657.     if ((!(FMAPSTRTUPSTRSTR_1087(frame->arg0, local1, FMAPSTRTUPSTRSTR_1055(frame->arg0))))) {
  8658.      frame->state = 1;
  8659.      return frame->r_7957;
  8660.      state1:;
  8661.     }
  8662.    }
  8663.   }
  8664.   after_loop: ;
  8665.   GC_free(frame->nested1); frame->nested1 = NULL;
  8666.  }
  8667.  if (!FMAPSTRTUPSTRSTR_1035(frame->arg0)) {
  8668.   fprintf(stderr,"Failed invariant FMAP{STR,TUP{STR,STR}}::invariant:BOOL ../Library/fmap.sa:95:8\n");
  8669.   exit(16);
  8670.  }
  8671.  frame->state = -1;
  8672.  return dummy;
  8673. }
  8674.  
  8675.  
  8676. TUPSTRTUPSTRSTR FMAPSTRTUPSTRSTR_7959(FMAPSTRTUPSTRSTR_7959_frame frame) {
  8677.  TUPSTRTUPSTRSTR dummy;
  8678.  INT local0;
  8679.  switch (frame->state) {
  8680.   case 0: goto state0;
  8681.   case 1: goto state1;
  8682.   }
  8683.  state0:;
  8684.  if (!((!((frame->arg0==((FMAPSTRTUPSTRSTR) NULL)))))) {
  8685.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  8686.   exit(16);
  8687.  }
  8688.  {
  8689.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  8690.   frame->nested1->state = 0;
  8691.   while (1) {
  8692.    frame->state = 1;
  8693.    if (frame->nested1->state == 0) {
  8694.     frame->noname7961 = (frame->arg0->asize);
  8695.     frame->nested1->arg0 = frame->noname7961;
  8696.    }
  8697.    local0 = INT_times_INT(frame->nested1);
  8698.    if (frame->nested1->state == -1) goto after_loop;
  8699.    return FMAPSTRTUPSTRSTR_1084(frame->arg0, local0);
  8700.    state1:;
  8701.   }
  8702.  }
  8703.  after_loop: ;
  8704.  GC_free(frame->nested1); frame->nested1 = NULL;
  8705.  frame->state = -1;
  8706.  return dummy;
  8707. }
  8708.  
  8709.  
  8710. void FMAPSTRTUPSTRSTR_1068(FMAPSTRTUPSTRSTR_1068_frame frame) {
  8711.  INT local0;
  8712.  INT local1;
  8713.  switch (frame->state) {
  8714.   case 0: goto state0;
  8715.   case 1: goto state1;
  8716.   }
  8717.  state0:;
  8718.  if (!((!((frame->arg0==((FMAPSTRTUPSTRSTR) NULL)))))) {
  8719.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  8720.   exit(16);
  8721.  }
  8722.  {
  8723.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  8724.   frame->nested1->state = 0;
  8725.   while (1) {
  8726.    if (frame->nested1->state == 0) {
  8727.     frame->noname7963 = (frame->arg0->asize);
  8728.     frame->nested1->arg0 = frame->noname7963;
  8729.    }
  8730.    local0 = INT_times_INT(frame->nested1);
  8731.    if (frame->nested1->state == -1) goto after_loop;
  8732.    local1 = local0;
  8733.    FMAPSTRTUPSTRSTR_1089(frame->arg0, local1, frame->arg1);
  8734.    frame->state = 1;
  8735.    return;
  8736.    state1:;
  8737.   }
  8738.  }
  8739.  after_loop: ;
  8740.  GC_free(frame->nested1); frame->nested1 = NULL;
  8741.  frame->state = -1;
  8742.  return;
  8743. }
  8744.  
  8745.  
  8746. STR BE_LEX_elt_STR(BE_LEX_elt_STR_frame frame) {
  8747.  STR dummy;
  8748.  switch (frame->state) {
  8749.   case 0: goto state0;
  8750.   case 1: goto state1;
  8751.   }
  8752.  state0:;
  8753.  while (1) {
  8754.   frame->s_7966 = BE_LEX_get_str_STR(frame->arg0);
  8755.   if ((frame->s_7966==((STR) NULL))) {
  8756.    frame->state = -1;
  8757.    return;
  8758.   }
  8759.   else {
  8760.    frame->state = 1;
  8761.    return frame->s_7966;
  8762.    state1:;
  8763.   }
  8764.  }
  8765.  after_loop: ;
  8766.  frame->state = -1;
  8767.  return dummy;
  8768. }
  8769.  
  8770.  
  8771. TUPSTRSTR FMAPSTRSTR_pairs(FMAPSTRSTR_pairs_frame frame) {
  8772.  TUPSTRSTR dummy;
  8773.  TUPSTRSTR local0;
  8774.  STR local1;
  8775.  switch (frame->state) {
  8776.   case 0: goto state0;
  8777.   case 1: goto state1;
  8778.   }
  8779.  state0:;
  8780.  if ((!((frame->arg0==((FMAPSTRSTR) NULL))))) {
  8781.   {
  8782.    frame->nested1 = ALLOCATE(FMAPSTRSTR_aelt__frame);
  8783.    frame->nested1->state = 0;
  8784.    while (1) {
  8785.     if (frame->nested1->state == 0) {
  8786.      frame->noname7969 = frame->arg0;
  8787.      frame->nested1->arg0 = frame->noname7969;
  8788.     }
  8789.     local0 = FMAPSTRSTR_aelt_(frame->nested1);
  8790.     if (frame->nested1->state == -1) goto after_loop;
  8791.     frame->r_7970 = local0;
  8792.     local1 = frame->r_7970.t1;
  8793.     if ((!(FMAPSTRSTR_key_e(frame->arg0, local1, FMAPSTRSTR_key_n(frame->arg0))))) {
  8794.      frame->state = 1;
  8795.      return frame->r_7970;
  8796.      state1:;
  8797.     }
  8798.    }
  8799.   }
  8800.   after_loop: ;
  8801.   GC_free(frame->nested1); frame->nested1 = NULL;
  8802.  }
  8803.  if (!FMAPSTRSTR_invar(frame->arg0)) {
  8804.   fprintf(stderr,"Failed invariant FMAP{STR,STR}::invariant:BOOL ../Library/fmap.sa:95:8\n");
  8805.   exit(16);
  8806.  }
  8807.  frame->state = -1;
  8808.  return dummy;
  8809. }
  8810.  
  8811.  
  8812. TUPSTRSTR FMAPSTRSTR_aelt_(FMAPSTRSTR_aelt__frame frame) {
  8813.  TUPSTRSTR dummy;
  8814.  INT local0;
  8815.  switch (frame->state) {
  8816.   case 0: goto state0;
  8817.   case 1: goto state1;
  8818.   }
  8819.  state0:;
  8820.  if (!((!((frame->arg0==((FMAPSTRSTR) NULL)))))) {
  8821.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  8822.   exit(16);
  8823.  }
  8824.  {
  8825.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  8826.   frame->nested1->state = 0;
  8827.   while (1) {
  8828.    frame->state = 1;
  8829.    if (frame->nested1->state == 0) {
  8830.     frame->noname7973 = (frame->arg0->asize);
  8831.     frame->nested1->arg0 = frame->noname7973;
  8832.    }
  8833.    local0 = INT_times_INT(frame->nested1);
  8834.    if (frame->nested1->state == -1) goto after_loop;
  8835.    return FMAPSTRSTR_aget_(frame->arg0, local0);
  8836.    state1:;
  8837.   }
  8838.  }
  8839.  after_loop: ;
  8840.  GC_free(frame->nested1); frame->nested1 = NULL;
  8841.  frame->state = -1;
  8842.  return dummy;
  8843. }
  8844.  
  8845.  
  8846. TUPSTRFSETSTR FMAPSTRFSETSTR_p(FMAPSTRFSETSTR_p_frame frame) {
  8847.  TUPSTRFSETSTR dummy;
  8848.  TUPSTRFSETSTR local0;
  8849.  STR local1;
  8850.  switch (frame->state) {
  8851.   case 0: goto state0;
  8852.   case 1: goto state1;
  8853.   }
  8854.  state0:;
  8855.  if ((!((frame->arg0==((FMAPSTRFSETSTR) NULL))))) {
  8856.   {
  8857.    frame->nested1 = ALLOCATE(FMAPSTRFSETSTR_a_7979_frame);
  8858.    frame->nested1->state = 0;
  8859.    while (1) {
  8860.     if (frame->nested1->state == 0) {
  8861.      frame->noname7976 = frame->arg0;
  8862.      frame->nested1->arg0 = frame->noname7976;
  8863.     }
  8864.     local0 = FMAPSTRFSETSTR_a_7979(frame->nested1);
  8865.     if (frame->nested1->state == -1) goto after_loop;
  8866.     frame->r_7977 = local0;
  8867.     local1 = frame->r_7977.t1;
  8868.     if ((!(FMAPSTRFSETSTR_k_565(frame->arg0, local1, FMAPSTRFSETSTR_k(frame->arg0))))) {
  8869.      frame->state = 1;
  8870.      return frame->r_7977;
  8871.      state1:;
  8872.     }
  8873.    }
  8874.   }
  8875.   after_loop: ;
  8876.   GC_free(frame->nested1); frame->nested1 = NULL;
  8877.  }
  8878.  if (!FMAPSTRFSETSTR_i(frame->arg0)) {
  8879.   fprintf(stderr,"Failed invariant FMAP{STR,FSET{STR}}::invariant:BOOL ../Library/fmap.sa:95:8\n");
  8880.   exit(16);
  8881.  }
  8882.  frame->state = -1;
  8883.  return dummy;
  8884. }
  8885.  
  8886.  
  8887. BOOL FMAPSTRFSETSTR_i(FMAPSTRFSETSTR self) {
  8888.  BOOL noname7980 = ((BOOL) 0);
  8889.  BOOL local0;
  8890.  INT local1;
  8891.  INT local2;
  8892.  if ((self==((FMAPSTRFSETSTR) NULL))) {
  8893.   local0 = TRUE;
  8894.  } else {
  8895.   local1 = self->hsize;
  8896.   local2 = 0;
  8897.   local0 = INT_is_bet_INT_I(local1, local2, (self->asize));
  8898.  }
  8899.  return local0;
  8900. }
  8901.  
  8902.  
  8903. TUPSTRFSETSTR FMAPSTRFSETSTR_a_7979(FMAPSTRFSETSTR_a_7979_frame frame) {
  8904.  TUPSTRFSETSTR dummy;
  8905.  INT local0;
  8906.  switch (frame->state) {
  8907.   case 0: goto state0;
  8908.   case 1: goto state1;
  8909.   }
  8910.  state0:;
  8911.  if (!((!((frame->arg0==((FMAPSTRFSETSTR) NULL)))))) {
  8912.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:48:7\n");
  8913.   exit(16);
  8914.  }
  8915.  {
  8916.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  8917.   frame->nested1->state = 0;
  8918.   while (1) {
  8919.    frame->state = 1;
  8920.    if (frame->nested1->state == 0) {
  8921.     frame->noname7982 = (frame->arg0->asize);
  8922.     frame->nested1->arg0 = frame->noname7982;
  8923.    }
  8924.    local0 = INT_times_INT(frame->nested1);
  8925.    if (frame->nested1->state == -1) goto after_loop;
  8926.    return FMAPSTRFSETSTR_a_562(frame->arg0, local0);
  8927.    state1:;
  8928.   }
  8929.  }
  8930.  after_loop: ;
  8931.  GC_free(frame->nested1); frame->nested1 = NULL;
  8932.  frame->state = -1;
  8933.  return dummy;
  8934. }
  8935.  
  8936.  
  8937. BOOL FLISTSFILE_ID_in(FLISTSFILE_ID self) {
  8938.  BOOL noname7984 = ((BOOL) 0);
  8939.  BOOL local0;
  8940.  INT local1;
  8941.  INT local2;
  8942.  INT local3;
  8943.  if ((self==((FLISTSFILE_ID) NULL))) {
  8944.   return TRUE;
  8945.  }
  8946.  local1 = self->loc_17;
  8947.  local2 = 0;
  8948.  if (INT_is_bet_INT_I(local1, local2, (self->asize))) {
  8949.   local3 = (self->asize);
  8950.   local0 = (local3>0);
  8951.  } else {
  8952.   local0 = FALSE;
  8953.  }
  8954.  return local0;
  8955. }
  8956.  
  8957.  
  8958. void FLISTSFILE_ID_as_763(FLISTSFILE_ID_as_763_frame frame) {
  8959.  INT local0;
  8960.  INT local1;
  8961.  switch (frame->state) {
  8962.   case 0: goto state0;
  8963.   case 1: goto state1;
  8964.   }
  8965.  state0:;
  8966.  if (!((!((frame->arg0==((FLISTSFILE_ID) NULL)))))) {
  8967.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  8968.   exit(16);
  8969.  }
  8970.  {
  8971.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  8972.   frame->nested1->state = 0;
  8973.   while (1) {
  8974.    if (frame->nested1->state == 0) {
  8975.     frame->noname7985 = (frame->arg0->asize);
  8976.     frame->nested1->arg0 = frame->noname7985;
  8977.    }
  8978.    local0 = INT_times_INT(frame->nested1);
  8979.    if (frame->nested1->state == -1) goto after_loop;
  8980.    local1 = local0;
  8981.    FLISTSFILE_ID_as_767(frame->arg0, local1, frame->arg1);
  8982.    frame->state = 1;
  8983.    return;
  8984.    state1:;
  8985.   }
  8986.  }
  8987.  after_loop: ;
  8988.  GC_free(frame->nested1); frame->nested1 = NULL;
  8989.  frame->state = -1;
  8990.  return;
  8991. }
  8992.  
  8993.  
  8994. SFILE_ID FLISTSFILE_ID_el(FLISTSFILE_ID_el_frame frame) {
  8995.  SFILE_ID dummy;
  8996.  SFILE_ID local0;
  8997.  switch (frame->state) {
  8998.   case 0: goto state0;
  8999.   case 1: goto state1;
  9000.   }
  9001.  state0:;
  9002.  if ((!((frame->arg0==((FLISTSFILE_ID) NULL))))) {
  9003.   {
  9004.    frame->nested1 = ALLOCATE(FLISTSFILE_ID_ae_frame);
  9005.    frame->nested1->state = 0;
  9006.    while (1) {
  9007.     frame->state = 1;
  9008.     if (frame->nested1->state == 0) {
  9009.      frame->noname7988 = frame->arg0;
  9010.      frame->noname7989 = 0;
  9011.      frame->noname7990 = frame->arg0->loc_17;
  9012.      frame->nested1->arg0 = frame->noname7988;
  9013.      frame->nested1->arg1 = frame->noname7989;
  9014.      frame->nested1->arg2 = frame->noname7990;
  9015.     }
  9016.     local0 = FLISTSFILE_ID_ae(frame->nested1);
  9017.     if (frame->nested1->state == -1) goto after_loop;
  9018.     return local0;
  9019.     state1:;
  9020.    }
  9021.   }
  9022.   after_loop: ;
  9023.   GC_free(frame->nested1); frame->nested1 = NULL;
  9024.  }
  9025.  if (!FLISTSFILE_ID_in(frame->arg0)) {
  9026.   fprintf(stderr,"Failed invariant FLIST{SFILE_ID}::invariant:BOOL ../Library/flist.sa:127:6\n");
  9027.   exit(16);
  9028.  }
  9029.  frame->state = -1;
  9030.  return dummy;
  9031. }
  9032.  
  9033.  
  9034. SFILE_ID FLISTSFILE_ID_ae(FLISTSFILE_ID_ae_frame frame) {
  9035.  SFILE_ID dummy;
  9036.  BOOL local0;
  9037.  BOOL local1;
  9038.  INT local2;
  9039.  INT local3;
  9040.  INT local4;
  9041.  INT local5;
  9042.  INT local6;
  9043.  INT local7;
  9044.  switch (frame->state) {
  9045.   case 0: goto state0;
  9046.   case 1: goto state1;
  9047.   }
  9048.  state0:;
  9049.  if ((!((frame->arg0==((FLISTSFILE_ID) NULL))))) {
  9050.   local2 = 0;
  9051.   local3 = (frame->arg0->asize);
  9052.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  9053.  } else {
  9054.   local1 = FALSE;
  9055.  }
  9056.  if (local1) {
  9057.   local4 = 0;
  9058.   local5 = (frame->arg0->asize);
  9059.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  9060.  } else {
  9061.   local0 = FALSE;
  9062.  }
  9063.  if (!(local0)) {
  9064.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  9065.   exit(16);
  9066.  }
  9067.  {
  9068.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  9069.   frame->nested1->state = 0;
  9070.   while (1) {
  9071.    frame->state = 1;
  9072.    if (frame->nested1->state == 0) {
  9073.     frame->noname7993 = frame->arg1;
  9074.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  9075.     frame->noname7994 = (c_INT_minus_INT_INT_chk(local7,1));
  9076.     frame->nested1->arg0 = frame->noname7993;
  9077.     frame->nested1->arg1 = frame->noname7994;
  9078.    }
  9079.    local6 = INT_upto_INT_INT(frame->nested1);
  9080.    if (frame->nested1->state == -1) goto after_loop;
  9081.    return FLISTSFILE_ID_ag(frame->arg0, local6);
  9082.    state1:;
  9083.   }
  9084.  }
  9085.  after_loop: ;
  9086.  GC_free(frame->nested1); frame->nested1 = NULL;
  9087.  frame->state = -1;
  9088.  return dummy;
  9089. }
  9090.  
  9091.  
  9092. void STR_aset_CHAR(STR_aset_CHAR_frame frame) {
  9093.  INT local0;
  9094.  INT local1;
  9095.  switch (frame->state) {
  9096.   case 0: goto state0;
  9097.   case 1: goto state1;
  9098.   }
  9099.  state0:;
  9100.  if (!((!((frame->arg0==((STR) NULL)))))) {
  9101.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  9102.   exit(16);
  9103.  }
  9104.  {
  9105.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  9106.   frame->nested1->state = 0;
  9107.   while (1) {
  9108.    if (frame->nested1->state == 0) {
  9109.     frame->noname7996 = (frame->arg0->asize);
  9110.     frame->nested1->arg0 = frame->noname7996;
  9111.    }
  9112.    local0 = INT_times_INT(frame->nested1);
  9113.    if (frame->nested1->state == -1) goto after_loop;
  9114.    local1 = local0;
  9115.    STR_aset_INT_CHAR(frame->arg0, local1, frame->arg1);
  9116.    frame->state = 1;
  9117.    return;
  9118.    state1:;
  9119.   }
  9120.  }
  9121.  after_loop: ;
  9122.  GC_free(frame->nested1); frame->nested1 = NULL;
  9123.  frame->state = -1;
  9124.  return;
  9125. }
  9126.  
  9127.  
  9128. void FMAPSTRSTR_aset_(FMAPSTRSTR_aset__frame frame) {
  9129.  INT local0;
  9130.  INT local1;
  9131.  switch (frame->state) {
  9132.   case 0: goto state0;
  9133.   case 1: goto state1;
  9134.   }
  9135.  state0:;
  9136.  if (!((!((frame->arg0==((FMAPSTRSTR) NULL)))))) {
  9137.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  9138.   exit(16);
  9139.  }
  9140.  {
  9141.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  9142.   frame->nested1->state = 0;
  9143.   while (1) {
  9144.    if (frame->nested1->state == 0) {
  9145.     frame->noname7998 = (frame->arg0->asize);
  9146.     frame->nested1->arg0 = frame->noname7998;
  9147.    }
  9148.    local0 = INT_times_INT(frame->nested1);
  9149.    if (frame->nested1->state == -1) goto after_loop;
  9150.    local1 = local0;
  9151.    FMAPSTRSTR_aset__595(frame->arg0, local1, frame->arg1);
  9152.    frame->state = 1;
  9153.    return;
  9154.    state1:;
  9155.   }
  9156.  }
  9157.  after_loop: ;
  9158.  GC_free(frame->nested1); frame->nested1 = NULL;
  9159.  frame->state = -1;
  9160.  return;
  9161. }
  9162.  
  9163.  
  9164. void FMAPSTRFSETSTR_a_549(FMAPSTRFSETSTR_a_549_frame frame) {
  9165.  INT local0;
  9166.  INT local1;
  9167.  switch (frame->state) {
  9168.   case 0: goto state0;
  9169.   case 1: goto state1;
  9170.   }
  9171.  state0:;
  9172.  if (!((!((frame->arg0==((FMAPSTRFSETSTR) NULL)))))) {
  9173.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  9174.   exit(16);
  9175.  }
  9176.  {
  9177.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  9178.   frame->nested1->state = 0;
  9179.   while (1) {
  9180.    if (frame->nested1->state == 0) {
  9181.     frame->noname8000 = (frame->arg0->asize);
  9182.     frame->nested1->arg0 = frame->noname8000;
  9183.    }
  9184.    local0 = INT_times_INT(frame->nested1);
  9185.    if (frame->nested1->state == -1) goto after_loop;
  9186.    local1 = local0;
  9187.    FMAPSTRFSETSTR_a_567(frame->arg0, local1, frame->arg1);
  9188.    frame->state = 1;
  9189.    return;
  9190.    state1:;
  9191.   }
  9192.  }
  9193.  after_loop: ;
  9194.  GC_free(frame->nested1); frame->nested1 = NULL;
  9195.  frame->state = -1;
  9196.  return;
  9197. }
  9198.  
  9199.  
  9200. CHAR STR_elt_INT_CHAR(STR_elt_INT_CHAR_frame frame) {
  9201.  CHAR dummy;
  9202.  CHAR local0;
  9203.  switch (frame->state) {
  9204.   case 0: goto state0;
  9205.   case 1: goto state1;
  9206.   }
  9207.  state0:;
  9208.  if ((!((frame->arg0==((STR) NULL))))) {
  9209.   {
  9210.    frame->nested1 = ALLOCATE(STR_aelt_INT_CHAR_frame);
  9211.    frame->nested1->state = 0;
  9212.    while (1) {
  9213.     frame->state = 1;
  9214.     if (frame->nested1->state == 0) {
  9215.      frame->noname8003 = frame->arg0;
  9216.      frame->noname8004 = frame->arg1;
  9217.      frame->nested1->arg0 = frame->noname8003;
  9218.      frame->nested1->arg1 = frame->noname8004;
  9219.     }
  9220.     local0 = STR_aelt_INT_CHAR(frame->nested1);
  9221.     if (frame->nested1->state == -1) goto after_loop;
  9222.     return local0;
  9223.     state1:;
  9224.    }
  9225.   }
  9226.   after_loop: ;
  9227.   GC_free(frame->nested1); frame->nested1 = NULL;
  9228.  }
  9229.  frame->state = -1;
  9230.  return dummy;
  9231. }
  9232.  
  9233.  
  9234. CHAR STR_aelt_INT_CHAR(STR_aelt_INT_CHAR_frame frame) {
  9235.  CHAR dummy;
  9236.  BOOL local0;
  9237.  INT local1;
  9238.  INT local2;
  9239.  INT local3;
  9240.  INT local4;
  9241.  switch (frame->state) {
  9242.   case 0: goto state0;
  9243.   case 1: goto state1;
  9244.   }
  9245.  state0:;
  9246.  if ((!((frame->arg0==((STR) NULL))))) {
  9247.   local1 = 0;
  9248.   local2 = (frame->arg0->asize);
  9249.   local0 = INT_is_bet_INT_I(frame->arg1, local1, (c_INT_minus_INT_INT_chk(local2,1)));
  9250.  } else {
  9251.   local0 = FALSE;
  9252.  }
  9253.  if (!(local0)) {
  9254.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:53:7\n");
  9255.   exit(16);
  9256.  }
  9257.  {
  9258.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  9259.   frame->nested1->state = 0;
  9260.   while (1) {
  9261.    frame->state = 1;
  9262.    if (frame->nested1->state == 0) {
  9263.     frame->noname8007 = frame->arg1;
  9264.     local4 = (frame->arg0->asize);
  9265.     frame->noname8008 = (c_INT_minus_INT_INT_chk(local4,1));
  9266.     frame->nested1->arg0 = frame->noname8007;
  9267.     frame->nested1->arg1 = frame->noname8008;
  9268.    }
  9269.    local3 = INT_upto_INT_INT(frame->nested1);
  9270.    if (frame->nested1->state == -1) goto after_loop;
  9271.    return STR_aget_INT_CHAR(frame->arg0, local3);
  9272.    state1:;
  9273.   }
  9274.  }
  9275.  after_loop: ;
  9276.  GC_free(frame->nested1); frame->nested1 = NULL;
  9277.  frame->state = -1;
  9278.  return dummy;
  9279. }
  9280.  
  9281.  
  9282. void ARRAYSTR_aset_IN_497(ARRAYSTR_aset_IN_497_frame frame) {
  9283.  BOOL local0;
  9284.  INT local1;
  9285.  INT local2;
  9286.  INT local3;
  9287.  INT local4;
  9288.  INT local5;
  9289.  switch (frame->state) {
  9290.   case 0: goto state0;
  9291.   case 1: goto state1;
  9292.   }
  9293.  state0:;
  9294.  if ((!((frame->arg0==((ARRAYSTR) NULL))))) {
  9295.   local1 = 0;
  9296.   local2 = (frame->arg0->asize);
  9297.   local0 = INT_is_bet_INT_I(frame->arg1, local1, (c_INT_minus_INT_INT_chk(local2,1)));
  9298.  } else {
  9299.   local0 = FALSE;
  9300.  }
  9301.  if (!(local0)) {
  9302.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:83:7\n");
  9303.   exit(16);
  9304.  }
  9305.  {
  9306.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  9307.   frame->nested1->state = 0;
  9308.   while (1) {
  9309.    if (frame->nested1->state == 0) {
  9310.     frame->noname8010 = frame->arg1;
  9311.     local4 = (frame->arg0->asize);
  9312.     frame->noname8011 = (c_INT_minus_INT_INT_chk(local4,1));
  9313.     frame->nested1->arg0 = frame->noname8010;
  9314.     frame->nested1->arg1 = frame->noname8011;
  9315.    }
  9316.    local3 = INT_upto_INT_INT(frame->nested1);
  9317.    if (frame->nested1->state == -1) goto after_loop;
  9318.    local5 = local3;
  9319.    ARRAYSTR_aset_IN_4289(frame->arg0, local5, frame->arg2);
  9320.    frame->state = 1;
  9321.    return;
  9322.    state1:;
  9323.   }
  9324.  }
  9325.  after_loop: ;
  9326.  GC_free(frame->nested1); frame->nested1 = NULL;
  9327.  frame->state = -1;
  9328.  return;
  9329. }
  9330.  
  9331.  
  9332. void ARRAYSTR_aset_STR(ARRAYSTR_aset_STR_frame frame) {
  9333.  INT local0;
  9334.  INT local1;
  9335.  switch (frame->state) {
  9336.   case 0: goto state0;
  9337.   case 1: goto state1;
  9338.   }
  9339.  state0:;
  9340.  if (!((!((frame->arg0==((ARRAYSTR) NULL)))))) {
  9341.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  9342.   exit(16);
  9343.  }
  9344.  {
  9345.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  9346.   frame->nested1->state = 0;
  9347.   while (1) {
  9348.    if (frame->nested1->state == 0) {
  9349.     frame->noname8013 = (frame->arg0->asize);
  9350.     frame->nested1->arg0 = frame->noname8013;
  9351.    }
  9352.    local0 = INT_times_INT(frame->nested1);
  9353.    if (frame->nested1->state == -1) goto after_loop;
  9354.    local1 = local0;
  9355.    ARRAYSTR_aset_IN_4289(frame->arg0, local1, frame->arg1);
  9356.    frame->state = 1;
  9357.    return;
  9358.    state1:;
  9359.   }
  9360.  }
  9361.  after_loop: ;
  9362.  GC_free(frame->nested1); frame->nested1 = NULL;
  9363.  frame->state = -1;
  9364.  return;
  9365. }
  9366.  
  9367.  
  9368. void ARRAYSTR_set_STR(ARRAYSTR_set_STR_frame frame) {
  9369.  switch (frame->state) {
  9370.   case 0: goto state0;
  9371.   case 1: goto state1;
  9372.   }
  9373.  state0:;
  9374.  if ((!((frame->arg0==((ARRAYSTR) NULL))))) {
  9375.   {
  9376.    frame->nested1 = ALLOCATE(ARRAYSTR_aset_STR_frame);
  9377.    frame->nested1->state = 0;
  9378.    while (1) {
  9379.     if (frame->nested1->state == 0) {
  9380.      frame->noname8015 = frame->arg0;
  9381.      frame->nested1->arg0 = frame->noname8015;
  9382.     }
  9383.     frame->nested1->arg1 = frame->arg1;
  9384.     ARRAYSTR_aset_STR(frame->nested1);
  9385.     if (frame->nested1->state == -1) goto after_loop;
  9386.     0 /* No return value from iter call */;
  9387.     frame->state = 1;
  9388.     return;
  9389.     state1:;
  9390.    }
  9391.   }
  9392.   after_loop: ;
  9393.   GC_free(frame->nested1); frame->nested1 = NULL;
  9394.  }
  9395.  frame->state = -1;
  9396.  return;
  9397. }
  9398.  
  9399.  
  9400. void ARRAYSTR_aset_IN(ARRAYSTR_aset_IN_frame frame) {
  9401.  BOOL local0;
  9402.  BOOL local1;
  9403.  INT local2;
  9404.  INT local3;
  9405.  INT local4;
  9406.  INT local5;
  9407.  INT local6;
  9408.  INT local7;
  9409.  INT local8;
  9410.  switch (frame->state) {
  9411.   case 0: goto state0;
  9412.   case 1: goto state1;
  9413.   }
  9414.  state0:;
  9415.  if ((!((frame->arg0==((ARRAYSTR) NULL))))) {
  9416.   local2 = 0;
  9417.   local3 = (frame->arg0->asize);
  9418.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  9419.  } else {
  9420.   local1 = FALSE;
  9421.  }
  9422.  if (local1) {
  9423.   local4 = 0;
  9424.   local5 = (frame->arg0->asize);
  9425.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  9426.  } else {
  9427.   local0 = FALSE;
  9428.  }
  9429.  if (!(local0)) {
  9430.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:89:7\n");
  9431.   exit(16);
  9432.  }
  9433.  {
  9434.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  9435.   frame->nested1->state = 0;
  9436.   while (1) {
  9437.    if (frame->nested1->state == 0) {
  9438.     frame->noname8017 = frame->arg1;
  9439.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  9440.     frame->noname8018 = (c_INT_minus_INT_INT_chk(local7,1));
  9441.     frame->nested1->arg0 = frame->noname8017;
  9442.     frame->nested1->arg1 = frame->noname8018;
  9443.    }
  9444.    local6 = INT_upto_INT_INT(frame->nested1);
  9445.    if (frame->nested1->state == -1) goto after_loop;
  9446.    local8 = local6;
  9447.    ARRAYSTR_aset_IN_4289(frame->arg0, local8, frame->arg3);
  9448.    frame->state = 1;
  9449.    return;
  9450.    state1:;
  9451.   }
  9452.  }
  9453.  after_loop: ;
  9454.  GC_free(frame->nested1); frame->nested1 = NULL;
  9455.  frame->state = -1;
  9456.  return;
  9457. }
  9458.  
  9459.  
  9460. STR ARRAYSTR_aelt_IN(ARRAYSTR_aelt_IN_frame frame) {
  9461.  STR dummy;
  9462.  BOOL local0;
  9463.  BOOL local1;
  9464.  INT local2;
  9465.  INT local3;
  9466.  INT local4;
  9467.  INT local5;
  9468.  INT local6;
  9469.  INT local7;
  9470.  switch (frame->state) {
  9471.   case 0: goto state0;
  9472.   case 1: goto state1;
  9473.   }
  9474.  state0:;
  9475.  if ((!((frame->arg0==((ARRAYSTR) NULL))))) {
  9476.   local2 = 0;
  9477.   local3 = (frame->arg0->asize);
  9478.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  9479.  } else {
  9480.   local1 = FALSE;
  9481.  }
  9482.  if (local1) {
  9483.   local4 = 0;
  9484.   local5 = (frame->arg0->asize);
  9485.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  9486.  } else {
  9487.   local0 = FALSE;
  9488.  }
  9489.  if (!(local0)) {
  9490.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  9491.   exit(16);
  9492.  }
  9493.  {
  9494.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  9495.   frame->nested1->state = 0;
  9496.   while (1) {
  9497.    frame->state = 1;
  9498.    if (frame->nested1->state == 0) {
  9499.     frame->noname8021 = frame->arg1;
  9500.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  9501.     frame->noname8022 = (c_INT_minus_INT_INT_chk(local7,1));
  9502.     frame->nested1->arg0 = frame->noname8021;
  9503.     frame->nested1->arg1 = frame->noname8022;
  9504.    }
  9505.    local6 = INT_upto_INT_INT(frame->nested1);
  9506.    if (frame->nested1->state == -1) goto after_loop;
  9507.    return ARRAYSTR_aget_IN(frame->arg0, local6);
  9508.    state1:;
  9509.   }
  9510.  }
  9511.  after_loop: ;
  9512.  GC_free(frame->nested1); frame->nested1 = NULL;
  9513.  frame->state = -1;
  9514.  return dummy;
  9515. }
  9516.  
  9517.  
  9518. void FLISTSTR_aset_STR(FLISTSTR_aset_STR_frame frame) {
  9519.  INT local0;
  9520.  INT local1;
  9521.  switch (frame->state) {
  9522.   case 0: goto state0;
  9523.   case 1: goto state1;
  9524.   }
  9525.  state0:;
  9526.  if (!((!((frame->arg0==((FLISTSTR) NULL)))))) {
  9527.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  9528.   exit(16);
  9529.  }
  9530.  {
  9531.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  9532.   frame->nested1->state = 0;
  9533.   while (1) {
  9534.    if (frame->nested1->state == 0) {
  9535.     frame->noname8024 = (frame->arg0->asize);
  9536.     frame->nested1->arg0 = frame->noname8024;
  9537.    }
  9538.    local0 = INT_times_INT(frame->nested1);
  9539.    if (frame->nested1->state == -1) goto after_loop;
  9540.    local1 = local0;
  9541.    FLISTSTR_aset_IN(frame->arg0, local1, frame->arg1);
  9542.    frame->state = 1;
  9543.    return;
  9544.    state1:;
  9545.   }
  9546.  }
  9547.  after_loop: ;
  9548.  GC_free(frame->nested1); frame->nested1 = NULL;
  9549.  frame->state = -1;
  9550.  return;
  9551. }
  9552.  
  9553.  
  9554. void FSETSTR_aset_STR(FSETSTR_aset_STR_frame frame) {
  9555.  INT local0;
  9556.  INT local1;
  9557.  switch (frame->state) {
  9558.   case 0: goto state0;
  9559.   case 1: goto state1;
  9560.   }
  9561.  state0:;
  9562.  if (!((!((frame->arg0==((FSETSTR) NULL)))))) {
  9563.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:77:7\n");
  9564.   exit(16);
  9565.  }
  9566.  {
  9567.   frame->nested1 = ALLOCATE(INT_times_INT_frame);
  9568.   frame->nested1->state = 0;
  9569.   while (1) {
  9570.    if (frame->nested1->state == 0) {
  9571.     frame->noname8026 = (frame->arg0->asize);
  9572.     frame->nested1->arg0 = frame->noname8026;
  9573.    }
  9574.    local0 = INT_times_INT(frame->nested1);
  9575.    if (frame->nested1->state == -1) goto after_loop;
  9576.    local1 = local0;
  9577.    FSETSTR_aset_INT_STR(frame->arg0, local1, frame->arg1);
  9578.    frame->state = 1;
  9579.    return;
  9580.    state1:;
  9581.   }
  9582.  }
  9583.  after_loop: ;
  9584.  GC_free(frame->nested1); frame->nested1 = NULL;
  9585.  if (!FSETSTR_invarian(frame->arg0)) {
  9586.   fprintf(stderr,"Failed invariant FSET{STR}::invariant:BOOL ../Library/aref.sa:77:7\n");
  9587.   exit(16);
  9588.  }
  9589.  frame->state = -1;
  9590.  return;
  9591. }
  9592.  
  9593.  
  9594. void STR_aset_INT_INT(STR_aset_INT_INT_frame frame) {
  9595.  BOOL local0;
  9596.  BOOL local1;
  9597.  INT local2;
  9598.  INT local3;
  9599.  INT local4;
  9600.  INT local5;
  9601.  INT local6;
  9602.  INT local7;
  9603.  INT local8;
  9604.  switch (frame->state) {
  9605.   case 0: goto state0;
  9606.   case 1: goto state1;
  9607.   }
  9608.  state0:;
  9609.  if ((!((frame->arg0==((STR) NULL))))) {
  9610.   local2 = 0;
  9611.   local3 = (frame->arg0->asize);
  9612.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  9613.  } else {
  9614.   local1 = FALSE;
  9615.  }
  9616.  if (local1) {
  9617.   local4 = 0;
  9618.   local5 = (frame->arg0->asize);
  9619.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  9620.  } else {
  9621.   local0 = FALSE;
  9622.  }
  9623.  if (!(local0)) {
  9624.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:89:7\n");
  9625.   exit(16);
  9626.  }
  9627.  {
  9628.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  9629.   frame->nested1->state = 0;
  9630.   while (1) {
  9631.    if (frame->nested1->state == 0) {
  9632.     frame->noname8028 = frame->arg1;
  9633.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  9634.     frame->noname8029 = (c_INT_minus_INT_INT_chk(local7,1));
  9635.     frame->nested1->arg0 = frame->noname8028;
  9636.     frame->nested1->arg1 = frame->noname8029;
  9637.    }
  9638.    local6 = INT_upto_INT_INT(frame->nested1);
  9639.    if (frame->nested1->state == -1) goto after_loop;
  9640.    local8 = local6;
  9641.    STR_aset_INT_CHAR(frame->arg0, local8, frame->arg3);
  9642.    frame->state = 1;
  9643.    return;
  9644.    state1:;
  9645.   }
  9646.  }
  9647.  after_loop: ;
  9648.  GC_free(frame->nested1); frame->nested1 = NULL;
  9649.  frame->state = -1;
  9650.  return;
  9651. }
  9652.  
  9653.  
  9654. CHAR STR_aelt_INT_INT(STR_aelt_INT_INT_frame frame) {
  9655.  CHAR dummy;
  9656.  BOOL local0;
  9657.  BOOL local1;
  9658.  INT local2;
  9659.  INT local3;
  9660.  INT local4;
  9661.  INT local5;
  9662.  INT local6;
  9663.  INT local7;
  9664.  switch (frame->state) {
  9665.   case 0: goto state0;
  9666.   case 1: goto state1;
  9667.   }
  9668.  state0:;
  9669.  if ((!((frame->arg0==((STR) NULL))))) {
  9670.   local2 = 0;
  9671.   local3 = (frame->arg0->asize);
  9672.   local1 = INT_is_bet_INT_I(frame->arg1, local2, (c_INT_minus_INT_INT_chk(local3,1)));
  9673.  } else {
  9674.   local1 = FALSE;
  9675.  }
  9676.  if (local1) {
  9677.   local4 = 0;
  9678.   local5 = (frame->arg0->asize);
  9679.   local0 = INT_is_bet_INT_I(frame->arg2, local4, (c_INT_minus_INT_INT_chk(local5,frame->arg1)));
  9680.  } else {
  9681.   local0 = FALSE;
  9682.  }
  9683.  if (!(local0)) {
  9684.   fprintf(stderr,"Violation of precondition ../Library/aref.sa:58:7\n");
  9685.   exit(16);
  9686.  }
  9687.  {
  9688.   frame->nested1 = ALLOCATE(INT_upto_INT_INT_frame);
  9689.   frame->nested1->state = 0;
  9690.   while (1) {
  9691.    frame->state = 1;
  9692.    if (frame->nested1->state == 0) {
  9693.     frame->noname8032 = frame->arg1;
  9694.     local7 = (c_INT_plus_INT_INT_chk(frame->arg1,frame->arg2));
  9695.     frame->noname8033 = (c_INT_minus_INT_INT_chk(local7,1));
  9696.     frame->nested1->arg0 = frame->noname8032;
  9697.     frame->nested1->arg1 = frame->noname8033;
  9698.    }
  9699.    local6 = INT_upto_INT_INT(frame->nested1);
  9700.    if (frame->nested1->state == -1) goto after_loop;
  9701.    return STR_aget_INT_CHAR(frame->arg0, local6);
  9702.    state1:;
  9703.   }
  9704.  }
  9705.  after_loop: ;
  9706.  GC_free(frame->nested1); frame->nested1 = NULL;
  9707.  frame->state = -1;
  9708.  return dummy;
  9709. }
  9710.  
  9711.  
  9712. INT TP_CLASS_hash_INT(TP_CLASS self) {
  9713.  INT noname8035 = ((INT) 0);
  9714.  return (c_SYS_id_OB_INT(((SYS) NULL),((OB) self)));
  9715. }
  9716.  
  9717.  
  9718. INT TP_ROUT_hash_INT(TP_ROUT self) {
  9719.  INT noname8036 = ((INT) 0);
  9720.  return (c_SYS_id_OB_INT(((SYS) NULL),((OB) self)));
  9721. }
  9722.  
  9723.  
  9724. INT TP_ITER_hash_INT(TP_ITER self) {
  9725.  INT noname8037 = ((INT) 0);
  9726.  return (c_SYS_id_OB_INT(((SYS) NULL),((OB) self)));
  9727. }
  9728.  
  9729.  
  9730. SIG INLINE_ROUT_sig_SIG(INLINE_ROUT self) {
  9731.  SIG noname8038;
  9732.  return self->am->sig_6;
  9733. }
  9734.