Changeset 2327


Ignore:
Timestamp:
Feb 3, 2007, 2:19:28 AM (14 years ago)
Author:
orlov
Message:
  • Fresh-generated compiler sources in Java.
Location:
to-imperative/trunk/java/org/refal/plus/compiler
Files:
1 added
17 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/java/org/refal/plus/compiler/rfp__as2as.java

    r2204 r2327  
    1515  static private final Expr _c_1 = new Expr (new Word ("BRANCH"));
    1616  static private final Expr _c_2 = new Expr (new Word ("DBG"));
    17   static private final Expr _c_33 = new Expr (new Word ("PRAGMA"));
    18   static private final Expr _c_13 = new Expr (new Expr (new Word ("RESULT")), new Expr (_c_33));
    19   static private final Expr _c_3 = new Expr (_c_13, 0, 1);
     17  static private final Expr _c_34 = new Expr (new Word ("PRAGMA"));
     18  static private final Expr _c_12 = new Expr (new Expr (new Word ("RESULT")), new Expr (_c_34));
     19  static private final Expr _c_3 = new Expr (_c_12, 0, 1);
    2020  static private final Expr _c_4 = new Expr (new BigInteger ("1"));
    21   static private final Expr _c_32 = new Expr (new Expr (Expr.empty), new Expr (Expr.empty));
    22   static private final Expr _c_5 = new Expr (_c_32, 0, 1);
    23   static private final Expr _c_6 = new Expr (new BigInteger ("0"));
    24   static private final Expr _c_7 = new Expr (new Word ("BLOCK"));
    25   static private final Expr _c_8 = new Expr (new Word ("BLOCK?"));
    26   static private final Expr _c_9 = new Expr (new Word ("LEFT"));
    27   static private final Expr _c_10 = new Expr (new Word ("RIGHT"));
    28   static private final Expr _c_11 = new Expr (new Expr (new Word ("aux")), new Expr (new Word ("alt")));
    29   static private final Expr _c_12 = new Expr (new Expr (new Word ("FORMAT")), new Expr (_c_33));
    30   static private final Expr _c_14 = new Expr (new Word ("Tail"));
    31   static private final Expr _c_15 = new Expr (new Word ("FAIL"));
    32   static private final Expr _c_16 = new Expr (new Word ("NOT"));
    33   static private final Expr _c_17 = new Expr (new Word ("ITER"));
    34   static private final Expr _c_18 = new Expr (new Word ("TRY"));
    35   static private final Expr _c_19 = new Expr (_c_15);
    36   static private final Expr _c_20 = new Expr (new Word ("ERROR"));
    37   static private final Expr _c_21 = new Expr (new Expr (new Word ("aux")), new Expr (new Word ("block")));
    38   static private final Expr _c_22 = new Expr (new Word ("CALL"));
    39   static private final Expr _c_23 = new Expr (new Word ("Not-Tail"));
    40   static private final Expr _c_24 = new Expr (new Expr (new Word ("aux")), new Expr (new Word ("call")));
    41   static private final Expr _c_25 = new Expr (new Word ("PAREN"));
    42   static private final Expr _c_26 = new Expr (new Word ("arg"));
    43   static private final Expr _c_27 = new Expr (new Func () {
     21  static private final Expr _c_5 = new Expr (new BigInteger ("0"));
     22  static private final Expr _c_6 = new Expr (new Word ("BLOCK"));
     23  static private final Expr _c_7 = new Expr (new Word ("BLOCK?"));
     24  static private final Expr _c_8 = new Expr (new Word ("LEFT"));
     25  static private final Expr _c_9 = new Expr (new Word ("RIGHT"));
     26  static private final Expr _c_10 = new Expr (new Expr (new Word ("aux")), new Expr (new Word ("alt")));
     27  static private final Expr _c_11 = new Expr (new Expr (new Word ("FORMAT")), new Expr (_c_34));
     28  static private final Expr _c_13 = new Expr (new Word ("Tail"));
     29  static private final Expr _c_14 = new Expr (new Word ("FAIL"));
     30  static private final Expr _c_15 = new Expr (new Word ("NOT"));
     31  static private final Expr _c_16 = new Expr (new Word ("ITER"));
     32  static private final Expr _c_17 = new Expr (new Word ("TRY"));
     33  static private final Expr _c_18 = new Expr (_c_14);
     34  static private final Expr _c_19 = new Expr (new Word ("ERROR"));
     35  static private final Expr _c_20 = new Expr (new Expr (new Word ("aux")), new Expr (new Word ("block")));
     36  static private final Expr _c_21 = new Expr (new Word ("CALL"));
     37  static private final Expr _c_22 = new Expr (new Word ("Not-Tail"));
     38  static private final Expr _c_23 = new Expr (new Expr (new Word ("aux")), new Expr (new Word ("call")));
     39  static private final Expr _c_24 = new Expr (new Word ("PAREN"));
     40  static private final Expr _c_25 = new Expr (new Word ("arg"));
     41  static private final Expr _c_26 = new Expr (new Func () {
    4442    public boolean eval (Expr arg, Result res) throws RefalException {
    4543      return Old_m_Var_q_ (arg, res);
    4644    }
    4745  });
    48   static private final Expr _c_28 = new Expr (new Func () {
     46  static private final Expr _c_27 = new Expr (new Func () {
    4947    public boolean eval (Expr arg, Result res) throws RefalException {
    5048      Rename (arg, res);
     
    5250    }
    5351  });
    54   static private final Expr _c_29 = new Expr (_c_12, 0, 1);
     52  static private final Expr _c_28 = new Expr (_c_11, 0, 1);
     53  static private final Expr _c_29 = new Expr (new BigInteger ("2"));
    5554  static private final Expr _c_30 = new Expr (new Func () {
    5655    public boolean eval (Expr arg, Result res) throws RefalException {
    57       Rename_m_Vars (arg, res);
    58       return true;
     56      return Rename_m_Vars__0 (arg, res);
    5957    }
    6058  });
    6159  static private final Expr _c_31 = new Expr (new Word ("_"));
     60  static private final Expr _c_32 = new Expr (new Expr (Expr.empty), new Expr (Expr.empty));
     61  static private final Expr[] _va_1 = { new Expr (new Word ("Apply")), new Expr (new Word ("Apply")), new Expr (new Word ("Unexpected fail")) };
     62  static private final Expr _c_33 = Expr.concat (_va_1);
    6263
    6364  static public void RFP_m_As2As_m_Transform (Expr _ve_Items, Result _v_res1) throws RefalException
     
    6667    _block1: {
    6768      _block1__branch1: {
    68         Result _va_1 = new Result ();
    69         if (!Table.Lookup (rfp__helper.RFP_m_Options, _c_0, _va_1))
     69        Result _va_2 = new Result ();
     70        if (!Table.Lookup (rfp__helper.RFP_m_Options, _c_0, _va_2))
    7071        {
    7172          break _block1__branch1;
    7273        }
    73         _ve_targets = _va_1.getExpr ();
     74        _ve_targets = _va_2.getExpr ();
    7475        break _block1;
    7576      }
     
    9293        Expr _vt_item = new Expr (_ve_Items, 0, 1);
    9394        Expr _ve_rest = new Expr (_ve_Items, (0 + 1), _v_len__rest);
     95        Expr _gt_item__3 = Expr.empty;
    9496        _block2: {
    9597          _block2__branch1: {
     
    102104                  break _block3__branch1;
    103105                }
    104                 int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_53_m_20 = (_v_len3 - _v_len4);
    105                 Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_53_m_20 = new Expr (_ve_targets, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_53_m_20);
     106                int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_50_m_20 = (_v_len3 - _v_len4);
     107                Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_50_m_20 = new Expr (_ve_targets, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_50_m_20);
    106108                if ((1 != 1))
    107109                {
     
    123125                  break _block2__branch1;
    124126                }
    125                 int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_55_m_33 = (_v_len5 - _v_len6);
    126                 Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_55_m_20 = new Expr (_v_deref__item, 0, 1);
    127                 Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_55_m_22 = new Expr (_v_deref__item, (0 + 1), 1);
    128                 Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_55_m_24 = new Expr (_v_deref__item, (0 + 1 + 1), 1);
     127                int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_52_m_33 = (_v_len5 - _v_len6);
     128                Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_52_m_20 = new Expr (_v_deref__item, 0, 1);
     129                Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_52_m_22 = new Expr (_v_deref__item, (0 + 1), 1);
     130                Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_52_m_24 = new Expr (_v_deref__item, (0 + 1 + 1), 1);
    129131                Expr _vt_name = new Expr (_v_deref__item, (0 + 1 + 1 + 1), 1);
    130                 Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_55_m_33 = new Expr (_v_deref__item, (0 + 1 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_55_m_33);
    131                 Expr.SplitIterator _va_2 = _ve_targets.leftSplit(0);
    132                 _exit1: _continue1: for ( ; ; _va_2.next ())
     132                Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_52_m_33 = new Expr (_v_deref__item, (0 + 1 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_52_m_33);
     133                Expr.SplitIterator _va_3 = _ve_targets.leftSplit(0);
     134                _exit1: _continue1: for ( ; ; _va_3.next ())
    133135                {
    134                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_54_m_22 = _va_2.getLeft();
    135                   Expr _v_lsplit__targets = _va_2.getRight();
    136                   if (!_va_2.isValid ())
     136                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_51_m_22 = _va_3.getLeft();
     137                  Expr _v_lsplit__targets = _va_3.getRight();
     138                  if (!_va_3.isValid ())
    137139                  {
    138140                    break _block2__branch1;
     
    144146                    break _block2__branch1;
    145147                  }
    146                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_54_m_31 = (_v_len7 - _v_len8);
     148                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_51_m_31 = (_v_len7 - _v_len8);
    147149                  if (!_vt_name.eq (_v_lsplit__targets, 0))
    148150                  {
    149151                    continue _continue1;
    150152                  }
    151                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_54_m_31 = new Expr (_v_lsplit__targets, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_54_m_31);
     153                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_51_m_31 = new Expr (_v_lsplit__targets, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_51_m_31);
    152154                  break _exit1;
    153155                }
     
    224226            Expr _vt_p = new Expr (_v_deref__deref__item23, (0 + 1), 1);
    225227            Expr _ve_branch = new Expr (_v_deref__deref__item23, (0 + 1 + 1), _v_len__branch);
     228            Expr _ge_in__5 = Expr.empty;
     229            Expr _ge_branch__5 = Expr.empty;
    226230            _block4: {
    227231              _block4__branch1: {
     
    236240                  break _block4__branch1;
    237241                }
    238                 Result _va_3 = new Result ();
    239242                Result _va_4 = new Result ();
    240                 Generate_m_In_m_Vars (_ve_in, _ve_branch, _va_3, _va_4);
    241                 _ve_in = _va_3.getExpr ();
    242                 _ve_branch = _va_4.getExpr ();
     243                Result _va_5 = new Result ();
     244                Generate_m_In_m_Vars (_ve_in, _ve_branch, _va_4, _va_5);
     245                _ge_in__5 = _va_4.getExpr ();
     246                _ge_branch__5 = _va_5.getExpr ();
    243247                break _block4;
    244248              }
    245             }
     249              _ge_in__5 = _ve_in;
     250              _ge_branch__5 = _ve_branch;
     251            }
     252            Expr _ge_branch__5__6 = Expr.empty;
    246253            _block5: {
    247254              _block5__branch1: {
     
    250257                  break _block5__branch1;
    251258                }
    252                 Expr[] _va_6 = { _c_3 , _vt_p , _ve_in };
    253                 Result _va_5 = new Result ();
    254                 rfp__debug.Add_m_Debug (new Expr (new Expr(Expr.concat (_va_6)), _ve_branch), _va_5);
    255                 _ve_branch = _va_5.getExpr ();
     259                Expr[] _va_7 = { _c_3 , _vt_p , _ge_in__5 };
     260                Result _va_6 = new Result ();
     261                rfp__debug.Add_m_Debug (new Expr (new Expr(Expr.concat (_va_7)), _ge_branch__5), _va_6);
     262                _ge_branch__5__6 = _va_6.getExpr ();
    256263                break _block5;
    257264              }
     265              _ge_branch__5__6 = _ge_branch__5;
    258266            }
    259267            Box.Store (Free_m_Idx, _c_4);
    260268            Result _v_Unstick_m_Blocks1 = new Result ();
    261             Result _va_7 = new Result ();
    262             Unstick_m_Blocks (_ve_branch, _va_7, _v_Unstick_m_Blocks1);
    263             _ve_branch = _va_7.getExpr ();
    264             Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_69_m_46 = new Expr(_v_Unstick_m_Blocks1.getExpr ());
     269            Result _va_8 = new Result ();
     270            Unstick_m_Blocks (_ge_branch__5__6, _va_8, _v_Unstick_m_Blocks1);
     271            _ge_branch__5__6 = _va_8.getExpr ();
     272            Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_66_m_46 = new Expr(_v_Unstick_m_Blocks1.getExpr ());
    265273            Result _ge_auxcall1 = new Result ();
    266             rfp__vars.Vars (_ve_in, _ge_auxcall1);
    267             Expr[] _va_9 = { _c_6 , new Expr(_ge_auxcall1.getExpr ()) , _c_5 , _ve_branch };
    268             Result _va_8 = new Result ();
    269             Rename_m_Vars (Expr.concat (_va_9), _va_8);
    270             _ve_branch = _va_8.getExpr ();
    271             Expr[] _va_11 = { _c_1 , _vt_p , _ve_branch };
    272             Expr[] _va_10 = { _vs_link , _vs_tag , _vt_pragma , _vt_name , new Expr(_ve_in) , new Expr(_ve_out) , new Expr(Expr.concat (_va_11)) };
    273             _vt_item = new Expr(Expr.concat (_va_10));
     274            rfp__vars.Vars (_ge_in__5, _ge_auxcall1);
     275            Result _va_9 = new Result ();
     276            Rename_m_Vars (_c_5, _ge_auxcall1.getExpr (), Expr.empty, _ge_branch__5__6, _va_9);
     277            _ge_branch__5__6 = _va_9.getExpr ();
     278            Expr[] _va_11 = { _c_1 , _vt_p , _ge_branch__5__6 };
     279            Expr[] _va_10 = { _vs_link , _vs_tag , _vt_pragma , _vt_name , new Expr(_ge_in__5) , new Expr(_ve_out) , new Expr(Expr.concat (_va_11)) };
     280            _gt_item__3 = new Expr(Expr.concat (_va_10));
    274281            break _block2;
    275282          }
     283          _gt_item__3 = _vt_item;
    276284        }
    277285        Result _v_Transform1 = new Result ();
    278286        Transform (_ve_targets, _ve_rest, _v_Transform1);
    279         _v_res1.assign (new Expr (_vt_item, _v_Transform1.getExpr ()));
     287        _v_res1.assign (new Expr (_gt_item__3, _v_Transform1.getExpr ()));
    280288        break _block1;
    281289      }
     
    338346                break _block2__branch1;
    339347              }
    340               if (!_vs_block.eq (_c_7, 0))
     348              if (!_vs_block.eq (_c_6, 0))
    341349              {
    342350                break _block2__branch1;
     
    348356              break _block1__branch1;
    349357            }
    350             if (!_vs_block.eq (_c_8, 0))
     358            if (!_vs_block.eq (_c_7, 0))
    351359            {
    352360              break _block1__branch1;
     
    372380                        break _block4__branch1;
    373381                      }
    374                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_45 = (_v_len5 - _v_len6);
     382                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_45 = (_v_len5 - _v_len6);
    375383                      if (_ve_R.symbolAt (0))
    376384                      {
     
    384392                        break _block4__branch1;
    385393                      }
    386                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_42 = (_v_len7 - _v_len8);
     394                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_42 = (_v_len7 - _v_len8);
    387395                      if (_v_deref__R.symbolAt ((0 + 1 + 1)))
    388396                      {
     
    396404                        break _block4__branch1;
    397405                      }
    398                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_39 = (_v_len9 - _v_len10);
     406                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_39 = (_v_len9 - _v_len10);
    399407                      if (_v_deref__deref__R.symbolAt ((0 + 1 + 1)))
    400408                      {
     
    408416                        break _block4__branch1;
    409417                      }
    410                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_36 = (_v_len11 - _v_len12);
    411                       if (!_c_7.eq (_v_deref__R, 0))
     418                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_36 = (_v_len11 - _v_len12);
     419                      if (!_c_6.eq (_v_deref__R, 0))
    412420                      {
    413421                        break _block4__branch1;
     
    417425                        break _block4__branch1;
    418426                      }
    419                       if (!_c_9.eq (_v_deref__deref__deref__R, 0))
     427                      if (!_c_8.eq (_v_deref__deref__deref__R, 0))
    420428                      {
    421429                        break _block4__branch1;
    422430                      }
    423                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_45 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_45);
    424                       Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_18 = new Expr (_v_deref__R, (0 + 1), 1);
    425                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_42 = new Expr (_v_deref__R, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_42);
    426                       Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_28 = new Expr (_v_deref__deref__R, (0 + 1), 1);
    427                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_39 = new Expr (_v_deref__deref__R, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_39);
    428                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_36 = new Expr (_v_deref__deref__deref__R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_36);
     431                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_45 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_45);
     432                      Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_18 = new Expr (_v_deref__R, (0 + 1), 1);
     433                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_42 = new Expr (_v_deref__R, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_42);
     434                      Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_28 = new Expr (_v_deref__deref__R, (0 + 1), 1);
     435                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_39 = new Expr (_v_deref__deref__R, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_39);
     436                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_36 = new Expr (_v_deref__deref__deref__R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_94_m_36);
    429437                      break _block4;
    430438                    }
     
    436444                        break _block4__branch2;
    437445                      }
    438                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_46 = (_v_len13 - _v_len14);
     446                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_46 = (_v_len13 - _v_len14);
    439447                      if (_ve_R.symbolAt (0))
    440448                      {
     
    448456                        break _block4__branch2;
    449457                      }
    450                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_43 = (_v_len15 - _v_len16);
     458                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_43 = (_v_len15 - _v_len16);
    451459                      if (_v_deref__R2.symbolAt ((0 + 1 + 1)))
    452460                      {
     
    460468                        break _block4__branch2;
    461469                      }
    462                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_40 = (_v_len17 - _v_len18);
     470                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_40 = (_v_len17 - _v_len18);
    463471                      if (_v_deref__deref__R2.symbolAt ((0 + 1 + 1)))
    464472                      {
     
    472480                        break _block4__branch2;
    473481                      }
    474                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_37 = (_v_len19 - _v_len20);
    475                       if (!_c_7.eq (_v_deref__R2, 0))
     482                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_37 = (_v_len19 - _v_len20);
     483                      if (!_c_6.eq (_v_deref__R2, 0))
    476484                      {
    477485                        break _block4__branch2;
     
    481489                        break _block4__branch2;
    482490                      }
    483                       if (!_c_10.eq (_v_deref__deref__deref__R2, 0))
     491                      if (!_c_9.eq (_v_deref__deref__deref__R2, 0))
    484492                      {
    485493                        break _block4__branch2;
    486494                      }
    487                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_46 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_46);
    488                       Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_18 = new Expr (_v_deref__R2, (0 + 1), 1);
    489                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_43 = new Expr (_v_deref__R2, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_43);
    490                       Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_28 = new Expr (_v_deref__deref__R2, (0 + 1), 1);
    491                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_40 = new Expr (_v_deref__deref__R2, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_40);
    492                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_37 = new Expr (_v_deref__deref__deref__R2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_37);
     495                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_46 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_46);
     496                      Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_18 = new Expr (_v_deref__R2, (0 + 1), 1);
     497                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_43 = new Expr (_v_deref__R2, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_43);
     498                      Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_28 = new Expr (_v_deref__deref__R2, (0 + 1), 1);
     499                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_40 = new Expr (_v_deref__deref__R2, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_40);
     500                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_37 = new Expr (_v_deref__deref__deref__R2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_95_m_37);
    493501                      break _block4;
    494502                    }
     
    500508                        break _block4__branch3;
    501509                      }
    502                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_45 = (_v_len21 - _v_len22);
     510                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_45 = (_v_len21 - _v_len22);
    503511                      if (_ve_R.symbolAt (0))
    504512                      {
     
    512520                        break _block4__branch3;
    513521                      }
    514                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_42 = (_v_len23 - _v_len24);
     522                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_42 = (_v_len23 - _v_len24);
    515523                      if (_v_deref__R3.symbolAt ((0 + 1 + 1)))
    516524                      {
     
    524532                        break _block4__branch3;
    525533                      }
    526                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_39 = (_v_len25 - _v_len26);
     534                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_39 = (_v_len25 - _v_len26);
    527535                      if (_v_deref__deref__R3.symbolAt ((0 + 1 + 1)))
    528536                      {
     
    536544                        break _block4__branch3;
    537545                      }
    538                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_36 = (_v_len27 - _v_len28);
    539                       if (!_c_8.eq (_v_deref__R3, 0))
     546                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_36 = (_v_len27 - _v_len28);
     547                      if (!_c_7.eq (_v_deref__R3, 0))
    540548                      {
    541549                        break _block4__branch3;
     
    545553                        break _block4__branch3;
    546554                      }
    547                       if (!_c_9.eq (_v_deref__deref__deref__R3, 0))
     555                      if (!_c_8.eq (_v_deref__deref__deref__R3, 0))
    548556                      {
    549557                        break _block4__branch3;
    550558                      }
    551                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_45 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_45);
    552                       Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_18 = new Expr (_v_deref__R3, (0 + 1), 1);
    553                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_42 = new Expr (_v_deref__R3, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_42);
    554                       Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_28 = new Expr (_v_deref__deref__R3, (0 + 1), 1);
    555                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_39 = new Expr (_v_deref__deref__R3, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_39);
    556                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_36 = new Expr (_v_deref__deref__deref__R3, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_36);
     559                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_45 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_45);
     560                      Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_18 = new Expr (_v_deref__R3, (0 + 1), 1);
     561                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_42 = new Expr (_v_deref__R3, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_42);
     562                      Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_28 = new Expr (_v_deref__deref__R3, (0 + 1), 1);
     563                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_39 = new Expr (_v_deref__deref__R3, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_39);
     564                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_36 = new Expr (_v_deref__deref__deref__R3, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_96_m_36);
    557565                      break _block4;
    558566                    }
     
    564572                        break _block4__branch4;
    565573                      }
    566                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_46 = (_v_len29 - _v_len30);
     574                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_46 = (_v_len29 - _v_len30);
    567575                      if (_ve_R.symbolAt (0))
    568576                      {
     
    576584                        break _block4__branch4;
    577585                      }
    578                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_43 = (_v_len31 - _v_len32);
     586                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_43 = (_v_len31 - _v_len32);
    579587                      if (_v_deref__R4.symbolAt ((0 + 1 + 1)))
    580588                      {
     
    588596                        break _block4__branch4;
    589597                      }
    590                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_40 = (_v_len33 - _v_len34);
     598                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_40 = (_v_len33 - _v_len34);
    591599                      if (_v_deref__deref__R4.symbolAt ((0 + 1 + 1)))
    592600                      {
     
    600608                        break _block4__branch4;
    601609                      }
    602                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_37 = (_v_len35 - _v_len36);
    603                       if (!_c_8.eq (_v_deref__R4, 0))
     610                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_37 = (_v_len35 - _v_len36);
     611                      if (!_c_7.eq (_v_deref__R4, 0))
    604612                      {
    605613                        break _block4__branch4;
     
    609617                        break _block4__branch4;
    610618                      }
    611                       if (!_c_10.eq (_v_deref__deref__deref__R4, 0))
     619                      if (!_c_9.eq (_v_deref__deref__deref__R4, 0))
    612620                      {
    613621                        break _block4__branch4;
    614622                      }
    615                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_46 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_46);
    616                       Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_18 = new Expr (_v_deref__R4, (0 + 1), 1);
    617                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_43 = new Expr (_v_deref__R4, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_43);
    618                       Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_28 = new Expr (_v_deref__deref__R4, (0 + 1), 1);
    619                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_40 = new Expr (_v_deref__deref__R4, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_40);
    620                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_37 = new Expr (_v_deref__deref__deref__R4, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_100_m_37);
     623                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_46 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_46);
     624                      Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_18 = new Expr (_v_deref__R4, (0 + 1), 1);
     625                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_43 = new Expr (_v_deref__R4, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_43);
     626                      Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_28 = new Expr (_v_deref__deref__R4, (0 + 1), 1);
     627                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_40 = new Expr (_v_deref__deref__R4, (0 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_40);
     628                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_37 = new Expr (_v_deref__deref__deref__R4, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_97_m_37);
    621629                      break _block4;
    622630                    }
     
    628636                        break _block4__branch5;
    629637                      }
    630                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_101_m_19 = (_v_len37 - _v_len38);
     638                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_19 = (_v_len37 - _v_len38);
    631639                      if (_ve_R.symbolAt (0))
    632640                      {
     
    640648                        break _block4__branch5;
    641649                      }
    642                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_101_m_16 = (_v_len39 - _v_len40);
    643                       if (!_c_9.eq (_v_deref__R5, 0))
     650                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_16 = (_v_len39 - _v_len40);
     651                      if (!_c_8.eq (_v_deref__R5, 0))
    644652                      {
    645653                        break _block4__branch5;
    646654                      }
    647                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_101_m_19 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_101_m_19);
    648                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_101_m_16 = new Expr (_v_deref__R5, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_101_m_16);
     655                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_19 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_19);
     656                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_16 = new Expr (_v_deref__R5, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_98_m_16);
    649657                      break _block4;
    650658                    }
     
    655663                      break _block3__branch1;
    656664                    }
    657                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_102_m_20 = (_v_len41 - _v_len42);
     665                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_20 = (_v_len41 - _v_len42);
    658666                    if (_ve_R.symbolAt (0))
    659667                    {
     
    667675                      break _block3__branch1;
    668676                    }
    669                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_102_m_17 = (_v_len43 - _v_len44);
    670                     if (!_c_10.eq (_v_deref__R6, 0))
     677                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_17 = (_v_len43 - _v_len44);
     678                    if (!_c_9.eq (_v_deref__R6, 0))
    671679                    {
    672680                      break _block3__branch1;
    673681                    }
    674                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_102_m_20 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_102_m_20);
    675                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_102_m_17 = new Expr (_v_deref__R6, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_102_m_17);
     682                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_20 = new Expr (_ve_R, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_20);
     683                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_17 = new Expr (_v_deref__R6, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_99_m_17);
    676684                  }
    677685                  Result _v__q_1 = new Result ();
     
    690698                  Result _ve_aux = new Result ();
    691699                  Result _va_13 = new Result ();
    692                   rfp__vars.Gener_m_Var_m_Indices (_vs_N, _ge_auxcall1.getExpr (), _c_11, _ve_aux, _va_13);
     700                  rfp__vars.Gener_m_Var_m_Indices (_vs_N, _ge_auxcall1.getExpr (), _c_10, _ve_aux, _va_13);
    693701                  _vs_N = _va_13.getExpr ();
    694702                  Box.Store (Free_m_Idx, _vs_N);
     
    696704                  Unstick_m_Blocks (_ve_R, _v_Unstick_m_Blocks1, _v_res2);
    697705                  Expr[] _va_15 = { _vs_block , _vt_Pragma , _ve_br };
    698                   Expr[] _va_14 = { _ve_L , new Expr(Expr.concat (_va_15)) , new Expr(new Expr (_c_12, _ve_aux.getExpr ())) , new Expr(new Expr (_c_13, _ve_aux.getExpr ())) , _v_Unstick_m_Blocks1.getExpr () };
     706                  Expr[] _va_14 = { _ve_L , new Expr(Expr.concat (_va_15)) , new Expr(new Expr (_c_11, _ve_aux.getExpr ())) , new Expr(new Expr (_c_12, _ve_aux.getExpr ())) , _v_Unstick_m_Blocks1.getExpr () };
    699707                  _v_res1.assign (Expr.concat (_va_14));
    700708                  break _block3;
     
    803811                break _block6__branch1;
    804812              }
    805               if (!_vs_block.eq (_c_7, 0))
     813              if (!_vs_block.eq (_c_6, 0))
    806814              {
    807815                break _block6__branch1;
     
    813821              break _block1__branch2;
    814822            }
    815             if (!_vs_block.eq (_c_8, 0))
     823            if (!_vs_block.eq (_c_7, 0))
    816824            {
    817825              break _block1__branch2;
     
    852860          Result _ve_assigns = new Result ();
    853861          Result _va_20 = new Result ();
    854           Flatten_m_Result (_c_14, Expr.empty, _ve_Re, _ve_assigns, _va_20);
     862          Flatten_m_Result (_c_13, Expr.empty, _ve_Re, _ve_assigns, _va_20);
    855863          _ve_Re = _va_20.getExpr ();
    856864          Expr _ve_Result = Expr.empty;
     
    876884              }
    877885              int _v_len__2 = (_v_len59 - _v_len60);
    878               if (!_c_15.eq (_v_deref__Re, 0))
     886              if (!_c_14.eq (_v_deref__Re, 0))
    879887              {
    880888                break _block7__branch1;
     
    897905                break _block8__branch1;
    898906              }
    899               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_122_m_13 = (_v_len61 - _v_len62);
    900               Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_122_m_13 = new Expr (_ve_R, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_122_m_13);
     907              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_119_m_13 = (_v_len61 - _v_len62);
     908              Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_119_m_13 = new Expr (_ve_R, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_119_m_13);
    901909              Result _v_Unstick_m_Blocks4 = new Result ();
    902910              Unstick_m_Blocks (_ve_R, _v_Unstick_m_Blocks4, _v_res2);
     
    943951          }
    944952          int _v_len__body = (_v_len65 - _v_len66);
    945           if (!_c_16.eq (_v_deref__Snt4, 0))
     953          if (!_c_15.eq (_v_deref__Snt4, 0))
    946954          {
    947955            break _block1__branch4;
     
    962970          Unstick_m_Blocks (_ve_R, _v_Unstick_m_Blocks6, _v_res2);
    963971          Expr[] _va_27 = { _c_1 , _vt_p1 , _ve_body };
    964           Expr[] _va_26 = { _ve_L , new Expr(new Expr (_c_16, new Expr(Expr.concat (_va_27)))) , _v_Unstick_m_Blocks6.getExpr () };
     972          Expr[] _va_26 = { _ve_L , new Expr(new Expr (_c_15, new Expr(Expr.concat (_va_27)))) , _v_Unstick_m_Blocks6.getExpr () };
    965973          _v_res1.assign (Expr.concat (_va_26));
    966974          break _block1;
     
    10041012          }
    10051013          int _v_len__body2 = (_v_len69 - _v_len70);
    1006           if (!_c_17.eq (_v_deref__Snt5, 0))
     1014          if (!_c_16.eq (_v_deref__Snt5, 0))
    10071015          {
    10081016            break _block1__branch5;
     
    10251033          Unstick_m_Blocks (_ve_body, _va_28, _v_Unstick_m_Blocks7);
    10261034          _ve_body = _va_28.getExpr ();
    1027           Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_132_m_40 = new Expr(_v_Unstick_m_Blocks7.getExpr ());
     1035          Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_129_m_40 = new Expr(_v_Unstick_m_Blocks7.getExpr ());
    10281036          Result _ve_Format = new Result ();
    10291037          Result _va_29 = new Result ();
     
    10321040          Expr[] _va_31 = { _c_1 , _vt_p1 , _ve_body };
    10331041          Expr[] _va_32 = { _c_1 , _vt_p2 , _ve_condition };
    1034           Expr[] _va_30 = { _c_17 , new Expr(Expr.concat (_va_31)) , _vt_IterVars , new Expr(Expr.concat (_va_32)) };
     1042          Expr[] _va_30 = { _c_16 , new Expr(Expr.concat (_va_31)) , _vt_IterVars , new Expr(Expr.concat (_va_32)) };
    10351043          _v_res1.assign (new Expr (_ve_L, new Expr(Expr.concat (_va_30))));
    10361044          _v_res2.assign (_ve_Format.getExpr ());
     
    10661074          }
    10671075          int _v_len__TrySnt = (_v_len73 - _v_len74);
    1068           if (!_c_18.eq (_v_deref__Snt6, 0))
     1076          if (!_c_17.eq (_v_deref__Snt6, 0))
    10691077          {
    10701078            break _block1__branch6;
     
    10901098          rfp__format.MSG (new Expr (_vt_Try_m_Fe, _vt_Catch_m_Fe), _ge_auxcall3);
    10911099          Expr[] _va_35 = { _c_1 , _vt_p1 , _ve_TrySnt };
    1092           Expr[] _va_34 = { _c_18 , new Expr(Expr.concat (_va_35)) , _ve_NOFAIL , _ve_CatchBlock.getExpr () };
     1100          Expr[] _va_34 = { _c_17 , new Expr(Expr.concat (_va_35)) , _ve_NOFAIL , _ve_CatchBlock.getExpr () };
    10931101          _v_res1.assign (new Expr (_ve_L, new Expr(Expr.concat (_va_34))));
    10941102          _v_res2.assign (_ge_auxcall3.getExpr ());
     
    11111119            break _block1__branch7;
    11121120          }
    1113           int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_139_m_10 = (_v_len75 - _v_len76);
    1114           if (!_c_15.eq (_v_deref__Snt7, 0))
     1121          int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_136_m_10 = (_v_len75 - _v_len76);
     1122          if (!_c_14.eq (_v_deref__Snt7, 0))
    11151123          {
    11161124            break _block1__branch7;
    11171125          }
    1118           Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_139_m_10 = new Expr (_v_deref__Snt7, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_139_m_10);
     1126          Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_136_m_10 = new Expr (_v_deref__Snt7, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_136_m_10);
    11191127          _v_res1.assign (_ve_Sentence);
    1120           _v_res2.assign (_c_19);
     1128          _v_res2.assign (_c_18);
    11211129          break _block1;
    11221130        }
     
    11381146            break _block1__branch8;
    11391147          }
    1140           if (!_c_20.eq (_v_deref__Snt8, 0))
     1148          if (!_c_19.eq (_v_deref__Snt8, 0))
    11411149          {
    11421150            break _block1__branch8;
     
    11481156          Unstick_m_Blocks (_ve_R, _va_36, _v_Unstick_m_Blocks10);
    11491157          _ve_R = _va_36.getExpr ();
    1150           Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_141_m_32 = new Expr(_v_Unstick_m_Blocks10.getExpr ());
    1151           Expr[] _va_37 = { _ve_L , new Expr(new Expr (_c_20, _vt_Pragma)) , _ve_R };
     1158          Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_138_m_32 = new Expr(_v_Unstick_m_Blocks10.getExpr ());
     1159          Expr[] _va_37 = { _ve_L , new Expr(new Expr (_c_19, _vt_Pragma)) , _ve_R };
    11521160          _v_res1.assign (Expr.concat (_va_37));
    1153           _v_res2.assign (_c_19);
     1161          _v_res2.assign (_c_18);
    11541162          break _block1;
    11551163        }
     
    11581166          continue _continue1;
    11591167        }
    1160         _v_res1.assign (_c_19);
    1161         _v_res2.assign (_c_19);
     1168        _v_res1.assign (_c_18);
     1169        _v_res2.assign (_c_18);
    11621170      }
    11631171      break _exit1;
     
    11951203              break _block2__branch1;
    11961204            }
    1197             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_147_m_30 = (_v_len3 - _v_len4);
    1198             if (!_c_7.eq (_v_deref__1, 0))
     1205            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_144_m_30 = (_v_len3 - _v_len4);
     1206            if (!_c_6.eq (_v_deref__1, 0))
    11991207            {
    12001208              break _block2__branch1;
    12011209            }
    1202             Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_147_m_30 = new Expr (_v_deref__1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_147_m_30);
     1210            Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_144_m_30 = new Expr (_v_deref__1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_144_m_30);
    12031211            break _block2;
    12041212          }
     
    12181226            break _block1__branch1;
    12191227          }
    1220           int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_147_m_42 = (_v_len5 - _v_len6);
    1221           if (!_c_8.eq (_v_deref__12, 0))
     1228          int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_144_m_42 = (_v_len5 - _v_len6);
     1229          if (!_c_7.eq (_v_deref__12, 0))
    12221230          {
    12231231            break _block1__branch1;
    12241232          }
    1225           Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_147_m_42 = new Expr (_v_deref__12, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_147_m_42);
     1233          Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_144_m_42 = new Expr (_v_deref__12, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_144_m_42);
    12261234        }
    12271235        Result _ve_1 = new Result ();
     
    12341242              break _block3__branch1;
    12351243            }
    1236             if (!_c_19.eq (_ve_Format.getExpr (), 0))
     1244            if (!_c_18.eq (_ve_Format.getExpr (), 0))
    12371245            {
    12381246              break _block3__branch1;
    12391247            }
    12401248            _v_res1.assign (Expr.empty);
    1241             _v_res2.assign (new Expr (_ve_Re, new Expr(new Expr (_c_15, _ve_1.getExpr ()))));
     1249            _v_res2.assign (new Expr (_ve_Re, new Expr(new Expr (_c_14, _ve_1.getExpr ()))));
    12421250            break _block3;
    12431251          }
     
    12551263          Result _ve_aux = new Result ();
    12561264          Result _va_38 = new Result ();
    1257           rfp__vars.Gener_m_Var_m_Indices (_vs_N, _ve_Format.getExpr (), _c_21, _ve_aux, _va_38);
     1265          rfp__vars.Gener_m_Var_m_Indices (_vs_N, _ve_Format.getExpr (), _c_20, _ve_aux, _va_38);
    12581266          _vs_N = _va_38.getExpr ();
    12591267          Box.Store (Free_m_Idx, _vs_N);
    12601268          Result _v_Flatten_m_Result1 = new Result ();
    12611269          Flatten_m_Result (_vs_tail_q_, new Expr (_ve_Re, _ve_aux.getExpr ()), _ve_rest, _v_Flatten_m_Result1, _v_res2);
    1262           Expr[] _va_39 = { _ve_1.getExpr () , new Expr(new Expr (_c_12, _ve_aux.getExpr ())) , _v_Flatten_m_Result1.getExpr () };
     1270          Expr[] _va_39 = { _ve_1.getExpr () , new Expr(new Expr (_c_11, _ve_aux.getExpr ())) , _v_Flatten_m_Result1.getExpr () };
    12631271          _v_res1.assign (Expr.concat (_va_39));
    12641272        }
     
    12851293        }
    12861294        int _v_len__r = (_v_len9 - _v_len10);
    1287         if (!_c_22.eq (_v_deref__items, 0))
     1295        if (!_c_21.eq (_v_deref__items, 0))
    12881296        {
    12891297          break _block1__branch2;
     
    12951303        Result _ve_assigns = new Result ();
    12961304        Result _va_40 = new Result ();
    1297         Flatten_m_Result (_c_23, Expr.empty, _ve_r, _ve_assigns, _va_40);
     1305        Flatten_m_Result (_c_22, Expr.empty, _ve_r, _ve_assigns, _va_40);
    12981306        _ve_r = _va_40.getExpr ();
    1299         Expr[] _va_41 = { _c_22 , _vt_p , _vt_name , _ve_r };
     1307        Expr[] _va_41 = { _c_21 , _vt_p , _vt_name , _ve_r };
    13001308        Expr _vt_1 = new Expr(Expr.concat (_va_41));
    13011309        _block4: {
     
    13091317              break _block4__branch1;
    13101318            }
    1311             if (!_vs_tail_q_.eq (_c_14, 0))
     1319            if (!_vs_tail_q_.eq (_c_13, 0))
    13121320            {
    13131321              break _block4__branch1;
     
    13321340          Result _ve_aux1 = new Result ();
    13331341          Result _va_42 = new Result ();
    1334           rfp__vars.Gener_m_Var_m_Indices (_vs_N, _ge_auxcall1.getExpr (), _c_24, _ve_aux1, _va_42);
     1342          rfp__vars.Gener_m_Var_m_Indices (_vs_N, _ge_auxcall1.getExpr (), _c_23, _ve_aux1, _va_42);
    13351343          _vs_N = _va_42.getExpr ();
    13361344          Box.Store (Free_m_Idx, _vs_N);
    13371345          Result _v_Flatten_m_Result2 = new Result ();
    13381346          Flatten_m_Result (_vs_tail_q_, new Expr (_ve_Re, _ve_aux1.getExpr ()), _ve_rest, _v_Flatten_m_Result2, _v_res2);
    1339           Expr[] _va_43 = { _ve_assigns.getExpr () , new Expr(new Expr (_c_13, _vt_1)) , new Expr(new Expr (_c_12, _ve_aux1.getExpr ())) , _v_Flatten_m_Result2.getExpr () };
     1347          Expr[] _va_43 = { _ve_assigns.getExpr () , new Expr(new Expr (_c_12, _vt_1)) , new Expr(new Expr (_c_11, _ve_aux1.getExpr ())) , _v_Flatten_m_Result2.getExpr () };
    13401348          _v_res1.assign (Expr.concat (_va_43));
    13411349        }
     
    13621370        }
    13631371        int _v_len__r2 = (_v_len13 - _v_len14);
    1364         if (!_c_25.eq (_v_deref__items2, 0))
     1372        if (!_c_24.eq (_v_deref__items2, 0))
    13651373        {
    13661374          break _block1__branch3;
     
    13701378        Result _ve_assigns = new Result ();
    13711379        Result _va_44 = new Result ();
    1372         Flatten_m_Result (_c_23, Expr.empty, _ve_r, _ve_assigns, _va_44);
     1380        Flatten_m_Result (_c_22, Expr.empty, _ve_r, _ve_assigns, _va_44);
    13731381        _ve_r = _va_44.getExpr ();
    13741382        Result _v_Flatten_m_Result3 = new Result ();
    1375         Flatten_m_Result (_vs_tail_q_, new Expr (_ve_Re, new Expr(new Expr (_c_25, _ve_r))), _ve_rest, _v_Flatten_m_Result3, _v_res2);
     1383        Flatten_m_Result (_vs_tail_q_, new Expr (_ve_Re, new Expr(new Expr (_c_24, _ve_r))), _ve_rest, _v_Flatten_m_Result3, _v_res2);
    13761384        _v_res1.assign (new Expr (_ve_assigns.getExpr (), _v_Flatten_m_Result3.getExpr ()));
    13771385        break _block1;
     
    14011409  static private void Generate_m_In_m_Vars (Expr _ve_in, Expr _ve_Sentence, Result _v_res1, Result _v_res2) throws RefalException
    14021410  {
    1403     Expr _ge_in__0 = Expr.empty;
    1404     Expr _ge_Sentence__0 = Expr.empty;
     1411    Expr _ge_in__1 = Expr.empty;
     1412    Expr _ge_Sentence__1 = Expr.empty;
    14051413    _block1: {
    14061414      _block1__branch1: {
     
    14151423              break _block2__branch1;
    14161424            }
    1417             int _v_len__Snt__2 = (_v_len1 - _v_len2);
     1425            int _v_len__Snt__4 = (_v_len1 - _v_len2);
    14181426            if (_ve_Sentence.symbolAt (0))
    14191427            {
     
    14271435              break _block2__branch1;
    14281436            }
    1429             int _v_len__Pe__2 = (_v_len3 - _v_len4);
    1430             if (!_c_9.eq (_v_deref__Sentence, 0))
     1437            int _v_len__Pe__4 = (_v_len3 - _v_len4);
     1438            if (!_c_8.eq (_v_deref__Sentence, 0))
    14311439            {
    14321440              break _block2__branch1;
    14331441            }
    1434             Expr _ge_Snt__2 = new Expr (_ve_Sentence, (0 + 1), _v_len__Snt__2);
    1435             Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_192_m_12 = new Expr (_v_deref__Sentence, (0 + 1), 1);
    1436             Expr _ge_Pe__2 = new Expr (_v_deref__Sentence, (0 + 1 + 1), _v_len__Pe__2);
    1437             _ve_Pe = _ge_Pe__2;
    1438             _ve_Snt = _ge_Snt__2;
     1442            Expr _ge_Snt__4 = new Expr (_ve_Sentence, (0 + 1), _v_len__Snt__4);
     1443            Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_189_m_12 = new Expr (_v_deref__Sentence, (0 + 1), 1);
     1444            Expr _ge_Pe__4 = new Expr (_v_deref__Sentence, (0 + 1 + 1), _v_len__Pe__4);
     1445            _ve_Pe = _ge_Pe__4;
     1446            _ve_Snt = _ge_Snt__4;
    14391447            break _block2;
    14401448          }
     
    14451453            break _block1__branch1;
    14461454          }
    1447           int _v_len__Snt__22 = (_v_len5 - _v_len6);
     1455          int _v_len__Snt__42 = (_v_len5 - _v_len6);
    14481456          if (_ve_Sentence.symbolAt (0))
    14491457          {
     
    14571465            break _block1__branch1;
    14581466          }
    1459           int _v_len__Pe__22 = (_v_len7 - _v_len8);
    1460           if (!_c_10.eq (_v_deref__Sentence2, 0))
     1467          int _v_len__Pe__42 = (_v_len7 - _v_len8);
     1468          if (!_c_9.eq (_v_deref__Sentence2, 0))
    14611469          {
    14621470            break _block1__branch1;
    14631471          }
    1464           Expr _ge_Snt__2 = new Expr (_ve_Sentence, (0 + 1), _v_len__Snt__22);
    1465           Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_193_m_13 = new Expr (_v_deref__Sentence2, (0 + 1), 1);
    1466           Expr _ge_Pe__2 = new Expr (_v_deref__Sentence2, (0 + 1 + 1), _v_len__Pe__22);
    1467           _ve_Pe = _ge_Pe__2;
    1468           _ve_Snt = _ge_Snt__2;
     1472          Expr _ge_Snt__4 = new Expr (_ve_Sentence, (0 + 1), _v_len__Snt__42);
     1473          Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_190_m_13 = new Expr (_v_deref__Sentence2, (0 + 1), 1);
     1474          Expr _ge_Pe__4 = new Expr (_v_deref__Sentence2, (0 + 1 + 1), _v_len__Pe__42);
     1475          _ve_Pe = _ge_Pe__4;
     1476          _ve_Snt = _ge_Snt__4;
    14691477        }
    14701478        _block3: {
     
    14901498              _exit1: _continue1: for ( ; ; _va_45.next ())
    14911499              {
    1492                 Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_24 = _va_45.getLeft();
     1500                Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_24 = _va_45.getLeft();
    14931501                Expr _v_lsplit__args = _va_45.getRight();
    14941502                if (!_va_45.isValid ())
     
    15111519                  continue _continue1;
    15121520                }
    1513                 int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_27 = (_v_len9 - _v_len10);
    1514                 Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_27 = new Expr (_v_deref__lsplit__args, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_27);
    1515                 Expr _vt_1 = new Expr (_v_deref__lsplit__args, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_27), 1);
     1521                int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_27 = (_v_len9 - _v_len10);
     1522                Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_27 = new Expr (_v_deref__lsplit__args, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_27);
     1523                Expr _vt_1 = new Expr (_v_deref__lsplit__args, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_27), 1);
    15161524                Expr _v_subexpr__lsplit__args = new Expr (_v_lsplit__args, (0 + 1), (_v_lsplit__args.getLen () - (0 + 1 + 0)));
    15171525                Expr.SplitIterator _va_46 = _v_subexpr__lsplit__args.leftSplit(0);
    15181526                _exit2: _continue2: for ( ; ; _va_46.next ())
    15191527                {
    1520                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_33 = _va_46.getLeft();
     1528                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_33 = _va_46.getLeft();
    15211529                  Expr _v_lsplit__lsplit__args = _va_46.getRight();
    15221530                  if (!_va_46.isValid ())
     
    15301538                    continue _continue1;
    15311539                  }
    1532                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_42 = (_v_len11 - _v_len12);
     1540                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_42 = (_v_len11 - _v_len12);
    15331541                  if (_v_lsplit__lsplit__args.symbolAt (0))
    15341542                  {
     
    15421550                    continue _continue2;
    15431551                  }
    1544                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_36 = (_v_len13 - _v_len14);
    1545                   if (!_vt_1.eq (_v_deref__lsplit__lsplit__args, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_36)))
     1552                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_36 = (_v_len13 - _v_len14);
     1553                  if (!_vt_1.eq (_v_deref__lsplit__lsplit__args, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_36)))
    15461554                  {
    15471555                    continue _continue2;
    15481556                  }
    1549                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_42 = new Expr (_v_lsplit__lsplit__args, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_42);
    1550                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_36 = new Expr (_v_deref__lsplit__lsplit__args, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_198_m_36);
     1557                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_42 = new Expr (_v_lsplit__lsplit__args, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_42);
     1558                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_36 = new Expr (_v_deref__lsplit__lsplit__args, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_195_m_36);
    15511559                  break _exit2;
    15521560                }
     
    15551563              break _block3__branch1;
    15561564            }
    1557             _ge_in__0 = _ve_Pe;
    1558             _ge_Sentence__0 = _ve_Snt;
     1565            _ge_in__1 = _ve_Pe;
     1566            _ge_Sentence__1 = _ve_Snt;
    15591567            break _block3;
    15601568          }
    15611569          Result _ve_in_m_expr = new Result ();
    1562           Result _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_200_m_56 = new Result ();
    1563           rfp__vars.Gener_m_Var_m_Indices (_c_4, _ve_in, _c_26, _ve_in_m_expr, _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_200_m_56);
    1564           _ge_in__0 = _ve_in_m_expr.getExpr ();
    1565           _ge_Sentence__0 = new Expr (new Expr(new Expr (_c_13, _ve_in_m_expr.getExpr ())), _ve_Sentence);
     1570          Result _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_197_m_56 = new Result ();
     1571          rfp__vars.Gener_m_Var_m_Indices (_c_4, _ve_in, _c_25, _ve_in_m_expr, _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_197_m_56);
     1572          _ge_in__1 = _ve_in_m_expr.getExpr ();
     1573          _ge_Sentence__1 = new Expr (new Expr(new Expr (_c_12, _ve_in_m_expr.getExpr ())), _ve_Sentence);
    15661574        }
    15671575        break _block1;
     
    15951603      Expr _ve_branches = new Expr (_v_deref__Sentence3, (0 + 1 + 1), _v_len__branches);
    15961604      Result _ve_in_m_expr = new Result ();
    1597       Result _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_211_m_54 = new Result ();
    1598       rfp__vars.Gener_m_Var_m_Indices (_c_4, _ve_in, _c_26, _ve_in_m_expr, _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_211_m_54);
     1605      Result _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_208_m_54 = new Result ();
     1606      rfp__vars.Gener_m_Var_m_Indices (_c_4, _ve_in, _c_25, _ve_in_m_expr, _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_208_m_54);
    15991607      Result _ve_in_m_vars = new Result ();
    16001608      rfp__vars.Vars (_ve_in_m_expr.getExpr (), _ve_in_m_vars);
     
    16071615            break _iter1;
    16081616          }
    1609           _ge_in__0 = _ve_in_m_expr.getExpr ();
     1617          _ge_in__1 = _ve_in_m_expr.getExpr ();
    16101618          Expr[] _va_47 = { _vs_block , _vt_Pragma , _ve_br };
    1611           _ge_Sentence__0 = new Expr (new Expr(Expr.concat (_va_47)), _ve_Snt);
     1619          _ge_Sentence__1 = new Expr (new Expr(Expr.concat (_va_47)), _ve_Snt);
    16121620          break _exit__iter1;
    16131621        }
     
    16791687              _exit3: _continue3: for ( ; ; _va_48.next ())
    16801688              {
    1681                 Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_26 = _va_48.getLeft();
     1689                Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_26 = _va_48.getLeft();
    16821690                Expr _v_lsplit__vars = _va_48.getRight();
    16831691                if (!_va_48.isValid ())
     
    17001708                  continue _continue3;
    17011709                }
    1702                 int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_29 = (_v_len25 - _v_len26);
    1703                 Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_29 = new Expr (_v_deref__lsplit__vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_29);
    1704                 Expr _vt_1 = new Expr (_v_deref__lsplit__vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_29), 1);
     1710                int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_29 = (_v_len25 - _v_len26);
     1711                Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_29 = new Expr (_v_deref__lsplit__vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_29);
     1712                Expr _vt_1 = new Expr (_v_deref__lsplit__vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_29), 1);
    17051713                Expr _v_subexpr__lsplit__vars = new Expr (_v_lsplit__vars, (0 + 1), (_v_lsplit__vars.getLen () - (0 + 1 + 0)));
    17061714                Expr.SplitIterator _va_49 = _v_subexpr__lsplit__vars.leftSplit(0);
    17071715                _exit4: _continue4: for ( ; ; _va_49.next ())
    17081716                {
    1709                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_35 = _va_49.getLeft();
     1717                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_35 = _va_49.getLeft();
    17101718                  Expr _v_lsplit__lsplit__vars = _va_49.getRight();
    17111719                  if (!_va_49.isValid ())
     
    17191727                    continue _continue3;
    17201728                  }
    1721                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_44 = (_v_len27 - _v_len28);
     1729                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_44 = (_v_len27 - _v_len28);
    17221730                  if (_v_lsplit__lsplit__vars.symbolAt (0))
    17231731                  {
     
    17311739                    continue _continue4;
    17321740                  }
    1733                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_38 = (_v_len29 - _v_len30);
    1734                   if (!_vt_1.eq (_v_deref__lsplit__lsplit__vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_38)))
     1741                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_38 = (_v_len29 - _v_len30);
     1742                  if (!_vt_1.eq (_v_deref__lsplit__lsplit__vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_38)))
    17351743                  {
    17361744                    continue _continue4;
    17371745                  }
    1738                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_44 = new Expr (_v_lsplit__lsplit__vars, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_44);
    1739                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_38 = new Expr (_v_deref__lsplit__lsplit__vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_217_m_38);
     1746                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_44 = new Expr (_v_lsplit__lsplit__vars, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_44);
     1747                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_38 = new Expr (_v_deref__lsplit__lsplit__vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_214_m_38);
    17401748                  break _exit4;
    17411749                }
     
    17611769      }
    17621770    }
    1763     _v_res1.assign (_ge_in__0);
    1764     _v_res2.assign (_ge_Sentence__0);
     1771    _v_res1.assign (_ge_in__1);
     1772    _v_res2.assign (_ge_Sentence__1);
    17651773  }
    17661774
    1767   static private void Rename_m_Vars (Expr _ge_arg1, Result _v_res1) throws RefalException
     1775  static private void Rename_m_Vars (Expr _vs_num, Expr _ve_upper_m_vars, Expr _ve_res_m_vars, Expr _ve_Snt, Result _v_res1) throws RefalException
    17681776  {
    1769     int _v_len1 = _ge_arg1.getLen ();
    1770     int _v_len2 = 3;
    1771     if ((_v_len1 < _v_len2))
    1772     {
    1773       throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    1774     }
    1775     int _v_len__Snt = (_v_len1 - _v_len2);
    1776     if (_ge_arg1.symbolAt ((0 + 1)))
    1777     {
    1778       throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    1779     }
    1780     if (_ge_arg1.symbolAt ((0 + 1 + 1)))
    1781     {
    1782       throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    1783     }
    1784     Expr _v_deref__arg1 = (Expr) _ge_arg1.at ((0 + 1));
    1785     Expr _v_deref__arg12 = (Expr) _ge_arg1.at ((0 + 1 + 1));
    1786     int _v_len3 = _v_deref__arg12.getLen ();
    1787     int _v_len4 = 0;
    1788     if ((_v_len3 < _v_len4))
    1789     {
    1790       throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    1791     }
    1792     int _v_len__res_m_vars = (_v_len3 - _v_len4);
    1793     int _v_len5 = _v_deref__arg1.getLen ();
    1794     int _v_len6 = 0;
    1795     if ((_v_len5 < _v_len6))
    1796     {
    1797       throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    1798     }
    1799     int _v_len__upper_m_vars = (_v_len5 - _v_len6);
    1800     if (!_ge_arg1.symbolAt (0))
    1801     {
    1802       throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    1803     }
    1804     Expr _vs_num = new Expr (_ge_arg1, 0, 1);
    1805     Expr _ve_Snt = new Expr (_ge_arg1, (0 + 1 + 1 + 1), _v_len__Snt);
    1806     Expr _ve_upper_m_vars = new Expr (_v_deref__arg1, 0, _v_len__upper_m_vars);
    1807     Expr _ve_res_m_vars = new Expr (_v_deref__arg12, 0, _v_len__res_m_vars);
    18081777    Expr _ve_vars = _ve_upper_m_vars;
    18091778    Expr _ve_new_m_Snt = Expr.empty;
     1779    Expr _ge_Snt__0 = _ve_Snt;
    18101780    _exit__iter1: for ( ; ; )
    18111781    {
    18121782      _iter1: {
    1813         if ((_ve_Snt.getLen () != 0))
     1783        if ((_ge_Snt__0.getLen () != 0))
    18141784        {
    18151785          break _iter1;
     
    18181788        break _exit__iter1;
    18191789      }
    1820       int _v_len7 = _ve_Snt.getLen ();
    1821       int _v_len8 = 1;
    1822       if ((_v_len7 < _v_len8))
     1790      int _v_len1 = _ge_Snt__0.getLen ();
     1791      int _v_len2 = 1;
     1792      if ((_v_len1 < _v_len2))
    18231793      {
    18241794        throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    18251795      }
    1826       int _v_len__rest = (_v_len7 - _v_len8);
    1827       Expr _vt_Statement = new Expr (_ve_Snt, 0, 1);
    1828       Expr _ve_rest = new Expr (_ve_Snt, (0 + 1), _v_len__rest);
     1796      int _v_len__rest = (_v_len1 - _v_len2);
     1797      Expr _vt_Statement = new Expr (_ge_Snt__0, 0, 1);
     1798      Expr _ve_rest = new Expr (_ge_Snt__0, (0 + 1), _v_len__rest);
    18291799      _block2: {
    18301800        _block2__branch1: {
     
    18411811              }
    18421812              Expr _v_deref__Statement = (Expr) _vt_Statement.at (0);
    1843               int _v_len9 = _v_deref__Statement.getLen ();
    1844               int _v_len10 = 2;
    1845               if ((_v_len9 < _v_len10))
     1813              int _v_len3 = _v_deref__Statement.getLen ();
     1814              int _v_len4 = 2;
     1815              if ((_v_len3 < _v_len4))
    18461816              {
    18471817                break _block3__branch1;
    18481818              }
    1849               int _v_len__Pe__3 = (_v_len9 - _v_len10);
    1850               if (!_c_9.eq (_v_deref__Statement, 0))
     1819              int _v_len__Pe__6 = (_v_len3 - _v_len4);
     1820              if (!_c_8.eq (_v_deref__Statement, 0))
    18511821              {
    18521822                break _block3__branch1;
    18531823              }
    1854               Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_250_m_16 = new Expr (_v_deref__Statement, (0 + 1), 1);
    1855               Expr _ge_Pe__3 = new Expr (_v_deref__Statement, (0 + 1 + 1), _v_len__Pe__3);
    1856               _ve_Pe = _ge_Pe__3;
     1824              Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_247_m_16 = new Expr (_v_deref__Statement, (0 + 1), 1);
     1825              Expr _ge_Pe__6 = new Expr (_v_deref__Statement, (0 + 1 + 1), _v_len__Pe__6);
     1826              _ve_Pe = _ge_Pe__6;
    18571827              break _block3;
    18581828            }
     
    18661836            }
    18671837            Expr _v_deref__Statement2 = (Expr) _vt_Statement.at (0);
    1868             int _v_len11 = _v_deref__Statement2.getLen ();
    1869             int _v_len12 = 2;
    1870             if ((_v_len11 < _v_len12))
     1838            int _v_len5 = _v_deref__Statement2.getLen ();
     1839            int _v_len6 = 2;
     1840            if ((_v_len5 < _v_len6))
    18711841            {
    18721842              break _block2__branch1;
    18731843            }
    1874             int _v_len__Pe__32 = (_v_len11 - _v_len12);
    1875             if (!_c_10.eq (_v_deref__Statement2, 0))
     1844            int _v_len__Pe__62 = (_v_len5 - _v_len6);
     1845            if (!_c_9.eq (_v_deref__Statement2, 0))
    18761846            {
    18771847              break _block2__branch1;
    18781848            }
    1879             Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_251_m_17 = new Expr (_v_deref__Statement2, (0 + 1), 1);
    1880             Expr _ge_Pe__3 = new Expr (_v_deref__Statement2, (0 + 1 + 1), _v_len__Pe__32);
    1881             _ve_Pe = _ge_Pe__3;
     1849            Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_248_m_17 = new Expr (_v_deref__Statement2, (0 + 1), 1);
     1850            Expr _ge_Pe__6 = new Expr (_v_deref__Statement2, (0 + 1 + 1), _v_len__Pe__62);
     1851            _ve_Pe = _ge_Pe__6;
    18821852          }
    18831853          Result _ge_auxcall1 = new Result ();
     
    18851855          Result _ve_old_m_vars = new Result ();
    18861856          Result _ve_new_m_vars = new Result ();
    1887           List.Split (_c_27, _ve_res_m_vars, _ge_auxcall1.getExpr (), _ve_old_m_vars, _ve_new_m_vars);
     1857          List.Split (_c_26, _ve_res_m_vars, _ge_auxcall1.getExpr (), _ve_old_m_vars, _ve_new_m_vars);
    18881858          Result _ve_renames = new Result ();
    1889           if (!List.Map (_c_28, _vs_num, _ve_old_m_vars.getExpr (), _ve_renames))
     1859          if (!List.Map (_c_27, _vs_num, _ve_old_m_vars.getExpr (), _ve_renames))
    18901860          {
    18911861            throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
     
    18931863          Result _ve_pats = new Result ();
    18941864          Result _ve_repls = new Result ();
    1895           Build_m_Subst (_ve_old_m_vars.getExpr (), _ve_renames.getExpr (), _ve_Snt, _ve_pats, _ve_repls);
     1865          Build_m_Subst (_ve_old_m_vars.getExpr (), _ve_renames.getExpr (), _ge_Snt__0, _ve_pats, _ve_repls);
    18961866          Result _v_Subst1 = new Result ();
    1897           rfp__helper.Subst (_ve_pats.getExpr (), _ve_repls.getExpr (), _ve_Snt, _v_Subst1);
    1898           int _v_len13 = _v_Subst1.getExpr ().getLen ();
    1899           int _v_len14 = 1;
    1900           if ((_v_len13 < _v_len14))
     1867          rfp__helper.Subst (_ve_pats.getExpr (), _ve_repls.getExpr (), _ge_Snt__0, _v_Subst1);
     1868          int _v_len7 = _v_Subst1.getExpr ().getLen ();
     1869          int _v_len8 = 1;
     1870          if ((_v_len7 < _v_len8))
    19011871          {
    19021872            throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    19031873          }
    1904           int _v_len__rest_m_Snt = (_v_len13 - _v_len14);
     1874          int _v_len__rest_m_Snt = (_v_len7 - _v_len8);
    19051875          if (_v_Subst1.getExpr ().symbolAt (0))
    19061876          {
     
    19081878          }
    19091879          Expr _v_deref__Subst1 = (Expr) _v_Subst1.getExpr ().at (0);
    1910           int _v_len15 = _v_deref__Subst1.getLen ();
    1911           int _v_len16 = 2;
    1912           if ((_v_len15 < _v_len16))
     1880          int _v_len9 = _v_deref__Subst1.getLen ();
     1881          int _v_len10 = 2;
     1882          if ((_v_len9 < _v_len10))
    19131883          {
    19141884            throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    19151885          }
    1916           int _v_len__Pe1 = (_v_len15 - _v_len16);
     1886          int _v_len__Pe1 = (_v_len9 - _v_len10);
    19171887          if (!_v_deref__Subst1.symbolAt (0))
    19181888          {
     
    19301900          Expr[] _va_53 = { _vs_tag , _vt_p , _ve_Pe1 };
    19311901          _ve_new_m_Snt = new Expr (_ve_new_m_Snt, new Expr(Expr.concat (_va_53)));
    1932           _ve_Snt = _ve_rest_m_Snt;
     1902          _ge_Snt__0 = _ve_rest_m_Snt;
    19331903          break _block2;
    19341904        }
     
    19431913          }
    19441914          Expr _v_deref__Statement3 = (Expr) _vt_Statement.at (0);
    1945           int _v_len17 = _v_deref__Statement3.getLen ();
    1946           int _v_len18 = 2;
    1947           if ((_v_len17 < _v_len18))
     1915          int _v_len11 = _v_deref__Statement3.getLen ();
     1916          int _v_len12 = 2;
     1917          if ((_v_len11 < _v_len12))
    19481918          {
    19491919            break _block2__branch2;
    19501920          }
    1951           int _v_len__He = (_v_len17 - _v_len18);
    1952           if (!_c_29.eq (_v_deref__Statement3, 0))
     1921          int _v_len__He = (_v_len11 - _v_len12);
     1922          if (!_c_28.eq (_v_deref__Statement3, 0))
    19531923          {
    19541924            break _block2__branch2;
    19551925          }
    1956           Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_262_m_30 = new Expr (_v_deref__Statement3, (0 + 1), 1);
     1926          Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_259_m_30 = new Expr (_v_deref__Statement3, (0 + 1), 1);
    19571927          Expr _ve_He = new Expr (_v_deref__Statement3, (0 + 1 + 1), _v_len__He);
    19581928          Result _ge_auxcall4 = new Result ();
     
    19601930          Result _ve_old_m_vars = new Result ();
    19611931          Result _ve_new_m_vars = new Result ();
    1962           List.Split (_c_27, new Expr (_ve_upper_m_vars, _ve_res_m_vars), _ge_auxcall4.getExpr (), _ve_old_m_vars, _ve_new_m_vars);
     1932          List.Split (_c_26, new Expr (_ve_upper_m_vars, _ve_res_m_vars), _ge_auxcall4.getExpr (), _ve_old_m_vars, _ve_new_m_vars);
    19631933          Result _ve_renames = new Result ();
    1964           if (!List.Map (_c_28, _vs_num, _ve_old_m_vars.getExpr (), _ve_renames))
     1934          if (!List.Map (_c_27, _vs_num, _ve_old_m_vars.getExpr (), _ve_renames))
    19651935          {
    19661936            throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
     
    19681938          Result _ve_pats = new Result ();
    19691939          Result _ve_repls = new Result ();
    1970           Build_m_Subst (_ve_old_m_vars.getExpr (), _ve_renames.getExpr (), _ve_Snt, _ve_pats, _ve_repls);
     1940          Build_m_Subst (_ve_old_m_vars.getExpr (), _ve_renames.getExpr (), _ge_Snt__0, _ve_pats, _ve_repls);
    19711941          Result _v_Subst2 = new Result ();
    1972           rfp__helper.Subst (_ve_pats.getExpr (), _ve_repls.getExpr (), _ve_Snt, _v_Subst2);
    1973           int _v_len19 = _v_Subst2.getExpr ().getLen ();
    1974           int _v_len20 = 1;
    1975           if ((_v_len19 < _v_len20))
     1942          rfp__helper.Subst (_ve_pats.getExpr (), _ve_repls.getExpr (), _ge_Snt__0, _v_Subst2);
     1943          int _v_len13 = _v_Subst2.getExpr ().getLen ();
     1944          int _v_len14 = 1;
     1945          if ((_v_len13 < _v_len14))
    19761946          {
    19771947            throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    19781948          }
    1979           int _v_len__rest_m_Snt2 = (_v_len19 - _v_len20);
     1949          int _v_len__rest_m_Snt2 = (_v_len13 - _v_len14);
    19801950          if (_v_Subst2.getExpr ().symbolAt (0))
    19811951          {
     
    19831953          }
    19841954          Expr _v_deref__Subst2 = (Expr) _v_Subst2.getExpr ().at (0);
    1985           int _v_len21 = _v_deref__Subst2.getLen ();
    1986           int _v_len22 = 2;
    1987           if ((_v_len21 < _v_len22))
     1955          int _v_len15 = _v_deref__Subst2.getLen ();
     1956          int _v_len16 = 2;
     1957          if ((_v_len15 < _v_len16))
    19881958          {
    19891959            throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    19901960          }
    1991           int _v_len__He1 = (_v_len21 - _v_len22);
    1992           if (!_c_29.eq (_v_deref__Subst2, 0))
     1961          int _v_len__He1 = (_v_len15 - _v_len16);
     1962          if (!_c_28.eq (_v_deref__Subst2, 0))
    19931963          {
    19941964            throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
     
    20021972          List.Or (_ve_vars, _ge_auxcall5.getExpr (), _ge_auxcall6);
    20031973          _ve_vars = _ge_auxcall6.getExpr ();
    2004           Expr[] _va_54 = { _c_29 , _vt_p , _ve_He1 };
     1974          Expr[] _va_54 = { _c_28 , _vt_p , _ve_He1 };
    20051975          _ve_new_m_Snt = new Expr (_ve_new_m_Snt, new Expr(Expr.concat (_va_54)));
    2006           _ve_Snt = _ve_rest_m_Snt;
     1976          _ge_Snt__0 = _ve_rest_m_Snt;
    20071977          break _block2;
    20081978        }
     
    20171987          }
    20181988          Expr _v_deref__Statement4 = (Expr) _vt_Statement.at (0);
    2019           int _v_len23 = _v_deref__Statement4.getLen ();
    2020           int _v_len24 = 2;
    2021           if ((_v_len23 < _v_len24))
     1989          int _v_len17 = _v_deref__Statement4.getLen ();
     1990          int _v_len18 = 2;
     1991          if ((_v_len17 < _v_len18))
    20221992          {
    20231993            break _block2__branch3;
    20241994          }
    2025           int _v_len__branches = (_v_len23 - _v_len24);
     1995          int _v_len__branches = (_v_len17 - _v_len18);
    20261996          if (!_v_deref__Statement4.symbolAt (0))
    20271997          {
     
    20372007                break _block4__branch1;
    20382008              }
    2039               if (!_vs_block.eq (_c_7, 0))
     2009              if (!_vs_block.eq (_c_6, 0))
    20402010              {
    20412011                break _block4__branch1;
     
    20472017              break _block2__branch3;
    20482018            }
    2049             if (!_vs_block.eq (_c_8, 0))
     2019            if (!_vs_block.eq (_c_7, 0))
    20502020            {
    20512021              break _block2__branch3;
     
    20552025          _block5: {
    20562026            _block5__branch1: {
    2057               int _v_len25 = _v_len__rest;
    2058               int _v_len26 = 1;
    2059               if ((_v_len25 < _v_len26))
     2027              int _v_len19 = _v_len__rest;
     2028              int _v_len20 = 1;
     2029              if ((_v_len19 < _v_len20))
    20602030              {
    20612031                break _block5__branch1;
    20622032              }
    2063               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_281_m_26 = (_v_len25 - _v_len26);
     2033              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_278_m_26 = (_v_len19 - _v_len20);
    20642034              if (_ve_rest.symbolAt (0))
    20652035              {
     
    20672037              }
    20682038              Expr _v_deref__rest = (Expr) _ve_rest.at (0);
    2069               int _v_len27 = _v_deref__rest.getLen ();
    2070               int _v_len28 = 2;
    2071               if ((_v_len27 < _v_len28))
     2039              int _v_len21 = _v_deref__rest.getLen ();
     2040              int _v_len22 = 2;
     2041              if ((_v_len21 < _v_len22))
    20722042              {
    20732043                break _block5__branch1;
    20742044              }
    2075               int _v_len__Pe = (_v_len27 - _v_len28);
    2076               if (!_c_9.eq (_v_deref__rest, 0))
     2045              int _v_len__Pe = (_v_len21 - _v_len22);
     2046              if (!_c_8.eq (_v_deref__rest, 0))
    20772047              {
    20782048                break _block5__branch1;
    20792049              }
    2080               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_281_m_26 = new Expr (_ve_rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_281_m_26);
    2081               Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_281_m_18 = new Expr (_v_deref__rest, (0 + 1), 1);
     2050              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_278_m_26 = new Expr (_ve_rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_278_m_26);
     2051              Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_278_m_18 = new Expr (_v_deref__rest, (0 + 1), 1);
    20822052              Expr _ve_Pe = new Expr (_v_deref__rest, (0 + 1 + 1), _v_len__Pe);
    20832053              Result _va_55 = new Result ();
     
    20872057            }
    20882058            _block5__branch2: {
    2089               int _v_len29 = _v_len__rest;
    2090               int _v_len30 = 1;
    2091               if ((_v_len29 < _v_len30))
     2059              int _v_len23 = _v_len__rest;
     2060              int _v_len24 = 1;
     2061              if ((_v_len23 < _v_len24))
    20922062              {
    20932063                break _block5__branch2;
    20942064              }
    2095               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_282_m_27 = (_v_len29 - _v_len30);
     2065              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_279_m_27 = (_v_len23 - _v_len24);
    20962066              if (_ve_rest.symbolAt (0))
    20972067              {
     
    20992069              }
    21002070              Expr _v_deref__rest2 = (Expr) _ve_rest.at (0);
    2101               int _v_len31 = _v_deref__rest2.getLen ();
    2102               int _v_len32 = 2;
    2103               if ((_v_len31 < _v_len32))
     2071              int _v_len25 = _v_deref__rest2.getLen ();
     2072              int _v_len26 = 2;
     2073              if ((_v_len25 < _v_len26))
    21042074              {
    21052075                break _block5__branch2;
    21062076              }
    2107               int _v_len__Pe2 = (_v_len31 - _v_len32);
    2108               if (!_c_10.eq (_v_deref__rest2, 0))
     2077              int _v_len__Pe2 = (_v_len25 - _v_len26);
     2078              if (!_c_9.eq (_v_deref__rest2, 0))
    21092079              {
    21102080                break _block5__branch2;
    21112081              }
    2112               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_282_m_27 = new Expr (_ve_rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_282_m_27);
    2113               Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_282_m_19 = new Expr (_v_deref__rest2, (0 + 1), 1);
     2082              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_279_m_27 = new Expr (_ve_rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_279_m_27);
     2083              Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_279_m_19 = new Expr (_v_deref__rest2, (0 + 1), 1);
    21142084              Expr _ve_Pe = new Expr (_v_deref__rest2, (0 + 1 + 1), _v_len__Pe2);
    21152085              Result _va_56 = new Result ();
     
    21192089            }
    21202090            _block5__branch3: {
    2121               int _v_len33 = _v_len__rest;
    2122               int _v_len34 = 1;
    2123               if ((_v_len33 < _v_len34))
     2091              int _v_len27 = _v_len__rest;
     2092              int _v_len28 = 1;
     2093              if ((_v_len27 < _v_len28))
    21242094              {
    21252095                break _block5__branch3;
    21262096              }
    2127               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_283_m_28 = (_v_len33 - _v_len34);
     2097              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_280_m_28 = (_v_len27 - _v_len28);
    21282098              if (_ve_rest.symbolAt (0))
    21292099              {
     
    21312101              }
    21322102              Expr _v_deref__rest3 = (Expr) _ve_rest.at (0);
    2133               int _v_len35 = _v_deref__rest3.getLen ();
    2134               int _v_len36 = 2;
    2135               if ((_v_len35 < _v_len36))
     2103              int _v_len29 = _v_deref__rest3.getLen ();
     2104              int _v_len30 = 2;
     2105              if ((_v_len29 < _v_len30))
    21362106              {
    21372107                break _block5__branch3;
    21382108              }
    2139               int _v_len__He2 = (_v_len35 - _v_len36);
    2140               if (!_c_29.eq (_v_deref__rest3, 0))
     2109              int _v_len__He2 = (_v_len29 - _v_len30);
     2110              if (!_c_28.eq (_v_deref__rest3, 0))
    21412111              {
    21422112                break _block5__branch3;
    21432113              }
    2144               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_283_m_28 = new Expr (_ve_rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_283_m_28);
    2145               Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_283_m_20 = new Expr (_v_deref__rest3, (0 + 1), 1);
     2114              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_280_m_28 = new Expr (_ve_rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_280_m_28);
     2115              Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_280_m_20 = new Expr (_v_deref__rest3, (0 + 1), 1);
    21462116              Expr _ve_He = new Expr (_v_deref__rest3, (0 + 1 + 1), _v_len__He2);
    21472117              Result _va_57 = new Result ();
     
    21582128              break _block5;
    21592129            }
    2160             int _v_len37 = _v_len__rest;
    2161             int _v_len38 = 0;
    2162             if ((_v_len37 < _v_len38))
     2130            int _v_len31 = _v_len__rest;
     2131            int _v_len32 = 0;
     2132            if ((_v_len31 < _v_len32))
    21632133            {
    21642134              throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    21652135            }
    2166             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_285_m_12 = (_v_len37 - _v_len38);
    2167             Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_285_m_12 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_285_m_12);
     2136            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_282_m_12 = (_v_len31 - _v_len32);
     2137            Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_282_m_12 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_282_m_12);
    21682138            _ve_bl_m_res_m_vars = Expr.empty;
    21692139          }
     
    21772147              }
    21782148              Result _gs_auxcall7 = new Result ();
    2179               Arithm._p_ (_vs_num, _c_4, _gs_auxcall7);
    2180               Expr[] _va_59 = { _gs_auxcall7.getExpr () , new Expr(_ve_vars) , new Expr(_ve_brv) };
    2181               Result _va_58 = new Result ();
    2182               if (!List.Map (_c_30, Expr.concat (_va_59), _ve_branches, _va_58))
     2149              Arithm._p_ (_vs_num, _c_29, _gs_auxcall7);
     2150              Result _ge_branches__5 = new Result ();
     2151              Expr[] _va_58 = { _gs_auxcall7.getExpr () , new Expr(_ve_vars) , new Expr(_ve_brv) };
     2152              if (!List.Map (_c_30, Expr.concat (_va_58), _ve_branches, _ge_branches__5))
    21832153              {
    21842154                throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    21852155              }
    2186               _ve_branches = _va_58.getExpr ();
    2187               Expr[] _va_60 = { _vs_block , _vt_Pragma , _ve_branches };
    2188               _ve_new_m_Snt = new Expr (_ve_new_m_Snt, new Expr(Expr.concat (_va_60)));
    2189               _ve_Snt = _ve_rest;
     2156              _block6: {
     2157                _block6__branch1: {
     2158                  int _v_len33 = _v_len__rest;
     2159                  int _v_len34 = 1;
     2160                  if ((_v_len33 < _v_len34))
     2161                  {
     2162                    break _block6__branch1;
     2163                  }
     2164                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_303_m_32 = (_v_len33 - _v_len34);
     2165                  if (_ve_rest.symbolAt (0))
     2166                  {
     2167                    break _block6__branch1;
     2168                  }
     2169                  Expr _v_deref__rest4 = (Expr) _ve_rest.at (0);
     2170                  int _v_len35 = _v_deref__rest4.getLen ();
     2171                  int _v_len36 = 1;
     2172                  if ((_v_len35 < _v_len36))
     2173                  {
     2174                    break _block6__branch1;
     2175                  }
     2176                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_303_m_29 = (_v_len35 - _v_len36);
     2177                  if (!_c_28.eq (_v_deref__rest4, 0))
     2178                  {
     2179                    break _block6__branch1;
     2180                  }
     2181                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_303_m_32 = new Expr (_ve_rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_303_m_32);
     2182                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_303_m_29 = new Expr (_v_deref__rest4, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_303_m_29);
     2183                  Result _gs_auxcall8 = new Result ();
     2184                  Arithm._p_ (_vs_num, _c_4, _gs_auxcall8);
     2185                  Result _ge_auxcall9 = new Result ();
     2186                  Rename_m_Vars (_gs_auxcall8.getExpr (), _ve_vars, _ve_res_m_vars, _ve_rest, _ge_auxcall9);
     2187                  _ve_vars = Expr.empty;
     2188                  Expr[] _va_60 = { _vs_block , _vt_Pragma , _ge_branches__5.getExpr () };
     2189                  Expr[] _va_59 = { _ve_new_m_Snt , new Expr(Expr.concat (_va_60)) , _ge_auxcall9.getExpr () };
     2190                  _ve_new_m_Snt = Expr.concat (_va_59);
     2191                  _ge_Snt__0 = Expr.empty;
     2192                  break _block6;
     2193                }
     2194                Expr[] _va_61 = { _vs_block , _vt_Pragma , _ge_branches__5.getExpr () };
     2195                _ve_new_m_Snt = new Expr (_ve_new_m_Snt, new Expr(Expr.concat (_va_61)));
     2196                _ge_Snt__0 = _ve_rest;
     2197              }
    21902198              break _exit__iter2;
    21912199            }
    2192             _block6: {
    2193               _block6__branch1: {
     2200            _block7: {
     2201              _block7__branch1: {
    21942202                if ((_ve_vars.getLen () < 1))
    21952203                {
    2196                   break _block6__branch1;
     2204                  break _block7__branch1;
    21972205                }
    21982206                if ((_ve_bl_m_res_m_vars.getLen () < 1))
    21992207                {
    2200                   break _block6__branch1;
     2208                  break _block7__branch1;
    22012209                }
    2202                 Expr.SplitIterator _va_61 = _ve_bl_m_res_m_vars.leftSplit(0);
    2203                 _exit1: _continue1: for ( ; ; _va_61.next ())
     2210                Expr.SplitIterator _va_62 = _ve_bl_m_res_m_vars.leftSplit(0);
     2211                _exit1: _continue1: for ( ; ; _va_62.next ())
    22042212                {
    2205                   Expr _ve_1 = _va_61.getLeft();
    2206                   Expr _v_lsplit__bl_m_res_m_vars = _va_61.getRight();
    2207                   if (!_va_61.isValid ())
     2213                  Expr _ve_1 = _va_62.getLeft();
     2214                  Expr _v_lsplit__bl_m_res_m_vars = _va_62.getRight();
     2215                  if (!_va_62.isValid ())
    22082216                  {
    2209                     break _block6__branch1;
     2217                    break _block7__branch1;
    22102218                  }
    2211                   int _v_len39 = _v_lsplit__bl_m_res_m_vars.getLen ();
    2212                   int _v_len40 = 1;
    2213                   if ((_v_len39 < _v_len40))
     2219                  int _v_len37 = _v_lsplit__bl_m_res_m_vars.getLen ();
     2220                  int _v_len38 = 1;
     2221                  if ((_v_len37 < _v_len38))
    22142222                  {
    2215                     break _block6__branch1;
     2223                    break _block7__branch1;
    22162224                  }
    2217                   int _v_len__2 = (_v_len39 - _v_len40);
     2225                  int _v_len__2 = (_v_len37 - _v_len38);
    22182226                  if (_v_lsplit__bl_m_res_m_vars.symbolAt (0))
    22192227                  {
     
    22212229                  }
    22222230                  Expr _v_deref__lsplit__bl_m_res_m_vars = (Expr) _v_lsplit__bl_m_res_m_vars.at (0);
    2223                   int _v_len41 = _v_deref__lsplit__bl_m_res_m_vars.getLen ();
    2224                   int _v_len42 = 1;
    2225                   if ((_v_len41 < _v_len42))
     2231                  int _v_len39 = _v_deref__lsplit__bl_m_res_m_vars.getLen ();
     2232                  int _v_len40 = 1;
     2233                  if ((_v_len39 < _v_len40))
    22262234                  {
    22272235                    continue _continue1;
    22282236                  }
    2229                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_32 = (_v_len41 - _v_len42);
     2237                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_32 = (_v_len39 - _v_len40);
    22302238                  Expr _ve_2 = new Expr (_v_lsplit__bl_m_res_m_vars, (0 + 1), _v_len__2);
    2231                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_32 = new Expr (_v_deref__lsplit__bl_m_res_m_vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_32);
    2232                   Expr _vt_name = new Expr (_v_deref__lsplit__bl_m_res_m_vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_32), 1);
    2233                   Expr.SplitIterator _va_62 = _ve_vars.leftSplit(0);
    2234                   _exit2: _continue2: for ( ; ; _va_62.next ())
     2239                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_32 = new Expr (_v_deref__lsplit__bl_m_res_m_vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_32);
     2240                  Expr _vt_name = new Expr (_v_deref__lsplit__bl_m_res_m_vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_32), 1);
     2241                  Expr.SplitIterator _va_63 = _ve_vars.leftSplit(0);
     2242                  _exit2: _continue2: for ( ; ; _va_63.next ())
    22352243                  {
    2236                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_55 = _va_62.getLeft();
    2237                     Expr _v_lsplit__vars = _va_62.getRight();
    2238                     if (!_va_62.isValid ())
     2244                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_55 = _va_63.getLeft();
     2245                    Expr _v_lsplit__vars = _va_63.getRight();
     2246                    if (!_va_63.isValid ())
    22392247                    {
    22402248                      continue _continue1;
    22412249                    }
    2242                     int _v_len43 = _v_lsplit__vars.getLen ();
    2243                     int _v_len44 = 1;
    2244                     if ((_v_len43 < _v_len44))
     2250                    int _v_len41 = _v_lsplit__vars.getLen ();
     2251                    int _v_len42 = 1;
     2252                    if ((_v_len41 < _v_len42))
    22452253                    {
    22462254                      continue _continue1;
    22472255                    }
    2248                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_68 = (_v_len43 - _v_len44);
     2256                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_68 = (_v_len41 - _v_len42);
    22492257                    if (_v_lsplit__vars.symbolAt (0))
    22502258                    {
     
    22522260                    }
    22532261                    Expr _v_deref__lsplit__vars = (Expr) _v_lsplit__vars.at (0);
    2254                     int _v_len45 = _v_deref__lsplit__vars.getLen ();
    2255                     int _v_len46 = 1;
    2256                     if ((_v_len45 < _v_len46))
     2262                    int _v_len43 = _v_deref__lsplit__vars.getLen ();
     2263                    int _v_len44 = 1;
     2264                    if ((_v_len43 < _v_len44))
    22572265                    {
    22582266                      continue _continue2;
    22592267                    }
    2260                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_58 = (_v_len45 - _v_len46);
    2261                     if (!_vt_name.eq (_v_deref__lsplit__vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_58)))
     2268                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_58 = (_v_len43 - _v_len44);
     2269                    if (!_vt_name.eq (_v_deref__lsplit__vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_58)))
    22622270                    {
    22632271                      continue _continue2;
    22642272                    }
    2265                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_68 = new Expr (_v_lsplit__vars, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_68);
    2266                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_58 = new Expr (_v_deref__lsplit__vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_293_m_58);
     2273                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_68 = new Expr (_v_lsplit__vars, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_68);
     2274                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_58 = new Expr (_v_deref__lsplit__vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_290_m_58);
    22672275                    _ve_brv = new Expr (_ve_brv, _ve_1);
    22682276                    _ve_bl_m_res_m_vars = _ve_2;
     
    22712279                  break _exit1;
    22722280                }
    2273                 break _block6;
     2281                break _block7;
    22742282              }
    22752283              _ve_brv = new Expr (_ve_brv, _ve_bl_m_res_m_vars);
     
    22892297          }
    22902298          Expr _v_deref__Statement5 = (Expr) _vt_Statement.at (0);
    2291           int _v_len47 = _v_deref__Statement5.getLen ();
    2292           int _v_len48 = 2;
    2293           if ((_v_len47 < _v_len48))
     2299          int _v_len45 = _v_deref__Statement5.getLen ();
     2300          int _v_len46 = 2;
     2301          if ((_v_len45 < _v_len46))
    22942302          {
    22952303            break _block2__branch4;
    22962304          }
    2297           int _v_len__Sentence = (_v_len47 - _v_len48);
     2305          int _v_len__Sentence = (_v_len45 - _v_len46);
    22982306          if (!_c_1.eq (_v_deref__Statement5, 0))
    22992307          {
     
    23022310          Expr _vt_Pragma = new Expr (_v_deref__Statement5, (0 + 1), 1);
    23032311          Expr _ve_Sentence = new Expr (_v_deref__Statement5, (0 + 1 + 1), _v_len__Sentence);
    2304           Result _ge_auxcall8 = new Result ();
    2305           Expr[] _va_63 = { _vs_num , new Expr(_ve_vars) , new Expr(_ve_res_m_vars) , _ve_Sentence };
    2306           Rename_m_Vars (Expr.concat (_va_63), _ge_auxcall8);
     2312          Result _ge_auxcall10 = new Result ();
     2313          Rename_m_Vars (_vs_num, _ve_vars, _ve_res_m_vars, _ve_Sentence, _ge_auxcall10);
    23072314          _ve_vars = Expr.empty;
    2308           Expr[] _va_64 = { _c_1 , _vt_Pragma , _ge_auxcall8.getExpr () };
     2315          Expr[] _va_64 = { _c_1 , _vt_Pragma , _ge_auxcall10.getExpr () };
    23092316          _ve_new_m_Snt = new Expr (_ve_new_m_Snt, new Expr(Expr.concat (_va_64)));
    2310           _ve_Snt = Expr.empty;
     2317          _ge_Snt__0 = Expr.empty;
    23112318          break _block2;
    23122319        }
     
    23252332            break _block2__branch5;
    23262333          }
    2327           if (!_c_17.eq (_v_deref__Statement6, 0))
     2334          if (!_c_16.eq (_v_deref__Statement6, 0))
    23282335          {
    23292336            break _block2__branch5;
     
    23332340          Expr _vt_IterCondition = new Expr (_v_deref__Statement6, (0 + 1 + 1 + 1), 1);
    23342341          Result _v_Rename_m_Vars1 = new Result ();
    2335           Expr[] _va_65 = { _vs_num , new Expr(_ve_upper_m_vars) , new Expr(_ve_res_m_vars) , _vt_IterVars , _vt_IterBody };
    2336           Rename_m_Vars (Expr.concat (_va_65), _v_Rename_m_Vars1);
     2342          Rename_m_Vars (_vs_num, _ve_upper_m_vars, _ve_res_m_vars, new Expr (_vt_IterVars, _vt_IterBody), _v_Rename_m_Vars1);
    23372343          if ((_v_Rename_m_Vars1.getExpr ().getLen () != 2))
    23382344          {
    23392345            throw new RefalException ("rfp_as2as", "Rename_m_Vars", "Unexpected fail");
    23402346          }
    2341           Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_307_m_14 = new Expr (_v_Rename_m_Vars1.getExpr (), 0, 1);
     2347          Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_314_m_14 = new Expr (_v_Rename_m_Vars1.getExpr (), 0, 1);
    23422348          Expr _vt_NewBody = new Expr (_v_Rename_m_Vars1.getExpr (), (0 + 1), 1);
    23432349          Result _ve_IterCondition = new Result ();
    2344           Expr[] _va_66 = { _vs_num , new Expr(_ve_upper_m_vars) , new Expr(_ve_res_m_vars) , _vt_IterVars , _vt_IterCondition };
    2345           Rename_m_Vars (Expr.concat (_va_66), _ve_IterCondition);
     2350          Rename_m_Vars (_vs_num, _ve_upper_m_vars, _ve_res_m_vars, new Expr (_vt_IterVars, _vt_IterCondition), _ve_IterCondition);
    23462351          _ve_vars = Expr.empty;
    2347           Expr[] _va_67 = { _c_17 , _vt_NewBody , _ve_IterCondition.getExpr () };
    2348           _ve_new_m_Snt = new Expr (_ve_new_m_Snt, new Expr(Expr.concat (_va_67)));
    2349           _ve_Snt = Expr.empty;
     2352          Expr[] _va_65 = { _c_16 , _vt_NewBody , _ve_IterCondition.getExpr () };
     2353          _ve_new_m_Snt = new Expr (_ve_new_m_Snt, new Expr(Expr.concat (_va_65)));
     2354          _ge_Snt__0 = Expr.empty;
    23502355          break _block2;
    23512356        }
     
    23602365          }
    23612366          Expr _v_deref__Statement7 = (Expr) _vt_Statement.at (0);
    2362           int _v_len49 = _v_deref__Statement7.getLen ();
    2363           int _v_len50 = 3;
    2364           if ((_v_len49 < _v_len50))
     2367          int _v_len47 = _v_deref__Statement7.getLen ();
     2368          int _v_len48 = 3;
     2369          if ((_v_len47 < _v_len48))
    23652370          {
    23662371            break _block2__branch6;
    23672372          }
    2368           int _v_len__NOFAIL = (_v_len49 - _v_len50);
    2369           if (!_c_18.eq (_v_deref__Statement7, 0))
     2373          int _v_len__NOFAIL = (_v_len47 - _v_len48);
     2374          if (!_c_17.eq (_v_deref__Statement7, 0))
    23702375          {
    23712376            break _block2__branch6;
     
    23752380          Expr _vt_Catch = new Expr (_v_deref__Statement7, (0 + 1 + 1 + _v_len__NOFAIL), 1);
    23762381          Result _ve_TryBranch = new Result ();
    2377           Expr[] _va_68 = { _vs_num , new Expr(_ve_upper_m_vars) , new Expr(_ve_res_m_vars) , _vt_TryBranch };
    2378           Rename_m_Vars (Expr.concat (_va_68), _ve_TryBranch);
     2382          Rename_m_Vars (_vs_num, _ve_upper_m_vars, _ve_res_m_vars, _vt_TryBranch, _ve_TryBranch);
    23792383          Result _ve_Catch = new Result ();
    2380           Expr[] _va_69 = { _vs_num , new Expr(_ve_upper_m_vars) , new Expr(_ve_res_m_vars) , _vt_Catch };
    2381           Rename_m_Vars (Expr.concat (_va_69), _ve_Catch);
     2384          Rename_m_Vars (_vs_num, _ve_upper_m_vars, _ve_res_m_vars, _vt_Catch, _ve_Catch);
    23822385          _ve_vars = Expr.empty;
    2383           Expr[] _va_70 = { _c_18 , _ve_TryBranch.getExpr () , _ve_NOFAIL , _ve_Catch.getExpr () };
    2384           _ve_new_m_Snt = new Expr (_ve_new_m_Snt, new Expr(Expr.concat (_va_70)));
    2385           _ve_Snt = Expr.empty;
     2386          Expr[] _va_66 = { _c_17 , _ve_TryBranch.getExpr () , _ve_NOFAIL , _ve_Catch.getExpr () };
     2387          _ve_new_m_Snt = new Expr (_ve_new_m_Snt, new Expr(Expr.concat (_va_66)));
     2388          _ge_Snt__0 = Expr.empty;
    23862389          break _block2;
    23872390        }
    23882391        _ve_new_m_Snt = new Expr (_ve_new_m_Snt, _vt_Statement);
    2389         _ve_Snt = _ve_rest;
     2392        _ge_Snt__0 = _ve_rest;
    23902393      }
    23912394    }
     
    24122415      return false;
    24132416    }
    2414     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_19 = (_v_len3 - _v_len4);
     2417    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_19 = (_v_len3 - _v_len4);
    24152418    Expr _ve_vars = new Expr (_ge_arg1, 0, _v_len__vars);
    2416     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_19 = new Expr (_v_deref__arg1, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_19);
    2417     Expr _vt_name = new Expr (_v_deref__arg1, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_19), 1);
     2419    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_19 = new Expr (_v_deref__arg1, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_19);
     2420    Expr _vt_name = new Expr (_v_deref__arg1, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_19), 1);
    24182421    if ((_v_len__vars < 1))
    24192422    {
    24202423      return false;
    24212424    }
    2422     Expr.SplitIterator _va_71 = _ve_vars.leftSplit(0);
    2423     _exit1: _continue1: for ( ; ; _va_71.next ())
     2425    Expr.SplitIterator _va_67 = _ve_vars.leftSplit(0);
     2426    _exit1: _continue1: for ( ; ; _va_67.next ())
    24242427    {
    2425       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_40 = _va_71.getLeft();
    2426       Expr _v_lsplit__vars = _va_71.getRight();
    2427       if (!_va_71.isValid ())
     2428      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_40 = _va_67.getLeft();
     2429      Expr _v_lsplit__vars = _va_67.getRight();
     2430      if (!_va_67.isValid ())
    24282431      {
    24292432        return false;
     
    24352438        return false;
    24362439      }
    2437       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_53 = (_v_len5 - _v_len6);
     2440      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_53 = (_v_len5 - _v_len6);
    24382441      if (_v_lsplit__vars.symbolAt (0))
    24392442      {
     
    24472450        continue _continue1;
    24482451      }
    2449       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_43 = (_v_len7 - _v_len8);
    2450       if (!_vt_name.eq (_v_deref__lsplit__vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_43)))
     2452      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_43 = (_v_len7 - _v_len8);
     2453      if (!_vt_name.eq (_v_deref__lsplit__vars, (0 + _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_43)))
    24512454      {
    24522455        continue _continue1;
    24532456      }
    2454       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_53 = new Expr (_v_lsplit__vars, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_53);
    2455       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_43 = new Expr (_v_deref__lsplit__vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_326_m_43);
     2457      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_53 = new Expr (_v_lsplit__vars, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_53);
     2458      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_43 = new Expr (_v_deref__lsplit__vars, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_333_m_43);
    24562459      _v_res1.assign (Expr.empty);
    24572460      break _exit1;
     
    24992502    Expr _vt_p = new Expr (_v_deref__arg1, (0 + 1), 1);
    25002503    Expr _ve_QualifiedName = new Expr (_v_deref__deref__arg1, 0, _v_len__QualifiedName);
    2501     Expr[] _va_73 = { _ve_QualifiedName , _c_31 , _vs_num };
    2502     Expr[] _va_72 = { _vs_tag , _vt_p , new Expr(Expr.concat (_va_73)) };
    2503     _v_res1.assign (new Expr(Expr.concat (_va_72)));
     2504    Expr[] _va_69 = { _ve_QualifiedName , _c_31 , _vs_num };
     2505    Expr[] _va_68 = { _vs_tag , _vt_p , new Expr(Expr.concat (_va_69)) };
     2506    _v_res1.assign (new Expr(Expr.concat (_va_68)));
    25042507  }
    25052508
     
    25152518        }
    25162519        int _v_len__Snt = (_v_len1 - _v_len2);
    2517         Expr[] _va_74 = { new Expr(_ge_arg1) , new Expr(_ge_arg2) , _ge_arg3 };
    2518         Expr _v_compose1 = Expr.concat (_va_74);
     2520        Expr[] _va_70 = { new Expr(_ge_arg1) , new Expr(_ge_arg2) , _ge_arg3 };
     2521        Expr _v_compose1 = Expr.concat (_va_70);
    25192522        if (_v_compose1.symbolAt (0))
    25202523        {
     
    25712574        Expr _ve_substs = new Expr (_v_deref__compose12, (0 + 1), _v_len__substs);
    25722575        Expr _vs_tag = new Expr (_v_deref__deref__compose1, 0, 1);
    2573         Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_335_m_12 = new Expr (_v_deref__deref__compose1, (0 + 1), 1);
     2576        Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_342_m_12 = new Expr (_v_deref__deref__compose1, (0 + 1), 1);
    25742577        Expr _vt_name = new Expr (_v_deref__deref__compose1, (0 + 1 + 1), 1);
    2575         Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_335_m_32 = new Expr (_v_deref__deref__compose12, 0, 1);
    2576         Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_335_m_34 = new Expr (_v_deref__deref__compose12, (0 + 1), 1);
     2578        Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_342_m_32 = new Expr (_v_deref__deref__compose12, 0, 1);
     2579        Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_342_m_34 = new Expr (_v_deref__deref__compose12, (0 + 1), 1);
    25772580        Expr _vt_s = new Expr (_v_deref__deref__compose12, (0 + 1 + 1), 1);
    25782581        Result _ve_var_m_pats = new Result ();
     
    25922595        throw new RefalException ("rfp_as2as", "Build_m_Subst", "Unexpected fail");
    25932596      }
    2594       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_339_m_10 = (_v_len7 - _v_len8);
    2595       Expr[] _va_75 = { new Expr(_ge_arg1) , new Expr(_ge_arg2) , _ge_arg3 };
    2596       Expr _v_compose2 = Expr.concat (_va_75);
     2597      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_346_m_10 = (_v_len7 - _v_len8);
     2598      Expr[] _va_71 = { new Expr(_ge_arg1) , new Expr(_ge_arg2) , _ge_arg3 };
     2599      Expr _v_compose2 = Expr.concat (_va_71);
    25972600      if (!_c_32.eq (_v_compose2, 0))
    25982601      {
    25992602        throw new RefalException ("rfp_as2as", "Build_m_Subst", "Unexpected fail");
    26002603      }
    2601       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_339_m_10 = new Expr (_v_compose2, (0 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_339_m_10);
     2604      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_346_m_10 = new Expr (_v_compose2, (0 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__as2asrf_m_346_m_10);
    26022605      _v_res1.assign (Expr.empty);
    26032606      _v_res2.assign (Expr.empty);
     
    26512654                  break _block3__branch1;
    26522655                }
    2653                 Expr[] _va_76 = { _vs_tag , _vt_p , _vt_name };
    2654                 _ve_st_m_pats = new Expr(Expr.concat (_va_76));
    2655                 Expr[] _va_77 = { _vs_tag , _vt_p , _vt_s };
    2656                 _ve_st_m_repls = new Expr(new Expr(Expr.concat (_va_77)));
     2656                Expr[] _va_72 = { _vs_tag , _vt_p , _vt_name };
     2657                _ve_st_m_pats = new Expr(Expr.concat (_va_72));
     2658                Expr[] _va_73 = { _vs_tag , _vt_p , _vt_s };
     2659                _ve_st_m_repls = new Expr(new Expr(Expr.concat (_va_73)));
    26572660                break _block3;
    26582661              }
     
    26802683            int _v_len__xpr = (_v_len3 - _v_len4);
    26812684            Expr _ve_xpr = new Expr (_v_deref__Statement2, 0, _v_len__xpr);
    2682             Result _va_78 = new Result ();
    2683             Result _va_79 = new Result ();
    2684             Var_m_Subst (_vs_tag, _vt_n, _vt_s, _ve_xpr, _va_78, _va_79);
    2685             _ve_st_m_pats = _va_78.getExpr ();
    2686             _ve_st_m_repls = _va_79.getExpr ();
     2685            Result _va_74 = new Result ();
     2686            Result _va_75 = new Result ();
     2687            Var_m_Subst (_vs_tag, _vt_n, _vt_s, _ve_xpr, _va_74, _va_75);
     2688            _ve_st_m_pats = _va_74.getExpr ();
     2689            _ve_st_m_repls = _va_75.getExpr ();
    26872690            break _block2;
    26882691          }
     
    27012704    }
    27022705  }
     2706
     2707  static private boolean Rename_m_Vars__0 (Expr _ge_arg1, Result _v_res1) throws RefalException
     2708  {
     2709    int _v_len1 = _ge_arg1.getLen ();
     2710    int _v_len2 = 3;
     2711    if ((_v_len1 < _v_len2))
     2712    {
     2713      throw new RefalException (_c_33);
     2714    }
     2715    int _v_len__stub1 = (_v_len1 - _v_len2);
     2716    if (_ge_arg1.symbolAt ((0 + 1)))
     2717    {
     2718      throw new RefalException (_c_33);
     2719    }
     2720    if (_ge_arg1.symbolAt ((0 + 1 + 1)))
     2721    {
     2722      throw new RefalException (_c_33);
     2723    }
     2724    Expr _v_deref__arg1 = (Expr) _ge_arg1.at ((0 + 1));
     2725    Expr _v_deref__arg12 = (Expr) _ge_arg1.at ((0 + 1 + 1));
     2726    int _v_len3 = _v_deref__arg12.getLen ();
     2727    int _v_len4 = 0;
     2728    if ((_v_len3 < _v_len4))
     2729    {
     2730      throw new RefalException (_c_33);
     2731    }
     2732    int _v_len__stub2 = (_v_len3 - _v_len4);
     2733    int _v_len5 = _v_deref__arg1.getLen ();
     2734    int _v_len6 = 0;
     2735    if ((_v_len5 < _v_len6))
     2736    {
     2737      throw new RefalException (_c_33);
     2738    }
     2739    int _v_len__stub3 = (_v_len5 - _v_len6);
     2740    if (!_ge_arg1.symbolAt (0))
     2741    {
     2742      throw new RefalException (_c_33);
     2743    }
     2744    Expr _v_stub4 = new Expr (_ge_arg1, 0, 1);
     2745    Expr _v_stub1 = new Expr (_ge_arg1, (0 + 1 + 1 + 1), _v_len__stub1);
     2746    Expr _v_stub3 = new Expr (_v_deref__arg1, 0, _v_len__stub3);
     2747    Expr _v_stub2 = new Expr (_v_deref__arg12, 0, _v_len__stub2);
     2748    Rename_m_Vars (_v_stub4, _v_stub3, _v_stub2, _v_stub1, _v_res1);
     2749    return true;
     2750  }
    27032751}
  • to-imperative/trunk/java/org/refal/plus/compiler/rfp__asail2asail.java

    r2187 r2327  
    118118        Expr _vt_first = new Expr (_ge_arg1, 0, 1);
    119119        Expr _ve_rest = new Expr (_ge_arg1, (0 + 1), _v_len__rest);
    120         Expr _ve_first = Expr.empty;
     120        Expr _ge_first__3 = Expr.empty;
    121121        _block2: {
    122122          _block2__branch1: {
     
    170170                  break _block3__branch1;
    171171                }
    172                 _ve_first = Expr.empty;
     172                _ge_first__3 = Expr.empty;
    173173                break _block3;
    174174              }
     
    184184                Result _va_2 = new Result ();
    185185                Simplify (_ve_body, _va_2);
    186                 _ve_first = _va_2.getExpr ();
     186                _ge_first__3 = _va_2.getExpr ();
    187187                break _block3;
    188188              }
     
    198198              Simplify (_ve_body, _ge_auxcall1);
    199199              Expr[] _va_3 = { _c_0 , new Expr(_ve_c) , _ge_auxcall1.getExpr () };
    200               _ve_first = new Expr(Expr.concat (_va_3));
     200              _ge_first__3 = new Expr(Expr.concat (_va_3));
    201201            }
    202202            break _block2;
     
    228228            Simplify_m_Arithm (new Expr(_ve_expr), _ge_auxcall2);
    229229            Expr[] _va_4 = { _c_4 , _vt_var , _ge_auxcall2.getExpr () };
    230             _ve_first = new Expr(Expr.concat (_va_4));
     230            _ge_first__3 = new Expr(Expr.concat (_va_4));
    231231            break _block2;
    232232          }
     
    251251            Result _ge_auxcall3 = new Result ();
    252252            Simplify (_ve_1, _ge_auxcall3);
    253             _ve_first = new Expr(_ge_auxcall3.getExpr ());
     253            _ge_first__3 = new Expr(_ge_auxcall3.getExpr ());
    254254            break _block2;
    255255          }
     
    263263          }
    264264          Expr _vs_1 = new Expr (_vt_first, 0, 1);
    265           _ve_first = _vs_1;
     265          _ge_first__3 = _vs_1;
    266266        }
    267267        Result _v_Simplify1 = new Result ();
    268268        Simplify (_ve_rest, _v_Simplify1);
    269         _v_res1.assign (new Expr (_ve_first, _v_Simplify1.getExpr ()));
     269        _v_res1.assign (new Expr (_ge_first__3, _v_Simplify1.getExpr ()));
    270270        break _block1;
    271271      }
     
    327327              break _block2__branch1;
    328328            }
    329             int _v_len__body__2 = (_v_len3 - _v_len4);
     329            int _v_len__body__4 = (_v_len3 - _v_len4);
    330330            if (!_c_5.eq (_v_deref__1, 0))
    331331            {
     
    335335            Expr _vt_in = new Expr (_v_deref__1, (0 + 1 + 1), 1);
    336336            Expr _vt_out = new Expr (_v_deref__1, (0 + 1 + 1 + 1), 1);
    337             Expr _ge_body__2 = new Expr (_v_deref__1, (0 + 1 + 1 + 1 + 1), _v_len__body__2);
     337            Expr _ge_body__4 = new Expr (_v_deref__1, (0 + 1 + 1 + 1 + 1), _v_len__body__4);
    338338            Expr[] _va_5 = { _c_5 , _vt_name , _vt_in , _vt_out };
    339339            Box.Put (Blocks, new Expr(Expr.concat (_va_5)));
    340340            rfp__helper.RFP_m_Clear_m_Table (Breaks);
    341             _ve_body = _ge_body__2;
     341            _ve_body = _ge_body__4;
    342342            break _block2;
    343343          }
     
    358358              break _block2__branch2;
    359359            }
    360             int _v_len__body__22 = (_v_len5 - _v_len6);
     360            int _v_len__body__42 = (_v_len5 - _v_len6);
    361361            if (!_c_6.eq (_v_deref__12, 0))
    362362            {
     
    366366            Expr _vt_in = new Expr (_v_deref__12, (0 + 1 + 1), 1);
    367367            Expr _vt_out = new Expr (_v_deref__12, (0 + 1 + 1 + 1), 1);
    368             Expr _ge_body__2 = new Expr (_v_deref__12, (0 + 1 + 1 + 1 + 1), _v_len__body__22);
     368            Expr _ge_body__4 = new Expr (_v_deref__12, (0 + 1 + 1 + 1 + 1), _v_len__body__42);
    369369            Expr[] _va_6 = { _c_6 , _vt_name , _vt_in , _vt_out };
    370370            Box.Put (Blocks, new Expr(Expr.concat (_va_6)));
    371371            rfp__helper.RFP_m_Clear_m_Table (Breaks);
    372             _ve_body = _ge_body__2;
     372            _ve_body = _ge_body__4;
    373373            break _block2;
    374374          }
     
    389389              break _block2__branch3;
    390390            }
    391             int _v_len__body__23 = (_v_len7 - _v_len8);
     391            int _v_len__body__43 = (_v_len7 - _v_len8);
    392392            if (_v_deref__13.symbolAt ((0 + 1)))
    393393            {
     
    442442              break _block2__branch3;
    443443            }
    444             Expr _ge_body__2 = new Expr (_v_deref__13, (0 + 1 + 1 + 1 + 1 + 1), _v_len__body__23);
     444            Expr _ge_body__4 = new Expr (_v_deref__13, (0 + 1 + 1 + 1 + 1 + 1), _v_len__body__43);
    445445            Expr _ve_cont = new Expr (_v_deref__deref__13, 0, _v_len__cont);
    446446            Expr _ve_break = new Expr (_v_deref__deref__132, 0, _v_len__break);
     
    449449            Expr[] _va_7 = { _c_7 , new Expr(_ve_cont) , new Expr(_ve_break) , new Expr(_ve_cond) , new Expr(_ve_step) };
    450450            Box.Put (Blocks, new Expr(Expr.concat (_va_7)));
    451             _ve_body = _ge_body__2;
     451            _ve_body = _ge_body__4;
    452452            break _block2;
    453453          }
     
    468468              break _block2__branch4;
    469469            }
    470             int _v_len__body__24 = (_v_len17 - _v_len18);
     470            int _v_len__body__44 = (_v_len17 - _v_len18);
    471471            if (_v_deref__14.symbolAt ((0 + 1)))
    472472            {
     
    482482              break _block2__branch4;
    483483            }
    484             Expr _ge_body__2 = new Expr (_v_deref__14, (0 + 1 + 1), _v_len__body__24);
     484            Expr _ge_body__4 = new Expr (_v_deref__14, (0 + 1 + 1), _v_len__body__44);
    485485            Expr _vt_label = new Expr (_v_deref__deref__14, 0, 1);
    486486            Box.Put (Blocks, new Expr(new Expr (_c_8, new Expr(_vt_label))));
    487             _ve_body = _ge_body__2;
     487            _ve_body = _ge_body__4;
    488488            break _block2;
    489489          }
     
    504504              break _block2__branch5;
    505505            }
    506             int _v_len__body__25 = (_v_len19 - _v_len20);
     506            int _v_len__body__45 = (_v_len19 - _v_len20);
    507507            if (_v_deref__15.symbolAt ((0 + 1)))
    508508            {
     
    521521              break _block2__branch5;
    522522            }
    523             Expr _ge_body__2 = new Expr (_v_deref__15, (0 + 1 + 1), _v_len__body__25);
     523            Expr _ge_body__4 = new Expr (_v_deref__15, (0 + 1 + 1), _v_len__body__45);
    524524            Expr _ve_cond = new Expr (_v_deref__deref__15, 0, _v_len__cond2);
    525525            Box.Put (Blocks, new Expr(new Expr (_c_0, new Expr(_ve_cond))));
    526             _ve_body = _ge_body__2;
     526            _ve_body = _ge_body__4;
    527527            break _block2;
    528528          }
     
    543543              break _block2__branch6;
    544544            }
    545             int _v_len__body__26 = (_v_len23 - _v_len24);
     545            int _v_len__body__46 = (_v_len23 - _v_len24);
    546546            if (!_c_9.eq (_v_deref__16, 0))
    547547            {
    548548              break _block2__branch6;
    549549            }
    550             Expr _ge_body__2 = new Expr (_v_deref__16, (0 + 1), _v_len__body__26);
     550            Expr _ge_body__4 = new Expr (_v_deref__16, (0 + 1), _v_len__body__46);
    551551            Box.Put (Blocks, _c_10);
    552             _ve_body = _ge_body__2;
     552            _ve_body = _ge_body__4;
    553553            break _block2;
    554554          }
     
    568568            break _block1__branch1;
    569569          }
    570           int _v_len__body__27 = (_v_len25 - _v_len26);
     570          int _v_len__body__47 = (_v_len25 - _v_len26);
    571571          if (!_c_11.eq (_v_deref__17, 0))
    572572          {
    573573            break _block1__branch1;
    574574          }
    575           Expr _ge_body__2 = new Expr (_v_deref__17, (0 + 1), _v_len__body__27);
     575          Expr _ge_body__4 = new Expr (_v_deref__17, (0 + 1), _v_len__body__47);
    576576          Box.Put (Blocks, _c_12);
    577           _ve_body = _ge_body__2;
     577          _ve_body = _ge_body__4;
    578578        }
    579579        Box.Put (Last_m_Breaks, _c_13);
     
    587587        }
    588588        Expr _ve_t1 = Expr.empty;
     589        Expr _ge_2__4 = Expr.empty;
    589590        _block3: {
    590591          _block3__branch1: {
     
    624625                Expr[] _va_9 = { _c_8 , new Expr(_vt_label) , _ve_body };
    625626                _ve_t1 = new Expr(Expr.concat (_va_9));
     627                _ge_2__4 = _ve_2;
    626628                break _block4;
    627629              }
     
    675677              }
    676678              _ve_t1 = Expr.empty;
    677               _ve_2 = new Expr (_ve_body, _ve_2);
     679              _ge_2__4 = new Expr (_ve_body, _ve_2);
    678680            }
    679681            break _block3;
     
    748750                Expr[] _va_10 = { _c_7 , new Expr(_ve_cont) , new Expr(_ve_break) , _c_13 , new Expr(_ve_step) , _ve_body };
    749751                _ve_t1 = new Expr(Expr.concat (_va_10));
     752                _ge_2__4 = _ve_2;
    750753                break _block6;
    751754              }
    752755              Expr[] _va_11 = { _c_7 , new Expr(_ve_cont) , new Expr(_ve_break) , _c_13 , new Expr(_ve_step) , _ve_body };
    753756              _ve_t1 = new Expr(Expr.concat (_va_11));
    754               _ve_2 = Expr.empty;
     757              _ge_2__4 = Expr.empty;
    755758            }
    756759            break _block3;
     
    795798                Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail2asailrf_m_90_m_32 = new Expr (_v_deref___q_2, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail2asailrf_m_90_m_32);
    796799                _ve_t1 = new Expr(new Expr (_c_9, _ve_body));
     800                _ge_2__4 = _ve_2;
    797801                break _block7;
    798802              }
     
    824828              _ve_t1 = new Expr(new Expr (_c_9, _ve_body));
    825829              Expr[] _va_12 = { _c_11 , _ve_catch_m_body , _ve_3 };
    826               _ve_2 = new Expr(Expr.concat (_va_12));
     830              _ge_2__4 = new Expr(Expr.concat (_va_12));
    827831            }
    828832            break _block3;
     
    846850          Expr _ve_item = new Expr (_v_deref__GetR13, 0, _v_len__item);
    847851          _ve_t1 = new Expr(new Expr (_ve_item, _ve_body));
     852          _ge_2__4 = _ve_2;
    848853        }
    849854        Result _vt_breaks = new Result ();
     
    896901        }
    897902        Result _v_Remove_m_Unreachable1 = new Result ();
    898         Remove_m_Unreachable (_ve_2, _v_Remove_m_Unreachable1);
     903        Remove_m_Unreachable (_ge_2__4, _v_Remove_m_Unreachable1);
    899904        _v_res1.assign (new Expr (_ve_t1, _v_Remove_m_Unreachable1.getExpr ()));
    900905        break _block1;
     
    12421247            Expr _vt_var = new Expr (_v_deref__1, (0 + 1 + 1), 1);
    12431248            Result _ve_d = new Result ();
    1244             Result _ge_decls__2 = new Result ();
    1245             Result _ge_subst__2 = new Result ();
    1246             Process_m_Var (_ve_decls, _ve_subst, _vs_type, _vt_var, _ve_d, _ge_decls__2, _ge_subst__2);
     1249            Result _ge_decls__4 = new Result ();
     1250            Result _ge_subst__4 = new Result ();
     1251            Process_m_Var (_ve_decls, _ve_subst, _vs_type, _vt_var, _ve_d, _ge_decls__4, _ge_subst__4);
    12471252            Result _v_Remove_m_Dupl_m_Decl1 = new Result ();
    1248             Remove_m_Dupl_m_Decl (_ge_decls__2.getExpr (), _ge_subst__2.getExpr (), _ve_rest, _v_Remove_m_Dupl_m_Decl1);
     1253            Remove_m_Dupl_m_Decl (_ge_decls__4.getExpr (), _ge_subst__4.getExpr (), _ve_rest, _v_Remove_m_Dupl_m_Decl1);
    12491254            _v_res1.assign (new Expr (_ve_d.getExpr (), _v_Remove_m_Dupl_m_Decl1.getExpr ()));
    12501255            break _block2;
     
    13821387            _ve_xpr = _va_16.getExpr ();
    13831388            Result _ve_decl1 = new Result ();
    1384             Result _ge_decls__2 = new Result ();
    1385             Result _ge_subst__2 = new Result ();
    1386             Process_m_Var (_ve_decls, _ve_subst, _c_27, _vt_var1, _ve_decl1, _ge_decls__2, _ge_subst__2);
     1389            Result _ge_decls__4 = new Result ();
     1390            Result _ge_subst__4 = new Result ();
     1391            Process_m_Var (_ve_decls, _ve_subst, _c_27, _vt_var1, _ve_decl1, _ge_decls__4, _ge_subst__4);
     1392            Expr _gt_var1__5 = Expr.empty;
    13871393            _block5: {
    13881394              _block5__branch1: {
     
    14101416                Expr _vs_type = new Expr (_v_deref__decl1, (0 + 1), 1);
    14111417                Expr _vt_new_m_var = new Expr (_v_deref__decl1, (0 + 1 + 1), 1);
    1412                 _vt_var1 = _vt_new_m_var;
     1418                _gt_var1__5 = _vt_new_m_var;
    14131419                break _block5;
    14141420              }
     1421              _gt_var1__5 = _vt_var1;
    14151422            }
    14161423            Result _ve_decl2 = new Result ();
    1417             Process_m_Var (_ge_decls__2.getExpr (), _ge_subst__2.getExpr (), _c_27, _vt_var2, _ve_decl2, _ge_decls__2, _ge_subst__2);
     1424            Result _ge_decls__4__5 = new Result ();
     1425            Result _ge_subst__4__5 = new Result ();
     1426            Process_m_Var (_ge_decls__4.getExpr (), _ge_subst__4.getExpr (), _c_27, _vt_var2, _ve_decl2, _ge_decls__4__5, _ge_subst__4__5);
     1427            Expr _gt_var2__6 = Expr.empty;
    14181428            _block6: {
    14191429              _block6__branch1: {
     
    14411451                Expr _vs_type = new Expr (_v_deref__decl2, (0 + 1), 1);
    14421452                Expr _vt_new_m_var = new Expr (_v_deref__decl2, (0 + 1 + 1), 1);
    1443                 _vt_var2 = _vt_new_m_var;
     1453                _gt_var2__6 = _vt_new_m_var;
    14441454                break _block6;
    14451455              }
     1456              _gt_var2__6 = _vt_var2;
    14461457            }
    14471458            Result _v_Remove_m_Dupl_m_Decl4 = new Result ();
    1448             Remove_m_Dupl_m_Decl (_ge_decls__2.getExpr (), _ge_subst__2.getExpr (), _ve_rest, _v_Remove_m_Dupl_m_Decl4);
    1449             Expr[] _va_17 = { _vs_split , _ve_xpr , _vt_var1 , _vt_var2 };
     1459            Remove_m_Dupl_m_Decl (_ge_decls__4__5.getExpr (), _ge_subst__4__5.getExpr (), _ve_rest, _v_Remove_m_Dupl_m_Decl4);
     1460            Expr[] _va_17 = { _vs_split , _ve_xpr , _gt_var1__5 , _gt_var2__6 };
    14501461            _v_res1.assign (new Expr (new Expr(Expr.concat (_va_17)), _v_Remove_m_Dupl_m_Decl4.getExpr ()));
    14511462            break _block2;
     
    21832194          break _block1__branch1;
    21842195        }
    2185         Expr _gs_1__1 = new Expr (_v__q_1.getExpr (), 0, 1);
     2196        Expr _gs_1__2 = new Expr (_v__q_1.getExpr (), 0, 1);
    21862197        Result _va_31 = new Result ();
    2187         Arithm._p_ (_gs_1__1, _c_3, _va_31);
     2198        Arithm._p_ (_gs_1__2, _c_3, _va_31);
    21882199        _vs_1 = _va_31.getExpr ();
    21892200        break _block1;
  • to-imperative/trunk/java/org/refal/plus/compiler/rfp__asail__cpp.java

    r2187 r2327  
    3030  static private final Expr _c_2 = new Expr (new Word ("ENTRIES"));
    3131  static private final Expr _c_3 = new Expr (new Word ("Main"));
    32   static private final Expr _c_178 = Expr.fromSequence ("static AtStart init_registrator_ (&init_);");
     32  static private final Expr _c_187 = Expr.fromSequence ("static AtStart init_registrator_ (&init_);");
    3333  static private final Expr _c_33 = Expr.fromSequence (": {}");
    3434  static private final Expr _c_7 = new Expr (_c_33, 3, 1);
    35   static private final Expr _c_9 = new Expr (new Expr (_c_178), new Expr (_c_7));
     35  static private final Expr _c_9 = new Expr (new Expr (_c_187), new Expr (_c_7));
    3636  static private final Expr _c_4 = new Expr (_c_9, 1, 1);
    37   static private final Expr _c_5 = new Expr (_c_178, 40, 2);
     37  static private final Expr _c_5 = new Expr (_c_187, 40, 2);
    3838  static private final Expr _c_6 = Expr.fromSequence ("rfrt::Entry rf_entry (");
    3939  static private final Expr _c_8 = Expr.fromSequence ("static void init_ ()\n{");
    40   static private final Expr _c_10 = new Expr (_c_178, 41, 1);
     40  static private final Expr _c_10 = new Expr (_c_187, 41, 1);
    4141  static private final Expr _c_11 = Expr.fromSequence (" = ");
    42   static private final Expr _c_179 = Expr.fromSequence ("namespace refal\n{");
    43   static private final Expr _c_12 = new Expr (new Expr (_c_179), new Expr (Expr.fromSequence ("using namespace rfrt;")));
     42  static private final Expr _c_188 = Expr.fromSequence ("namespace refal\n{");
     43  static private final Expr _c_12 = new Expr (new Expr (_c_188), new Expr (Expr.fromSequence ("using namespace rfrt;")));
    4444  static private final Expr _c_13 = new Expr (new Word ("FUNC"));
    4545  static private final Expr _c_14 = new Expr (_c_8, 7, 4);
     
    5151  static private final Expr _c_19 = new Expr (_c_59, 0, 1);
    5252  static private final Expr _c_20 = Expr.fromSequence ("RF_ARG ");
    53   static private final Expr _c_162 = new Expr (new Expr (Expr.empty), new Expr (new Word ("Vars")));
    54   static private final Expr _c_21 = new Expr (_c_162, 1, 1);
     53  static private final Expr _c_167 = new Expr (new Expr (Expr.empty), new Expr (new Word ("Vars")));
     54  static private final Expr _c_21 = new Expr (_c_167, 1, 1);
    5555  static private final Expr _c_22 = Expr.fromSequence ("RF_RES ");
    5656  static private final Expr _c_23 = Expr.fromSequence ("RF_END");
    5757  static private final Expr _c_24 = new Expr (_c_5, 0, 1);
    58   static private final Expr _c_168 = Expr.fromSequence (" <<<\\n\", rfrt::stack->get_depth());");
    59   static private final Expr _c_25 = new Expr (_c_168, 7, 2);
     58  static private final Expr _c_85 = Expr.fromSequence (", (");
     59  static private final Expr _c_25 = new Expr (_c_85, 0, 2);
    6060  static private final Expr _c_26 = Expr.fromSequence ("RF_FUNC (");
    6161  static private final Expr _c_27 = new Expr (new Word ("TRACE"));
    6262  static private final Expr _c_28 = new Expr (new Word ("IF"));
    63   static private final Expr _c_83 = Expr.fromSequence ("if (RF_CALL (");
    64   static private final Expr _c_29 = new Expr (_c_83, 0, 4);
    65   static private final Expr _c_30 = new Expr (_c_179, 16, 1);
     63  static private final Expr _c_87 = Expr.fromSequence ("if (RF_CALL (");
     64  static private final Expr _c_29 = new Expr (_c_87, 0, 4);
     65  static private final Expr _c_30 = new Expr (_c_188, 16, 1);
    6666  static private final Expr _c_31 = new Expr (new Word ("FOR"));
    6767  static private final Expr _c_32 = new Expr (new Word ("LABEL"));
     
    7575  static private final Expr _c_41 = new Expr (new Word ("RETURN"));
    7676  static private final Expr _c_42 = new Expr (new Word ("RETFAIL"));
    77   static private final Expr _c_180 = Expr.fromSequence ("else RF_RETFAIL;");
    78   static private final Expr _c_43 = new Expr (new Expr (_c_180, 5, 11));
     77  static private final Expr _c_189 = Expr.fromSequence ("else RF_RETFAIL;");
     78  static private final Expr _c_43 = new Expr (new Expr (_c_189, 5, 11));
    7979  static private final Expr _c_44 = new Expr (new Word ("FATAL"));
    8080  static private final Expr _c_45 = new Expr (Expr.fromSequence ("RF_FUNC_ERROR (unexpected_fail);"));
     
    100100  static private final Expr _c_65 = new Expr (new Word ("CONSTEXPR"));
    101101  static private final Expr _c_66 = new Expr (new Word ("LOCAL"));
    102   static private final Expr _c_67 = new Expr (_c_178, 0, 7);
     102  static private final Expr _c_67 = new Expr (_c_187, 0, 7);
    103103  static private final Expr _c_68 = new Expr (new Word ("STATIC"));
    104104  static private final Expr _c_69 = new Expr (new Word ("OBJ"));
    105105  static private final Expr _c_70 = new Expr (new Word ("BOX"));
    106   static private final Expr _c_171 = Expr.fromSequence ("printf(\"  : \");");
    107   static private final Expr _c_71 = new Expr (_c_171, 12, 2);
     106  static private final Expr _c_180 = Expr.fromSequence ("printf(\"  : \");");
     107  static private final Expr _c_71 = new Expr (_c_180, 12, 2);
    108108  static private final Expr _c_72 = Expr.fromSequence ("Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L\"");
    109109  static private final Expr _c_73 = new Expr (_c_72, 59, 4);
     
    115115  static private final Expr _c_80 = new Expr (new Word ("CALL"));
    116116  static private final Expr _c_81 = new Expr (new Word ("Exprs"));
    117   static private final Expr _c_82 = new Expr (_c_168, 32, 2);
    118   static private final Expr _c_84 = new Expr (_c_180);
    119   static private final Expr _c_85 = new Expr (new Word ("TAILCALL?"));
    120   static private final Expr _c_86 = new Expr (new Word ("TAILCALL"));
    121   static private final Expr _c_87 = new Expr (_c_23, 0, 3);
    122   static private final Expr _c_88 = new Expr (new Word ("PAREN"));
    123   static private final Expr _c_89 = new Expr (new Word ("LENGTH"));
    124   static private final Expr _c_90 = new Expr (new Word ("MAX"));
    125   static private final Expr _c_91 = new Expr (new Word ("MIN"));
    126   static private final Expr _c_92 = new Expr (new Word ("INFIX"));
    127   static private final Expr _c_93 = Expr.fromSequence ("empty");
    128   static private final Expr _c_94 = new Expr (new Func () {
     117  static private final Expr _c_190 = new Expr (new Expr (new Word ("Error")), new Expr (new Word ("Not-Available")));
     118  static private final Expr _c_82 = new Expr (_c_190, 0, 1);
     119  static private final Expr _c_83 = new Expr (new Word ("BOOT"));
     120  static private final Expr _c_84 = new Expr (_c_190);
     121  static private final Expr _c_177 = Expr.fromSequence (" <<<\\n\", rfrt::stack->get_depth());");
     122  static private final Expr _c_86 = new Expr (_c_177, 32, 2);
     123  static private final Expr _c_88 = new Expr (_c_189);
     124  static private final Expr _c_89 = new Expr (new Word ("TAILCALL?"));
     125  static private final Expr _c_90 = new Expr (new Word ("TAILCALL"));
     126  static private final Expr _c_91 = new Expr (_c_23, 0, 3);
     127  static private final Expr _c_92 = Expr.fromSequence ("), ");
     128  static private final Expr _c_93 = new Expr (new Word ("PAREN"));
     129  static private final Expr _c_94 = new Expr (new Word ("LENGTH"));
     130  static private final Expr _c_95 = new Expr (new Word ("MAX"));
     131  static private final Expr _c_96 = new Expr (new Word ("MIN"));
     132  static private final Expr _c_97 = new Expr (new Word ("INFIX"));
     133  static private final Expr _c_98 = Expr.fromSequence ("empty");
     134  static private final Expr _c_99 = new Expr (new Func () {
    129135    public boolean eval (Expr arg, Result res) throws RefalException {
    130136      Term_m_Ref_m_To_m_CPP (arg, res);
     
    132138    }
    133139  });
    134   static private final Expr _c_95 = new Expr (new Word ("+"));
    135   static private final Expr _c_96 = new Expr (_c_55, 1, 1);
    136   static private final Expr _c_97 = new Expr (_c_59, 5, 3);
    137   static private final Expr _c_98 = Expr.fromSequence ("Expr (");
    138   static private final Expr _c_99 = new Expr (new Word ("REF"));
    139   static private final Expr _c_100 = new Expr (new Word ("ERROR-EXPR"));
    140   static private final Expr _c_101 = Expr.fromSequence ("err");
    141   static private final Expr _c_102 = new Expr (_c_6, 4, 2);
    142   static private final Expr _c_103 = new Expr (new Word ("Illegal type int-symbol: "));
    143   static private final Expr _c_104 = Expr.fromSequence (".get_len ()");
    144   static private final Expr _c_105 = new Expr (new Word ("Ints"));
    145   static private final Expr _c_106 = Expr.fromSequence ("pxx_max (");
    146   static private final Expr _c_107 = Expr.fromSequence ("pxx_min (");
    147   static private final Expr _c_108 = new Expr (new Func () {
     140  static private final Expr _c_100 = new Expr (new Word ("+"));
     141  static private final Expr _c_101 = new Expr (_c_55, 1, 1);
     142  static private final Expr _c_102 = new Expr (_c_59, 5, 3);
     143  static private final Expr _c_103 = Expr.fromSequence ("Expr (");
     144  static private final Expr _c_104 = new Expr (new Word ("REF"));
     145  static private final Expr _c_105 = new Expr (new Word ("ERROR-EXPR"));
     146  static private final Expr _c_106 = Expr.fromSequence ("err");
     147  static private final Expr _c_107 = new Expr (_c_6, 4, 2);
     148  static private final Expr _c_108 = new Expr (new Word ("Illegal type int-symbol: "));
     149  static private final Expr _c_109 = Expr.fromSequence (".get_len ()");
     150  static private final Expr _c_110 = new Expr (new Word ("Ints"));
     151  static private final Expr _c_111 = Expr.fromSequence ("pxx_max (");
     152  static private final Expr _c_112 = Expr.fromSequence ("pxx_min (");
     153  static private final Expr _c_113 = new Expr (new Func () {
    148154    public boolean eval (Expr arg, Result res) throws RefalException {
    149155      Expr_m_Int_m_To_m_CPP (arg, res);
     
    151157    }
    152158  });
    153   static private final Expr _c_109 = new Expr (_c_83, 4, 9);
    154   static private final Expr _c_110 = new Expr (new Word ("SYMBOL?"));
    155   static private final Expr _c_111 = Expr.fromSequence (".symbol_at (");
    156   static private final Expr _c_112 = new Expr (new Word ("FLAT-SUBEXPR?"));
    157   static private final Expr _c_113 = Expr.fromSequence (".flat_at (");
    158   static private final Expr _c_114 = new Expr (new Word ("CHECK-ITER"));
    159   static private final Expr _c_115 = Expr.fromSequence ("RF_iter(");
    160   static private final Expr _c_116 = new Expr (new Word ("EQ"));
    161   static private final Expr _c_117 = Expr.fromSequence (".eq (");
    162   static private final Expr _c_118 = new Expr (new Word ("TERM-EQ"));
    163   static private final Expr _c_119 = Expr.fromSequence (".term_eq (");
    164   static private final Expr _c_120 = new Expr (new Word ("NOT"));
    165   static private final Expr _c_121 = Expr.fromSequence ("!");
    166   static private final Expr _c_122 = new Expr (new Func () {
     159  static private final Expr _c_114 = new Expr (_c_87, 4, 9);
     160  static private final Expr _c_115 = new Expr (new Word ("SYMBOL?"));
     161  static private final Expr _c_116 = Expr.fromSequence (".symbol_at (");
     162  static private final Expr _c_117 = new Expr (new Word ("FLAT-SUBEXPR?"));
     163  static private final Expr _c_118 = Expr.fromSequence (".flat_at (");
     164  static private final Expr _c_119 = new Expr (new Word ("CHECK-ITER"));
     165  static private final Expr _c_120 = Expr.fromSequence ("RF_iter(");
     166  static private final Expr _c_121 = new Expr (new Word ("EQ"));
     167  static private final Expr _c_122 = Expr.fromSequence (".eq (");
     168  static private final Expr _c_123 = new Expr (new Word ("TERM-EQ"));
     169  static private final Expr _c_124 = Expr.fromSequence (".term_eq (");
     170  static private final Expr _c_125 = new Expr (new Word ("NOT"));
     171  static private final Expr _c_126 = Expr.fromSequence ("!");
     172  static private final Expr _c_127 = new Expr (new Func () {
    167173    public boolean eval (Expr arg, Result res) throws RefalException {
    168174      Cond_m_To_m_CPP (arg, res);
     
    170176    }
    171177  });
    172   static private final Expr _c_123 = new Expr (new Word ("&&"));
    173   static private final Expr _c_124 = new Expr (_c_55, 0, 1);
    174   static private final Expr _c_125 = new Expr (new Word ("||"));
    175   static private final Expr _c_126 = new Expr (new Word ("<"));
    176   static private final Expr _c_127 = new Expr (new Word (">"));
    177   static private final Expr _c_128 = new Expr (new Word ("<="));
    178   static private final Expr _c_129 = new Expr (new Word (">="));
    179   static private final Expr _c_130 = new Expr (new Word ("=="));
    180   static private final Expr _c_131 = new Expr (new Word ("!="));
    181   static private final Expr _c_132 = new Expr (new Word ("-"));
    182   static private final Expr _c_133 = new Expr (new Word ("%"));
    183   static private final Expr _c_134 = new Expr (new Word ("*"));
    184   static private final Expr _c_135 = new Expr (new Word ("/"));
    185   static private final Expr _c_136 = new Expr (new Word ("INC-ITER"));
    186   static private final Expr _c_137 = Expr.fromSequence (")++");
    187   static private final Expr _c_138 = new Expr (new Word ("DEC-ITER"));
    188   static private final Expr _c_139 = Expr.fromSequence (")--");
    189   static private final Expr _c_140 = new Expr (_c_162, 0, 1);
    190   static private final Expr _c_143 = Expr.fromSequence (" + Char::create_expr (\"");
    191   static private final Expr _c_141 = new Expr (_c_143, 0, 3);
    192   static private final Expr _c_142 = new Expr (new BigInteger ("127"));
    193   static private final Expr _c_144 = Expr.fromSequence (" + Char::create_expr (L\"");
    194   static private final Expr _c_145 = Expr.fromSequence (") ()");
    195   static private final Expr _c_146 = Expr.fromSequence (" + (");
    196   static private final Expr _c_147 = Expr.fromSequence (" + Expr::create_sym<Func> (");
    197   static private final Expr _c_150 = Expr.fromSequence (" + Expr::create<Word>(\"");
    198   static private final Expr _c_148 = new Expr (_c_150, 20, 3);
    199   static private final Expr _c_149 = new Expr (_c_150, 0, 16);
    200   static private final Expr _c_152 = Expr.fromSequence ("\\\\");
    201   static private final Expr _c_151 = new Expr (_c_152, 0, 1);
    202   static private final Expr _c_153 = new Expr (_c_179, 15, 1);
    203   static private final Expr _c_154 = new Expr (_c_168, 4, 2);
    204   static private final Expr _c_155 = Expr.fromSequence ("\t");
    205   static private final Expr _c_156 = Expr.fromSequence ("\\t");
    206   static private final Expr _c_157 = Expr.fromSequence ("\r");
    207   static private final Expr _c_158 = Expr.fromSequence ("\\r");
    208   static private final Expr _c_159 = new Expr (_c_71, 0, 1);
    209   static private final Expr _c_160 = Expr.fromSequence ("\\\"");
    210   static private final Expr _c_161 = Expr.fromSequence ("RF_VOID");
    211   static private final Expr _c_163 = Expr.fromSequence ("/*void*/");
    212   static private final Expr _c_164 = Expr.fromSequence (";;)");
    213   static private final Expr _c_165 = new Expr (_c_179, 15, 2);
    214   static private final Expr _c_166 = new Expr (_c_179, 0, 10);
    215   static private final Expr _c_167 = new Expr (new BigInteger ("1"));
    216   static private final Expr _c_169 = Expr.fromSequence ("printf (\"+ %5u: enter >>> ");
    217   static private final Expr _c_170 = Expr.fromSequence ("printf(\"%2d: \", ");
    218   static private final Expr _c_175 = Expr.fromSequence (").to_Expr().writeln(stdout);");
    219   static private final Expr _c_172 = new Expr (_c_175, 10, 18);
    220   static private final Expr _c_173 = Expr.fromSequence ("printf (\"           argument \"); ");
    221   static private final Expr _c_174 = Expr.fromSequence ("printf (\"- %5u: exit  >>> ");
    222   static private final Expr _c_176 = Expr.fromSequence ("printf (\"           result   \"); ");
    223   static private final Expr _c_177 = Expr.fromSequence ("printf (\"- %5u: fail  >>> ");
     178  static private final Expr _c_128 = new Expr (new Word ("&&"));
     179  static private final Expr _c_129 = new Expr (_c_55, 0, 1);
     180  static private final Expr _c_130 = new Expr (new Word ("||"));
     181  static private final Expr _c_131 = new Expr (new Word ("<"));
     182  static private final Expr _c_132 = new Expr (new Word (">"));
     183  static private final Expr _c_133 = new Expr (new Word ("<="));
     184  static private final Expr _c_134 = new Expr (new Word (">="));
     185  static private final Expr _c_135 = new Expr (new Word ("=="));
     186  static private final Expr _c_136 = new Expr (new Word ("!="));
     187  static private final Expr _c_137 = new Expr (new Word ("-"));
     188  static private final Expr _c_138 = new Expr (new Word ("%"));
     189  static private final Expr _c_139 = new Expr (new Word ("*"));
     190  static private final Expr _c_140 = new Expr (new Word ("/"));
     191  static private final Expr _c_141 = new Expr (new Word ("INC-ITER"));
     192  static private final Expr _c_142 = Expr.fromSequence (")++");
     193  static private final Expr _c_143 = new Expr (new Word ("DEC-ITER"));
     194  static private final Expr _c_144 = Expr.fromSequence (")--");
     195  static private final Expr _c_145 = new Expr (_c_167, 0, 1);
     196  static private final Expr _c_148 = Expr.fromSequence (" + Char::create_expr (\"");
     197  static private final Expr _c_146 = new Expr (_c_148, 0, 3);
     198  static private final Expr _c_147 = new Expr (new BigInteger ("127"));
     199  static private final Expr _c_149 = Expr.fromSequence (" + Char::create_expr (L\"");
     200  static private final Expr _c_150 = Expr.fromSequence (") ()");
     201  static private final Expr _c_151 = Expr.fromSequence (" + (");
     202  static private final Expr _c_152 = Expr.fromSequence (" + Expr::create_sym<Func> (");
     203  static private final Expr _c_155 = Expr.fromSequence (" + Expr::create<Word>(\"");
     204  static private final Expr _c_153 = new Expr (_c_155, 20, 3);
     205  static private final Expr _c_154 = new Expr (_c_155, 0, 16);
     206  static private final Expr _c_157 = Expr.fromSequence ("\\\\");
     207  static private final Expr _c_156 = new Expr (_c_157, 0, 1);
     208  static private final Expr _c_158 = new Expr (_c_188, 15, 1);
     209  static private final Expr _c_159 = new Expr (_c_177, 4, 2);
     210  static private final Expr _c_160 = Expr.fromSequence ("\t");
     211  static private final Expr _c_161 = Expr.fromSequence ("\\t");
     212  static private final Expr _c_162 = Expr.fromSequence ("\r");
     213  static private final Expr _c_163 = Expr.fromSequence ("\\r");
     214  static private final Expr _c_164 = new Expr (_c_71, 0, 1);
     215  static private final Expr _c_165 = Expr.fromSequence ("\\\"");
     216  static private final Expr _c_166 = Expr.fromSequence ("RF_VOID");
     217  static private final Expr _c_168 = Expr.fromSequence ("/*void*/");
     218  static private final Expr _c_169 = Expr.fromSequence (";;)");
     219  static private final Expr _c_170 = Expr.fromSequence ("wrappers");
     220  static private final Expr _c_171 = Expr.fromSequence ("plus");
     221  static private final Expr _c_172 = new Expr (_c_188, 10, 5);
     222  static private final Expr _c_173 = Expr.fromSequence ("org");
     223  static private final Expr _c_174 = new Expr (_c_188, 15, 2);
     224  static private final Expr _c_175 = new Expr (_c_188, 0, 10);
     225  static private final Expr _c_176 = new Expr (new BigInteger ("1"));
     226  static private final Expr _c_178 = Expr.fromSequence ("printf (\"+ %5u: enter >>> ");
     227  static private final Expr _c_179 = Expr.fromSequence ("printf(\"%2d: \", ");
     228  static private final Expr _c_184 = Expr.fromSequence (").to_Expr().writeln(stdout);");
     229  static private final Expr _c_181 = new Expr (_c_184, 10, 18);
     230  static private final Expr _c_182 = Expr.fromSequence ("printf (\"           argument \"); ");
     231  static private final Expr _c_183 = Expr.fromSequence ("printf (\"- %5u: exit  >>> ");
     232  static private final Expr _c_185 = Expr.fromSequence ("printf (\"           result   \"); ");
     233  static private final Expr _c_186 = Expr.fromSequence ("printf (\"- %5u: fail  >>> ");
    224234
    225235  static public void RFP_m_ASAIL_m_To_m_CPP (Expr _gt_arg1, Expr _ge_arg2, Result _v_res1) throws RefalException
     
    557567                Result _ge_auxcall2 = new Result ();
    558568                List.Concat (_vt_name, _ge_auxcall2);
    559                 Result _ge_name__3 = new Result ();
    560                 List.Intersperse (_c_19, _ge_auxcall2.getExpr (), _ge_name__3);
    561                 Box.Store (Current_m_Trace, new Expr (_ge_name__3.getExpr (), new Expr(_ve_ress)));
     569                Result _ge_name__7 = new Result ();
     570                List.Intersperse (_c_19, _ge_auxcall2.getExpr (), _ge_name__7);
     571                Box.Store (Current_m_Trace, new Expr (_ge_name__7.getExpr (), new Expr(_ve_ress)));
    562572                Result _ge_auxcall3 = new Result ();
    563                 Trace_m_Enter (_ge_name__3.getExpr (), _ve_args, _ge_auxcall3);
     573                Trace_m_Enter (_ge_name__7.getExpr (), _ve_args, _ge_auxcall3);
    564574                Result _ge_auxcall4 = new Result ();
    565                 Trace_m_Exit (_ge_name__3.getExpr (), _ve_ress, _ge_auxcall4);
     575                Trace_m_Exit (_ge_name__7.getExpr (), _ve_ress, _ge_auxcall4);
    566576                _ve_trace_m_enter = _ge_auxcall3.getExpr ();
    567577                _ve_trace_m_exit = _ge_auxcall4.getExpr ();
     
    573583            }
    574584            Result _ve_qualifiers = new Result ();
    575             Result _ve_name = new Result ();
    576             Extract_m_Qualifiers (_vt_name, _ve_qualifiers, _ve_name);
     585            Result _ge_name__6 = new Result ();
     586            Extract_m_Qualifiers (_vt_name, _ve_qualifiers, _ge_name__6);
    577587            Result _ge_auxcall5 = new Result ();
    578588            Namespace_m_Control (_ve_qualifiers.getExpr (), _ge_auxcall5);
    579589            Result _ge_auxcall6 = new Result ();
    580             CppMangle.Rfp2Cpp (_ve_name.getExpr (), _ge_auxcall6);
     590            CppMangle.Rfp2Cpp (_ge_name__6.getExpr (), _ge_auxcall6);
    581591            Result _ge_auxcall7 = new Result ();
    582592            Args_m_To_m_CPP (_c_20, _c_21, _ve_args, _ge_auxcall7);
     
    731741            Expr _ve_cond = new Expr (_v_deref__deref__item43, 0, _v_len__cond2);
    732742            Expr _ve_step = new Expr (_v_deref__deref__item44, 0, _v_len__step);
     743            Expr _ge_body__5 = Expr.empty;
    733744            _block7: {
    734745              _block7__branch1: {
     
    745756                Expr[] _va_13 = { _c_32 , _ge_auxcall13.getExpr () , _c_33 };
    746757                Expr[] _va_11 = { _c_30 , new Expr(Expr.concat (_va_12)) , new Expr(Expr.concat (_va_13)) , _c_7 };
    747                 _ve_body = new Expr(Expr.concat (_va_11));
     758                _ge_body__5 = new Expr(Expr.concat (_va_11));
    748759                break _block7;
    749760              }
     
    751762              ASAIL_m_To_m_CPP (_ve_body, _ge_auxcall14);
    752763              Expr[] _va_14 = { _c_30 , new Expr(_ge_auxcall14.getExpr ()) , _c_7 };
    753               _ve_body = new Expr(Expr.concat (_va_14));
     764              _ge_body__5 = new Expr(Expr.concat (_va_14));
    754765            }
    755766            Expr _ve_break = Expr.empty;
     
    774785            Step_m_To_m_CPP (_ve_step, _ge_auxcall17);
    775786            Expr[] _va_17 = { _c_35 , _ge_auxcall16.getExpr () , _c_34 , _ge_auxcall17.getExpr () , _c_24 };
    776             Expr[] _va_16 = { new Expr(Expr.concat (_va_17)) , _ve_body , _ve_break };
     787            Expr[] _va_16 = { new Expr(Expr.concat (_va_17)) , _ge_body__5 , _ve_break };
    777788            _ve_cpp_m_item = Expr.concat (_va_16);
    778789            break _block2;
     
    14511462            Expr _ve_expr = new Expr (_v_deref__item20, (0 + 1 + 1 + 1 + 1), _v_len__expr9);
    14521463            Expr _ve_comment = new Expr (_v_deref__deref__item20, 0, _v_len__comment);
    1453             Expr _ve_linkage = Expr.empty;
     1464            Expr _ge_linkage__5 = Expr.empty;
    14541465            _block11: {
    14551466              _block11__branch1: {
     
    14621473                  break _block11__branch1;
    14631474                }
    1464                 _ve_linkage = _c_67;
     1475                _ge_linkage__5 = _c_67;
    14651476                break _block11;
    14661477              }
    1467               _ve_linkage = Expr.empty;
     1478              _ge_linkage__5 = Expr.empty;
    14681479            }
    14691480            Expr _ve_qualifiers = Expr.empty;
    1470             Expr _ve_name = Expr.empty;
     1481            Expr _ge_name__6 = Expr.empty;
    14711482            _block12: {
    14721483              _block12__branch1: {
     
    14951506                Box._q_ (Module_m_Name, _ge_auxcall48);
    14961507                _ve_qualifiers = _ge_auxcall48.getExpr ();
    1497                 _ve_name = _vt_name;
     1508                _ge_name__6 = _vt_name;
    14981509                break _block12;
    14991510              }
     
    15021513              Extract_m_Qualifiers (_vt_name, _va_35, _va_36);
    15031514              _ve_qualifiers = _va_35.getExpr ();
    1504               _ve_name = _va_36.getExpr ();
     1515              _ge_name__6 = _va_36.getExpr ();
    15051516            }
    15061517            Result _ve_cpp_m_name = new Result ();
    1507             CppMangle.Rfp2Cpp (_ve_name, _ve_cpp_m_name);
     1518            CppMangle.Rfp2Cpp (_ge_name__6, _ve_cpp_m_name);
    15081519            Result _ge_auxcall49 = new Result ();
    15091520            Const_m_Expr_m_To_m_CPP (_ve_expr, _ge_auxcall49);
     
    15111522            Result _ge_auxcall50 = new Result ();
    15121523            Namespace_m_Control (_ve_qualifiers, _ge_auxcall50);
    1513             Expr[] _va_37 = { _ve_linkage , _c_52 , _ve_cpp_m_name.getExpr () , _c_10 };
     1524            Expr[] _va_37 = { _ge_linkage__5 , _c_52 , _ve_cpp_m_name.getExpr () , _c_10 };
    15141525            _ve_cpp_m_item = new Expr (_ge_auxcall50.getExpr (), new Expr(Expr.concat (_va_37)));
    15151526            break _block2;
     
    15441555            Expr _vs_tag = new Expr (_v_deref__item21, (0 + 1 + 1), 1);
    15451556            Expr _vt_name = new Expr (_v_deref__item21, (0 + 1 + 1 + 1), 1);
    1546             Expr _ve_linkage = Expr.empty;
     1557            Expr _ge_linkage__5 = Expr.empty;
    15471558            _block13: {
    15481559              _block13__branch1: {
     
    15551566                  break _block13__branch1;
    15561567                }
    1557                 _ve_linkage = _c_67;
     1568                _ge_linkage__5 = _c_67;
    15581569                break _block13;
    15591570              }
    1560               _ve_linkage = Expr.empty;
     1571              _ge_linkage__5 = Expr.empty;
    15611572            }
    15621573            Result _v_To_m_Chars1 = new Result ();
     
    15761587            Expr _ve_2 = new Expr (_v_To_m_Chars1.getExpr (), (0 + 1), _v_len__2);
    15771588            Result _ve_qualifiers = new Result ();
    1578             Result _ve_name = new Result ();
    1579             Extract_m_Qualifiers (_vt_name, _ve_qualifiers, _ve_name);
     1589            Result _ge_name__5 = new Result ();
     1590            Extract_m_Qualifiers (_vt_name, _ve_qualifiers, _ge_name__5);
    15801591            Result _ve_cpp_m_name = new Result ();
    1581             CppMangle.Rfp2Cpp (_ve_name.getExpr (), _ve_cpp_m_name);
     1592            CppMangle.Rfp2Cpp (_ge_name__5.getExpr (), _ve_cpp_m_name);
    15821593            _block14: {
    15831594              _block14__branch1: {
     
    15901601                  break _block14__branch1;
    15911602                }
    1592                 Expr[] _va_38 = { _c_72 , _ve_name.getExpr () , _c_71 };
     1603                Expr[] _va_38 = { _c_72 , _ge_name__5.getExpr () , _c_71 };
    15931604                Box.Put (Const_m_Exprs, new Expr(new Expr (_ve_cpp_m_name.getExpr (), new Expr(Expr.concat (_va_38)))));
    15941605                break _block14;
     
    15961607              Result _ge_auxcall51 = new Result ();
    15971608              Convert.To_m_Lower (_ve_2, _ge_auxcall51);
    1598               Expr[] _va_39 = { _c_74 , _vs_1 , _ge_auxcall51.getExpr () , _c_73 , _ve_name.getExpr () , _c_71 };
     1609              Expr[] _va_39 = { _c_74 , _vs_1 , _ge_auxcall51.getExpr () , _c_73 , _ge_name__5.getExpr () , _c_71 };
    15991610              Box.Put (Const_m_Exprs, new Expr(new Expr (_ve_cpp_m_name.getExpr (), new Expr(Expr.concat (_va_39)))));
    16001611            }
    16011612            Result _ge_auxcall52 = new Result ();
    16021613            Namespace_m_Control (_ve_qualifiers.getExpr (), _ge_auxcall52);
    1603             Expr[] _va_40 = { _ve_linkage , _c_52 , _ve_cpp_m_name.getExpr () , _c_10 };
     1614            Expr[] _va_40 = { _ge_linkage__5 , _c_52 , _ve_cpp_m_name.getExpr () , _c_10 };
    16041615            _ve_cpp_m_item = new Expr (_ge_auxcall52.getExpr (), new Expr(Expr.concat (_va_40)));
    16051616            break _block2;
     
    17771788              }
    17781789              Expr _ve_full_m_name = new Expr (_v__q_4.getExpr (), 0, _v_len__full_m_name);
    1779               Result _ge_auxcall59 = new Result ();
    1780               Name_m_To_m_CPP (_vt_name, _ge_auxcall59);
    1781               Result _ge_auxcall60 = new Result ();
    1782               Args_m_To_m_CPP (Expr.empty, _c_81, _ve_exprs, _ge_auxcall60);
    1783               Result _ge_auxcall61 = new Result ();
    1784               Args_m_To_m_CPP (Expr.empty, _c_21, _ve_ress, _ge_auxcall61);
    1785               Result _ge_auxcall62 = new Result ();
    1786               Trace_m_Exit (_ve_full_m_name, _ve_ress, _ge_auxcall62);
    1787               Expr[] _va_45 = { _c_83 , _ge_auxcall59.getExpr () , _c_25 , _ge_auxcall60.getExpr () , _c_25 , _ge_auxcall61.getExpr () , _c_82 };
    1788               Expr[] _va_46 = { _c_30 , new Expr(new Expr (_ge_auxcall62.getExpr (), _c_17)) , _c_7 };
    1789               Expr[] _va_44 = { new Expr(Expr.concat (_va_45)) , new Expr(Expr.concat (_va_46)) , _c_84 };
    1790               _ve_cpp_m_item = Expr.concat (_va_44);
     1790              Expr _ge_auxblock66 = Expr.empty;
     1791              _block17: {
     1792                _block17__branch1: {
     1793                  Result _ge_auxcall59 = new Result ();
     1794                  if (!Name_m_To_m_CPP (_vt_name, _ge_auxcall59))
     1795                  {
     1796                    break _block17__branch1;
     1797                  }
     1798                  Result _ge_auxcall60 = new Result ();
     1799                  Args_m_To_m_CPP (Expr.empty, _c_81, _ve_exprs, _ge_auxcall60);
     1800                  Result _ge_auxcall61 = new Result ();
     1801                  Args_m_To_m_CPP (Expr.empty, _c_21, _ve_ress, _ge_auxcall61);
     1802                  Expr[] _va_44 = { _ge_auxcall59.getExpr () , _c_25 , _ge_auxcall60.getExpr () , _c_25 , _ge_auxcall61.getExpr () };
     1803                  _ge_auxblock66 = Expr.concat (_va_44);
     1804                  break _block17;
     1805                }
     1806                Table.Bind (rfpc.RFP_m_Includes, _c_82, _c_83);
     1807                Result _ge_auxcall62 = new Result ();
     1808                if (!Name_m_To_m_CPP (_c_84, _ge_auxcall62))
     1809                {
     1810                  throw new RefalException ("rfp_asail_cpp", "ASAIL_m_To_m_CPP", "Unexpected fail");
     1811                }
     1812                Result _ge_auxcall63 = new Result ();
     1813                List.Concat (_vt_name, _ge_auxcall63);
     1814                Result _ge_auxcall64 = new Result ();
     1815                Const_m_Expr_m_To_m_CPP (_ge_auxcall63.getExpr (), _ge_auxcall64);
     1816                Result _ge_auxcall65 = new Result ();
     1817                Args_m_To_m_CPP (Expr.empty, _c_21, Expr.empty, _ge_auxcall65);
     1818                Expr[] _va_45 = { _ge_auxcall62.getExpr () , _c_85 , _ge_auxcall64.getExpr () , _c_25 , _ge_auxcall65.getExpr () };
     1819                _ge_auxblock66 = Expr.concat (_va_45);
     1820              }
     1821              Result _ge_auxcall67 = new Result ();
     1822              Trace_m_Exit (_ve_full_m_name, _ve_ress, _ge_auxcall67);
     1823              Expr[] _va_47 = { _c_87 , _ge_auxblock66 , _c_86 };
     1824              Expr[] _va_48 = { _c_30 , new Expr(new Expr (_ge_auxcall67.getExpr (), _c_17)) , _c_7 };
     1825              Expr[] _va_46 = { new Expr(Expr.concat (_va_47)) , new Expr(Expr.concat (_va_48)) , _c_88 };
     1826              _ve_cpp_m_item = Expr.concat (_va_46);
    17911827              break _block15;
    17921828            }
    1793             Expr _gs_call__3 = Expr.empty;
    1794             _block17: {
    1795               _block17__branch1: {
     1829            Expr _gs_call__7 = Expr.empty;
     1830            _block18: {
     1831              _block18__branch1: {
    17961832                if ((1 != 1))
    17971833                {
    1798                   break _block17__branch1;
     1834                  break _block18__branch1;
    17991835                }
    1800                 if (!_vs_call.eq (_c_85, 0))
     1836                if (!_vs_call.eq (_c_89, 0))
    18011837                {
    1802                   break _block17__branch1;
     1838                  break _block18__branch1;
    18031839                }
    1804                 _gs_call__3 = _c_86;
    1805                 break _block17;
    1806               }
    1807               _gs_call__3 = _vs_call;
    1808             }
    1809             Result _ge_auxcall63 = new Result ();
    1810             Name_m_To_m_CPP (_vt_name, _ge_auxcall63);
    1811             Result _ge_auxcall64 = new Result ();
    1812             Args_m_To_m_CPP (Expr.empty, _c_81, _ve_exprs, _ge_auxcall64);
    1813             Result _ge_auxcall65 = new Result ();
    1814             Args_m_To_m_CPP (Expr.empty, _c_21, _ve_ress, _ge_auxcall65);
    1815             Expr[] _va_47 = { _c_87 , _gs_call__3 , _c_55 , _ge_auxcall63.getExpr () , _c_25 , _ge_auxcall64.getExpr () , _c_25 , _ge_auxcall65.getExpr () , _c_5 };
    1816             _ve_cpp_m_item = new Expr(Expr.concat (_va_47));
     1840                _gs_call__7 = _c_90;
     1841                break _block18;
     1842              }
     1843              _gs_call__7 = _vs_call;
     1844            }
     1845            _block19: {
     1846              _block19__branch1: {
     1847                Result _ge_auxcall68 = new Result ();
     1848                if (!Name_m_To_m_CPP (_vt_name, _ge_auxcall68))
     1849                {
     1850                  break _block19__branch1;
     1851                }
     1852                Result _ge_auxcall69 = new Result ();
     1853                Args_m_To_m_CPP (Expr.empty, _c_81, _ve_exprs, _ge_auxcall69);
     1854                Result _ge_auxcall70 = new Result ();
     1855                Args_m_To_m_CPP (Expr.empty, _c_21, _ve_ress, _ge_auxcall70);
     1856                Expr[] _va_49 = { _c_91 , _gs_call__7 , _c_55 , _ge_auxcall68.getExpr () , _c_25 , _ge_auxcall69.getExpr () , _c_25 , _ge_auxcall70.getExpr () , _c_5 };
     1857                _ve_cpp_m_item = new Expr(Expr.concat (_va_49));
     1858                break _block19;
     1859              }
     1860              Table.Bind (rfpc.RFP_m_Includes, _c_82, _c_83);
     1861              Result _ge_auxcall71 = new Result ();
     1862              if (!Name_m_To_m_CPP (_c_84, _ge_auxcall71))
     1863              {
     1864                throw new RefalException ("rfp_asail_cpp", "ASAIL_m_To_m_CPP", "Unexpected fail");
     1865              }
     1866              Result _ge_auxcall72 = new Result ();
     1867              List.Concat (_vt_name, _ge_auxcall72);
     1868              Result _ge_auxcall73 = new Result ();
     1869              Const_m_Expr_m_To_m_CPP (_ge_auxcall72.getExpr (), _ge_auxcall73);
     1870              Result _ge_auxcall74 = new Result ();
     1871              Args_m_To_m_CPP (Expr.empty, _c_21, Expr.empty, _ge_auxcall74);
     1872              Expr[] _va_50 = { _c_91 , _gs_call__7 , _c_55 , _ge_auxcall71.getExpr () , _c_85 , _ge_auxcall73.getExpr () , _c_92 , _ge_auxcall74.getExpr () , _c_5 };
     1873              _ve_cpp_m_item = new Expr(Expr.concat (_va_50));
     1874            }
    18171875          }
    18181876        }
     
    18571915        }
    18581916        int _v_len__expr = (_v_len3 - _v_len4);
    1859         if (!_c_88.eq (_v_deref__expr_m_all, 0))
     1917        if (!_c_93.eq (_v_deref__expr_m_all, 0))
    18601918        {
    18611919          break _block1__branch2;
     
    19732031        }
    19742032        int _v_len__expr5 = (_v_len19 - _v_len20);
    1975         if (!_c_89.eq (_v_deref__expr_m_all5, 0))
     2033        if (!_c_94.eq (_v_deref__expr_m_all5, 0))
    19762034        {
    19772035          break _block1__branch6;
     
    20022060        }
    20032061        int _v_len__args = (_v_len23 - _v_len24);
    2004         if (!_c_90.eq (_v_deref__expr_m_all6, 0))
     2062        if (!_c_95.eq (_v_deref__expr_m_all6, 0))
    20052063        {
    20062064          break _block1__branch7;
     
    20312089        }
    20322090        int _v_len__args2 = (_v_len27 - _v_len28);
    2033         if (!_c_91.eq (_v_deref__expr_m_all7, 0))
     2091        if (!_c_96.eq (_v_deref__expr_m_all7, 0))
    20342092        {
    20352093          break _block1__branch8;
     
    20602118        }
    20612119        int _v_len__args3 = (_v_len31 - _v_len32);
    2062         if (!_c_92.eq (_v_deref__expr_m_all8, 0))
     2120        if (!_c_97.eq (_v_deref__expr_m_all8, 0))
    20632121        {
    20642122          break _block1__branch9;
     
    21212179          break _block1__branch1;
    21222180        }
    2123         _v_res1.assign (_c_93);
     2181        _v_res1.assign (_c_98);
    21242182        break _block1;
    21252183      }
     
    21362194      List.Paren (_ge_arg1, _ge_auxcall1);
    21372195      Result _ge_auxcall2 = new Result ();
    2138       Infix_m_To_m_CPP (_c_94, _c_95, _ge_auxcall1.getExpr (), _ge_auxcall2);
    2139       Expr[] _va_48 = { _c_96 , _ge_auxcall2.getExpr () , _c_24 };
    2140       _v_res1.assign (Expr.concat (_va_48));
     2196      Infix_m_To_m_CPP (_c_99, _c_100, _ge_auxcall1.getExpr (), _ge_auxcall2);
     2197      Expr[] _va_51 = { _c_101 , _ge_auxcall2.getExpr () , _c_24 };
     2198      _v_res1.assign (Expr.concat (_va_51));
    21412199    }
    21422200  }
     
    21622220        }
    21632221        int _v_len__expr = (_v_len1 - _v_len2);
    2164         if (!_c_88.eq (_v_deref__arg1, 0))
     2222        if (!_c_93.eq (_v_deref__arg1, 0))
    21652223        {
    21662224          break _block1__branch1;
     
    21692227        Result _ge_auxcall1 = new Result ();
    21702228        Expr_m_Ref_m_To_m_CPP (_ve_expr, _ge_auxcall1);
    2171         _v_res1.assign (new Expr (_ge_auxcall1.getExpr (), _c_97));
     2229        _v_res1.assign (new Expr (_ge_auxcall1.getExpr (), _c_102));
    21722230        break _block1;
    21732231      }
     
    21962254        Result _ge_auxcall2 = new Result ();
    21972255        Expr_m_Ref_m_To_m_CPP (_ve_expr, _ge_auxcall2);
    2198         Expr[] _va_49 = { _c_98 , _ge_auxcall2.getExpr () , _c_24 };
    2199         _v_res1.assign (Expr.concat (_va_49));
     2256        Expr[] _va_52 = { _c_103 , _ge_auxcall2.getExpr () , _c_24 };
     2257        _v_res1.assign (Expr.concat (_va_52));
    22002258        break _block1;
    22012259      }
     
    22392297        Result _ge_auxcall4 = new Result ();
    22402298        Expr_m_Int_m_To_m_CPP (_ve_pos, _ge_auxcall4);
    2241         Expr[] _va_50 = { _c_98 , _ge_auxcall3.getExpr () , _c_25 , _ge_auxcall4.getExpr () , _c_24 };
    2242         _v_res1.assign (Expr.concat (_va_50));
     2299        Expr[] _va_53 = { _c_103 , _ge_auxcall3.getExpr () , _c_25 , _ge_auxcall4.getExpr () , _c_24 };
     2300        _v_res1.assign (Expr.concat (_va_53));
    22432301        break _block1;
    22442302      }
     
    22972355        Result _ge_auxcall7 = new Result ();
    22982356        Expr_m_Int_m_To_m_CPP (_ve_len, _ge_auxcall7);
    2299         Expr[] _va_51 = { _c_98 , _ge_auxcall5.getExpr () , _c_25 , _ge_auxcall6.getExpr () , _c_25 , _ge_auxcall7.getExpr () , _c_24 };
    2300         _v_res1.assign (Expr.concat (_va_51));
     2357        Expr[] _va_54 = { _c_103 , _ge_auxcall5.getExpr () , _c_25 , _ge_auxcall6.getExpr () , _c_25 , _ge_auxcall7.getExpr () , _c_24 };
     2358        _v_res1.assign (Expr.concat (_va_54));
    23012359        break _block1;
    23022360      }
     
    23152373          break _block1__branch5;
    23162374        }
    2317         if (!_c_99.eq (_v_deref__arg15, 0))
     2375        if (!_c_104.eq (_v_deref__arg15, 0))
    23182376        {
    23192377          break _block1__branch5;
    23202378        }
    23212379        Expr _vt_name = new Expr (_v_deref__arg15, (0 + 1), 1);
    2322         Name_m_To_m_CPP (_vt_name, _v_res1);
     2380        if (!Name_m_To_m_CPP (_vt_name, _v_res1))
     2381        {
     2382          throw new RefalException ("rfp_asail_cpp", "Term_m_Ref_m_To_m_CPP", "Unexpected fail");
     2383        }
    23232384        break _block1;
    23242385      }
     
    23282389          break _block1__branch6;
    23292390        }
    2330         if (!_c_100.eq (_ge_arg1, 0))
     2391        if (!_c_105.eq (_ge_arg1, 0))
    23312392        {
    23322393          break _block1__branch6;
    23332394        }
    2334         _v_res1.assign (_c_101);
     2395        _v_res1.assign (_c_106);
    23352396        break _block1;
    23362397      }
     
    23742435          Result _ge_auxcall8 = new Result ();
    23752436          Box._q_ (Module_m_Name, _ge_auxcall8);
    2376           _ve_prefix = new Expr (_ge_auxcall8.getExpr (), _c_102);
     2437          _ve_prefix = new Expr (_ge_auxcall8.getExpr (), _c_107);
    23772438        }
    23782439        Result _v_Rfp2Cpp1 = new Result ();
     
    24042465      Expr _ve_ns = new Expr (_v_deref__arg17, (0 + 1), _v_len__ns);
    24052466      Expr _vt_name = new Expr (_v_deref__arg17, (0 + 1 + _v_len__ns), 1);
    2406       Expr[] _va_52 = { _vs_var_m_tag , _ve_ns , _vt_name };
    2407       CppMangle.Rfp2Cpp (new Expr(Expr.concat (_va_52)), _v_res1);
     2467      Expr[] _va_55 = { _vs_var_m_tag , _ve_ns , _vt_name };
     2468      CppMangle.Rfp2Cpp (new Expr(Expr.concat (_va_55)), _v_res1);
    24082469    }
    24092470  }
     
    24392500            break _block2;
    24402501          }
    2441           throw new RefalException (new Expr(new Expr (_c_103, _vs_ObjectSymbol)));
     2502          throw new RefalException (new Expr(new Expr (_c_108, _vs_ObjectSymbol)));
    24422503        }
    24432504        break _block1;
     
    24602521        }
    24612522        int _v_len__expr = (_v_len1 - _v_len2);
    2462         if (!_c_89.eq (_v_deref__arg1, 0))
     2523        if (!_c_94.eq (_v_deref__arg1, 0))
    24632524        {
    24642525          break _block1__branch3;
     
    24672528        Result _ge_auxcall1 = new Result ();
    24682529        Expr_m_Ref_m_To_m_CPP (_ve_expr, _ge_auxcall1);
    2469         _v_res1.assign (new Expr (_ge_auxcall1.getExpr (), _c_104));
     2530        _v_res1.assign (new Expr (_ge_auxcall1.getExpr (), _c_109));
    24702531        break _block1;
    24712532      }
     
    24872548        }
    24882549        int _v_len__args = (_v_len3 - _v_len4);
    2489         if (!_c_90.eq (_v_deref__arg12, 0))
     2550        if (!_c_95.eq (_v_deref__arg12, 0))
    24902551        {
    24912552          break _block1__branch4;
     
    24932554        Expr _ve_args = new Expr (_v_deref__arg12, (0 + 1), _v_len__args);
    24942555        Result _ge_auxcall2 = new Result ();
    2495         Args_m_To_m_CPP (Expr.empty, _c_105, _ve_args, _ge_auxcall2);
    2496         Expr[] _va_53 = { _c_106 , _ge_auxcall2.getExpr () , _c_24 };
    2497         _v_res1.assign (Expr.concat (_va_53));
     2556        Args_m_To_m_CPP (Expr.empty, _c_110, _ve_args, _ge_auxcall2);
     2557        Expr[] _va_56 = { _c_111 , _ge_auxcall2.getExpr () , _c_24 };
     2558        _v_res1.assign (Expr.concat (_va_56));
    24982559        break _block1;
    24992560      }
     
    25152576        }
    25162577        int _v_len__args2 = (_v_len5 - _v_len6);
    2517         if (!_c_91.eq (_v_deref__arg13, 0))
     2578        if (!_c_96.eq (_v_deref__arg13, 0))
    25182579        {
    25192580          break _block1__branch5;
     
    25212582        Expr _ve_args = new Expr (_v_deref__arg13, (0 + 1), _v_len__args2);
    25222583        Result _ge_auxcall3 = new Result ();
    2523         Args_m_To_m_CPP (Expr.empty, _c_105, _ve_args, _ge_auxcall3);
    2524         Expr[] _va_54 = { _c_107 , _ge_auxcall3.getExpr () , _c_24 };
    2525         _v_res1.assign (Expr.concat (_va_54));
     2584        Args_m_To_m_CPP (Expr.empty, _c_110, _ve_args, _ge_auxcall3);
     2585        Expr[] _va_57 = { _c_112 , _ge_auxcall3.getExpr () , _c_24 };
     2586        _v_res1.assign (Expr.concat (_va_57));
    25262587        break _block1;
    25272588      }
     
    25432604        }
    25442605        int _v_len__args3 = (_v_len7 - _v_len8);
    2545         if (!_c_92.eq (_v_deref__arg14, 0))
     2606        if (!_c_97.eq (_v_deref__arg14, 0))
    25462607        {
    25472608          break _block1__branch6;
     
    25542615        Expr _ve_args = new Expr (_v_deref__arg14, (0 + 1 + 1), _v_len__args3);
    25552616        Result _ge_auxcall4 = new Result ();
    2556         Infix_m_To_m_CPP (_c_108, _vs_op, _ve_args, _ge_auxcall4);
    2557         Expr[] _va_55 = { _c_96 , _ge_auxcall4.getExpr () , _c_24 };
    2558         _v_res1.assign (Expr.concat (_va_55));
     2617        Infix_m_To_m_CPP (_c_113, _vs_op, _ve_args, _ge_auxcall4);
     2618        Expr[] _va_58 = { _c_101 , _ge_auxcall4.getExpr () , _c_24 };
     2619        _v_res1.assign (Expr.concat (_va_58));
    25592620        break _block1;
    25602621      }
     
    25732634          break _block1__branch7;
    25742635        }
    2575         if (!_c_99.eq (_v_deref__arg15, 0))
     2636        if (!_c_104.eq (_v_deref__arg15, 0))
    25762637        {
    25772638          break _block1__branch7;
    25782639        }
    25792640        Expr _vt_name = new Expr (_v_deref__arg15, (0 + 1), 1);
    2580         Name_m_To_m_CPP (_vt_name, _v_res1);
     2641        if (!Name_m_To_m_CPP (_vt_name, _v_res1))
     2642        {
     2643          throw new RefalException ("rfp_asail_cpp", "Expr_m_Int_m_To_m_CPP", "Unexpected fail");
     2644        }
    25812645        break _block1;
    25822646      }
     
    26072671      List.Paren (_ge_arg1, _ge_auxcall5);
    26082672      Result _ge_auxcall6 = new Result ();
    2609       Infix_m_To_m_CPP (_c_108, _c_95, _ge_auxcall5.getExpr (), _ge_auxcall6);
    2610       Expr[] _va_56 = { _c_96 , _ge_auxcall6.getExpr () , _c_24 };
    2611       _v_res1.assign (Expr.concat (_va_56));
     2673      Infix_m_To_m_CPP (_c_113, _c_100, _ge_auxcall5.getExpr (), _ge_auxcall6);
     2674      Expr[] _va_59 = { _c_101 , _ge_auxcall6.getExpr () , _c_24 };
     2675      _v_res1.assign (Expr.concat (_va_59));
    26122676    }
    26132677  }
     
    26702734        Expr _ve_ress = new Expr (_v_deref__deref__arg12, 0, _v_len__ress);
    26712735        Result _ge_auxcall1 = new Result ();
    2672         Name_m_To_m_CPP (_vt_name, _ge_auxcall1);
     2736        if (!Name_m_To_m_CPP (_vt_name, _ge_auxcall1))
     2737        {
     2738          throw new RefalException ("rfp_asail_cpp", "Cond_m_To_m_CPP", "Unexpected fail");
     2739        }
    26732740        Result _ge_auxcall2 = new Result ();
    26742741        Args_m_To_m_CPP (Expr.empty, _c_81, _ve_exprs, _ge_auxcall2);
    26752742        Result _ge_auxcall3 = new Result ();
    26762743        Args_m_To_m_CPP (Expr.empty, _c_21, _ve_ress, _ge_auxcall3);
    2677         Expr[] _va_57 = { _c_109 , _ge_auxcall1.getExpr () , _c_25 , _ge_auxcall2.getExpr () , _c_25 , _ge_auxcall3.getExpr () , _c_24 };
    2678         _v_res1.assign (Expr.concat (_va_57));
     2744        Expr[] _va_60 = { _c_114 , _ge_auxcall1.getExpr () , _c_25 , _ge_auxcall2.getExpr () , _c_25 , _ge_auxcall3.getExpr () , _c_24 };
     2745        _v_res1.assign (Expr.concat (_va_60));
    26792746        break _block1;
    26802747      }
     
    27082775        }
    27092776        int _v_len__pos = (_v_len7 - _v_len8);
    2710         if (!_c_110.eq (_v_deref__arg12, 0))
     2777        if (!_c_115.eq (_v_deref__arg12, 0))
    27112778        {
    27122779          break _block1__branch3;
     
    27182785        Result _ge_auxcall5 = new Result ();
    27192786        Expr_m_Int_m_To_m_CPP (_ve_pos, _ge_auxcall5);
    2720         Expr[] _va_58 = { _ge_auxcall4.getExpr () , _c_111 , _ge_auxcall5.getExpr () , _c_24 };
    2721         _v_res1.assign (Expr.concat (_va_58));
     2787        Expr[] _va_61 = { _ge_auxcall4.getExpr () , _c_116 , _ge_auxcall5.getExpr () , _c_24 };
     2788        _v_res1.assign (Expr.concat (_va_61));
    27222789        break _block1;
    27232790      }
     
    27632830        }
    27642831        int _v_len__pos2 = (_v_len13 - _v_len14);
    2765         if (!_c_112.eq (_v_deref__arg13, 0))
     2832        if (!_c_117.eq (_v_deref__arg13, 0))
    27662833        {
    27672834          break _block1__branch4;
     
    27762843        Result _ge_auxcall8 = new Result ();
    27772844        Expr_m_Int_m_To_m_CPP (_ve_len, _ge_auxcall8);
    2778         Expr[] _va_59 = { _ge_auxcall6.getExpr () , _c_113 , _ge_auxcall7.getExpr () , _c_25 , _ge_auxcall8.getExpr () , _c_24 };
    2779         _v_res1.assign (Expr.concat (_va_59));
     2845        Expr[] _va_62 = { _ge_auxcall6.getExpr () , _c_118 , _ge_auxcall7.getExpr () , _c_25 , _ge_auxcall8.getExpr () , _c_24 };
     2846        _v_res1.assign (Expr.concat (_va_62));
    27802847        break _block1;
    27812848      }
     
    27972864        }
    27982865        int _v_len__expr3 = (_v_len15 - _v_len16);
    2799         if (!_c_114.eq (_v_deref__arg14, 0))
     2866        if (!_c_119.eq (_v_deref__arg14, 0))
    28002867        {
    28012868          break _block1__branch5;
     
    28042871        Result _ge_auxcall9 = new Result ();
    28052872        Expr_m_Ref_m_To_m_CPP (_ve_expr, _ge_auxcall9);
    2806         Expr[] _va_60 = { _c_115 , _ge_auxcall9.getExpr () , _c_24 };
    2807         _v_res1.assign (Expr.concat (_va_60));
     2873        Expr[] _va_63 = { _c_120 , _ge_auxcall9.getExpr () , _c_24 };
     2874        _v_res1.assign (Expr.concat (_va_63));
    28082875        break _block1;
    28092876      }
     
    28492916        }
    28502917        int _v_len__expr22 = (_v_len21 - _v_len22);
    2851         if (!_c_116.eq (_v_deref__arg15, 0))
     2918        if (!_c_121.eq (_v_deref__arg15, 0))
    28522919        {
    28532920          break _block1__branch6;
     
    28622929        Result _ge_auxcall12 = new Result ();
    28632930        Expr_m_Int_m_To_m_CPP (_ve_pos, _ge_auxcall12);
    2864         Expr[] _va_61 = { _ge_auxcall10.getExpr () , _c_117 , _ge_auxcall11.getExpr () , _c_25 , _ge_auxcall12.getExpr () , _c_24 };
    2865         _v_res1.assign (Expr.concat (_va_61));
     2931        Expr[] _va_64 = { _ge_auxcall10.getExpr () , _c_122 , _ge_auxcall11.getExpr () , _c_25 , _ge_auxcall12.getExpr () , _c_24 };
     2932        _v_res1.assign (Expr.concat (_va_64));
    28662933        break _block1;
    28672934      }
     
    29072974        }
    29082975        int _v_len__expr23 = (_v_len27 - _v_len28);
    2909         if (!_c_118.eq (_v_deref__arg16, 0))
     2976        if (!_c_123.eq (_v_deref__arg16, 0))
    29102977        {
    29112978          break _block1__branch7;
     
    29202987        Result _ge_auxcall15 = new Result ();
    29212988        Expr_m_Int_m_To_m_CPP (_ve_pos, _ge_auxcall15);
    2922         Expr[] _va_62 = { _ge_auxcall13.getExpr () , _c_119 , _ge_auxcall14.getExpr () , _c_25 , _ge_auxcall15.getExpr () , _c_24 };
    2923         _v_res1.assign (Expr.concat (_va_62));
     2989        Expr[] _va_65 = { _ge_auxcall13.getExpr () , _c_124 , _ge_auxcall14.getExpr () , _c_25 , _ge_auxcall15.getExpr () , _c_24 };
     2990        _v_res1.assign (Expr.concat (_va_65));
    29242991        break _block1;
    29252992      }
     
    29413008        }
    29423009        int _v_len__cond = (_v_len29 - _v_len30);
    2943         if (!_c_120.eq (_v_deref__arg17, 0))
     3010        if (!_c_125.eq (_v_deref__arg17, 0))
    29443011        {
    29453012          break _block1__branch8;
     
    29483015        Result _v_Cond_m_To_m_CPP1 = new Result ();
    29493016        Cond_m_To_m_CPP (_ve_cond, _v_Cond_m_To_m_CPP1);
    2950         _v_res1.assign (new Expr (_c_121, _v_Cond_m_To_m_CPP1.getExpr ()));
     3017        _v_res1.assign (new Expr (_c_126, _v_Cond_m_To_m_CPP1.getExpr ()));
    29513018        break _block1;
    29523019      }
     
    29683035        }
    29693036        int _v_len__args = (_v_len31 - _v_len32);
    2970         if (!_c_92.eq (_v_deref__arg18, 0))
     3037        if (!_c_97.eq (_v_deref__arg18, 0))
    29713038        {
    29723039          break _block1__branch9;
     
    29823049        Result _ge_auxcall17 = new Result ();
    29833050        Infix_m_To_m_CPP (_gs_auxcall16.getExpr (), _vs_op, _ve_args, _ge_auxcall17);
    2984         Expr[] _va_63 = { _c_96 , _ge_auxcall17.getExpr () , _c_24 };
    2985         _v_res1.assign (Expr.concat (_va_63));
     3051        Expr[] _va_66 = { _c_101 , _ge_auxcall17.getExpr () , _c_24 };
     3052        _v_res1.assign (Expr.concat (_va_66));
    29863053        break _block1;
    29873054      }
     
    29893056      List.Paren (_ge_arg1, _ge_auxcall18);
    29903057      Result _ge_auxcall19 = new Result ();
    2991       Infix_m_To_m_CPP (_c_122, _c_123, _ge_auxcall18.getExpr (), _ge_auxcall19);
    2992       Expr[] _va_64 = { _c_96 , _ge_auxcall19.getExpr () , _c_24 };
    2993       _v_res1.assign (Expr.concat (_va_64));
     3058      Infix_m_To_m_CPP (_c_127, _c_128, _ge_auxcall18.getExpr (), _ge_auxcall19);
     3059      Expr[] _va_67 = { _c_101 , _ge_auxcall19.getExpr () , _c_24 };
     3060      _v_res1.assign (Expr.concat (_va_67));
    29943061    }
    29953062  }
     
    30203087        Expr _ve_rest = new Expr (_ve_args, (0 + 1), _v_len__rest);
    30213088        Expr _ve_arg = new Expr (_v_deref__args, 0, _v_len__arg);
    3022         Result _va_65 = new Result ();
    3023         if (!Apply.Apply (_vs_arg2cpp, _ve_arg, _va_65))
     3089        Result _va_68 = new Result ();
     3090        if (!Apply.Apply (_vs_arg2cpp, _ve_arg, _va_68))
    30243091        {
    30253092          throw new RefalException ("rfp_asail_cpp", "Infix_m_To_m_CPP", "Unexpected fail");
    30263093        }
    3027         _ve_arg = _va_65.getExpr ();
    3028         Result _va_66 = new Result ();
    3029         Infix_m_To_m_CPP (_vs_arg2cpp, _vs_op, _ve_rest, _va_66);
    3030         _ve_rest = _va_66.getExpr ();
     3094        _ve_arg = _va_68.getExpr ();
     3095        Result _va_69 = new Result ();
     3096        Infix_m_To_m_CPP (_vs_arg2cpp, _vs_op, _ve_rest, _va_69);
     3097        _ve_rest = _va_69.getExpr ();
    30313098        _block2: {
    30323099          _block2__branch1: {
     
    30373104              break _block2__branch1;
    30383105            }
    3039             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_370_m_28 = (_v_len5 - _v_len6);
     3106            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_380_m_28 = (_v_len5 - _v_len6);
    30403107            int _v_len7 = _ve_arg.getLen ();
    30413108            int _v_len8 = 0;
     
    30443111              break _block2__branch1;
    30453112            }
    3046             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_370_m_16 = (_v_len7 - _v_len8);
    3047             Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_370_m_16 = new Expr (_ve_arg, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_370_m_16);
    3048             Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_370_m_28 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_370_m_28);
    3049             Expr[] _va_67 = { _ve_arg , _c_124 , _vs_op , _c_124 , _ve_rest };
    3050             _v_res1.assign (Expr.concat (_va_67));
     3113            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_380_m_16 = (_v_len7 - _v_len8);
     3114            Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_380_m_16 = new Expr (_ve_arg, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_380_m_16);
     3115            Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_380_m_28 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_380_m_28);
     3116            Expr[] _va_70 = { _ve_arg , _c_129 , _vs_op , _c_129 , _ve_rest };
     3117            _v_res1.assign (Expr.concat (_va_70));
    30513118            break _block2;
    30523119          }
     
    30693136              break _block2__branch1;
    30703137            }
    3071             if (!_vs_op.eq (_c_123, 0))
     3138            if (!_vs_op.eq (_c_128, 0))
    30723139            {
    30733140              break _block2__branch1;
     
    30793146            break _block1__branch1;
    30803147          }
    3081           if (!_vs_op.eq (_c_125, 0))
     3148          if (!_vs_op.eq (_c_130, 0))
    30823149          {
    30833150            break _block1__branch1;
    30843151          }
    30853152        }
    3086         _v_res1.assign (_c_122);
     3153        _v_res1.assign (_c_127);
    30873154        break _block1;
    30883155      }
     
    30933160            break _block3__branch1;
    30943161          }
    3095           if (!_vs_op.eq (_c_126, 0))
     3162          if (!_vs_op.eq (_c_131, 0))
    30963163          {
    30973164            break _block3__branch1;
     
    31043171            break _block3__branch2;
    31053172          }
    3106           if (!_vs_op.eq (_c_127, 0))
     3173          if (!_vs_op.eq (_c_132, 0))
    31073174          {
    31083175            break _block3__branch2;
     
    31153182            break _block3__branch3;
    31163183          }
    3117           if (!_vs_op.eq (_c_128, 0))
     3184          if (!_vs_op.eq (_c_133, 0))
    31183185          {
    31193186            break _block3__branch3;
     
    31263193            break _block3__branch4;
    31273194          }
    3128           if (!_vs_op.eq (_c_129, 0))
     3195          if (!_vs_op.eq (_c_134, 0))
    31293196          {
    31303197            break _block3__branch4;
     
    31373204            break _block3__branch5;
    31383205          }
    3139           if (!_vs_op.eq (_c_130, 0))
     3206          if (!_vs_op.eq (_c_135, 0))
    31403207          {
    31413208            break _block3__branch5;
     
    31483215            break _block3__branch6;
    31493216          }
    3150           if (!_vs_op.eq (_c_131, 0))
     3217          if (!_vs_op.eq (_c_136, 0))
    31513218          {
    31523219            break _block3__branch6;
     
    31593226            break _block3__branch7;
    31603227          }
    3161           if (!_vs_op.eq (_c_95, 0))
     3228          if (!_vs_op.eq (_c_100, 0))
    31623229          {
    31633230            break _block3__branch7;
     
    31703237            break _block3__branch8;
    31713238          }
    3172           if (!_vs_op.eq (_c_132, 0))
     3239          if (!_vs_op.eq (_c_137, 0))
    31733240          {
    31743241            break _block3__branch8;
     
    31813248            break _block3__branch9;
    31823249          }
    3183           if (!_vs_op.eq (_c_133, 0))
     3250          if (!_vs_op.eq (_c_138, 0))
    31843251          {
    31853252            break _block3__branch9;
     
    31923259            break _block3__branch10;
    31933260          }
    3194           if (!_vs_op.eq (_c_134, 0))
     3261          if (!_vs_op.eq (_c_139, 0))
    31953262          {
    31963263            break _block3__branch10;
     
    32023269          throw new RefalException ("rfp_asail_cpp", "Op_m_Arg_m_To_m_CPP", "Unexpected fail");
    32033270        }
    3204         if (!_vs_op.eq (_c_135, 0))
     3271        if (!_vs_op.eq (_c_140, 0))
    32053272        {
    32063273          throw new RefalException ("rfp_asail_cpp", "Op_m_Arg_m_To_m_CPP", "Unexpected fail");
    32073274        }
    32083275      }
    3209       _v_res1.assign (_c_108);
     3276      _v_res1.assign (_c_113);
    32103277    }
    32113278  }
     
    32393306        }
    32403307        int _v_len__expr = (_v_len1 - _v_len2);
    3241         if (!_c_136.eq (_v_deref__arg1, 0))
     3308        if (!_c_141.eq (_v_deref__arg1, 0))
    32423309        {
    32433310          break _block1__branch2;
     
    32463313        Result _ge_auxcall1 = new Result ();
    32473314        Expr_m_Ref_m_To_m_CPP (_ve_expr, _ge_auxcall1);
    3248         Expr[] _va_68 = { _c_115 , _ge_auxcall1.getExpr () , _c_137 };
    3249         _v_res1.assign (Expr.concat (_va_68));
     3315        Expr[] _va_71 = { _c_120 , _ge_auxcall1.getExpr () , _c_142 };
     3316        _v_res1.assign (Expr.concat (_va_71));
    32503317        break _block1;
    32513318      }
     
    32663333      }
    32673334      int _v_len__expr2 = (_v_len3 - _v_len4);
    3268       if (!_c_138.eq (_v_deref__arg12, 0))
     3335      if (!_c_143.eq (_v_deref__arg12, 0))
    32693336      {
    32703337        throw new RefalException ("rfp_asail_cpp", "Step_m_To_m_CPP", "Unexpected fail");
     
    32733340      Result _ge_auxcall2 = new Result ();
    32743341      Expr_m_Ref_m_To_m_CPP (_ve_expr, _ge_auxcall2);
    3275       Expr[] _va_69 = { _c_115 , _ge_auxcall2.getExpr () , _c_139 };
    3276       _v_res1.assign (Expr.concat (_va_69));
     3342      Expr[] _va_72 = { _c_120 , _ge_auxcall2.getExpr () , _c_144 };
     3343      _v_res1.assign (Expr.concat (_va_72));
    32773344    }
    32783345  }
     
    32863353          break _block1__branch1;
    32873354        }
    3288         _v_res1.assign (_c_93);
     3355        _v_res1.assign (_c_98);
    32893356        break _block1;
    32903357      }
     
    33203387        Result _ge_auxcall1 = new Result ();
    33213388        CppMangle.Rfp2Cpp (_vt_name, _ge_auxcall1);
    3322         Expr[] _va_70 = { _c_98 , _ge_auxcall1.getExpr () , _c_25 , _vs_pos , _c_25 , _vs_len , _c_24 };
    3323         _v_res1.assign (Expr.concat (_va_70));
     3389        Expr[] _va_73 = { _c_103 , _ge_auxcall1.getExpr () , _c_25 , _vs_pos , _c_25 , _vs_len , _c_24 };
     3390        _v_res1.assign (Expr.concat (_va_73));
    33243391        break _block1;
    33253392      }
    33263393      Result _v_Const_m_Expr_m_Aux1 = new Result ();
    3327       Const_m_Expr_m_Aux (new Expr (_c_140, _ge_arg1), _v_Const_m_Expr_m_Aux1);
     3394      Const_m_Expr_m_Aux (new Expr (_c_145, _ge_arg1), _v_Const_m_Expr_m_Aux1);
    33283395      _block2: {
    33293396        _block2__branch1: {
     
    33353402          }
    33363403          int _v_len__cpp_m_expr = (_v_len1 - _v_len2);
    3337           if (!_c_141.eq (_v_Const_m_Expr_m_Aux1.getExpr (), 0))
     3404          if (!_c_146.eq (_v_Const_m_Expr_m_Aux1.getExpr (), 0))
    33383405          {
    33393406            break _block2__branch1;
     
    34103477          break _block1__branch2;
    34113478        }
    3412         int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_408_m_14 = (_v_len7 - _v_len8);
    3413         Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_408_m_14 = new Expr (_ve_accum, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_408_m_14);
     3479        int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_418_m_14 = (_v_len7 - _v_len8);
     3480        Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_418_m_14 = new Expr (_ve_accum, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_418_m_14);
    34143481        _block2: {
    34153482          _block2__branch1: {
     
    34203487              break _block2__branch1;
    34213488            }
    3422             Expr.SplitIterator _va_71 = _v_Chars_m_To_m_Bytes1.getExpr ().leftSplit(0);
    3423             _exit1: _continue1: for ( ; ; _va_71.next ())
    3424             {
    3425               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_410_m_35 = _va_71.getLeft();
    3426               Expr _v_lsplit__Chars_m_To_m_Bytes1 = _va_71.getRight();
    3427               if (!_va_71.isValid ())
     3489            Expr.SplitIterator _va_74 = _v_Chars_m_To_m_Bytes1.getExpr ().leftSplit(0);
     3490            _exit1: _continue1: for ( ; ; _va_74.next ())
     3491            {
     3492              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_420_m_35 = _va_74.getLeft();
     3493              Expr _v_lsplit__Chars_m_To_m_Bytes1 = _va_74.getRight();
     3494              if (!_va_74.isValid ())
    34283495              {
    34293496                break _block2__branch1;
     
    34353502                break _block2__branch1;
    34363503              }
    3437               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_410_m_41 = (_v_len9 - _v_len10);
     3504              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_420_m_41 = (_v_len9 - _v_len10);
    34383505              if (!_v_lsplit__Chars_m_To_m_Bytes1.symbolAt (0))
    34393506              {
     
    34413508              }
    34423509              Expr _vs_c = new Expr (_v_lsplit__Chars_m_To_m_Bytes1, 0, 1);
    3443               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_410_m_41 = new Expr (_v_lsplit__Chars_m_To_m_Bytes1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_410_m_41);
    3444               if (!Compare._gt_ (_vs_c, _c_142))
     3510              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_420_m_41 = new Expr (_v_lsplit__Chars_m_To_m_Bytes1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_420_m_41);
     3511              if (!Compare._gt_ (_vs_c, _c_147))
    34453512              {
    34463513                continue _continue1;
    34473514              }
    34483515              Result _v_Const_m_Expr_m_Aux1 = new Result ();
    3449               Const_m_Expr_m_Aux (new Expr (_c_140, _ve_expr), _v_Const_m_Expr_m_Aux1);
    3450               Expr[] _va_72 = { _c_143 , _ve_accum , _c_71 , _v_Const_m_Expr_m_Aux1.getExpr () };
    3451               _v_res1.assign (Expr.concat (_va_72));
     3516              Const_m_Expr_m_Aux (new Expr (_c_145, _ve_expr), _v_Const_m_Expr_m_Aux1);
     3517              Expr[] _va_75 = { _c_148 , _ve_accum , _c_71 , _v_Const_m_Expr_m_Aux1.getExpr () };
     3518              _v_res1.assign (Expr.concat (_va_75));
    34523519              break _exit1;
    34533520            }
     
    34553522          }
    34563523          Result _v_Const_m_Expr_m_Aux2 = new Result ();
    3457           Const_m_Expr_m_Aux (new Expr (_c_140, _ve_expr), _v_Const_m_Expr_m_Aux2);
    3458           Expr[] _va_73 = { _c_144 , _ve_accum , _c_71 , _v_Const_m_Expr_m_Aux2.getExpr () };
    3459           _v_res1.assign (Expr.concat (_va_73));
     3524          Const_m_Expr_m_Aux (new Expr (_c_145, _ve_expr), _v_Const_m_Expr_m_Aux2);
     3525          Expr[] _va_76 = { _c_149 , _ve_accum , _c_71 , _v_Const_m_Expr_m_Aux2.getExpr () };
     3526          _v_res1.assign (Expr.concat (_va_76));
    34603527        }
    34613528        break _block1;
     
    34903557            }
    34913558            int _v_len__paren_m_expr = (_v_len13 - _v_len14);
    3492             if (!_c_88.eq (_v_deref__item, 0))
     3559            if (!_c_93.eq (_v_deref__item, 0))
    34933560            {
    34943561              break _block3__branch1;
     
    34973564            Result _ge_auxcall2 = new Result ();
    34983565            Const_m_Expr_m_To_m_CPP (_ve_paren_m_expr, _ge_auxcall2);
    3499             Expr[] _va_74 = { _c_146 , _ge_auxcall2.getExpr () , _c_145 };
    3500             _ve_cpp_m_item = Expr.concat (_va_74);
     3566            Expr[] _va_77 = { _c_151 , _ge_auxcall2.getExpr () , _c_150 };
     3567            _ve_cpp_m_item = Expr.concat (_va_77);
    35013568            break _block3;
    35023569          }
     
    35153582              break _block3__branch2;
    35163583            }
    3517             if (!_c_99.eq (_v_deref__item2, 0))
     3584            if (!_c_104.eq (_v_deref__item2, 0))
    35183585            {
    35193586              break _block3__branch2;
     
    35213588            Expr _vt_name = new Expr (_v_deref__item2, (0 + 1), 1);
    35223589            Result _v_Name_m_To_m_CPP1 = new Result ();
    3523             Name_m_To_m_CPP (_vt_name, _v_Name_m_To_m_CPP1);
    3524             _ve_cpp_m_item = new Expr (_c_141, _v_Name_m_To_m_CPP1.getExpr ());
     3590            if (!Name_m_To_m_CPP (_vt_name, _v_Name_m_To_m_CPP1))
     3591            {
     3592              break _block1__branch3;
     3593            }
     3594            _ve_cpp_m_item = new Expr (_c_146, _v_Name_m_To_m_CPP1.getExpr ());
    35253595            break _block3;
    35263596          }
     
    35413611              break _block3__branch3;
    35423612            }
    3543             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_422_m_14 = (_v_len15 - _v_len16);
     3613            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_432_m_14 = (_v_len15 - _v_len16);
    35443614            if (!_c_68.eq (_v_deref__item3, 0))
    35453615            {
    35463616              break _block3__branch3;
    35473617            }
    3548             Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_422_m_14 = new Expr (_v_deref__item3, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_422_m_14);
     3618            Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_432_m_14 = new Expr (_v_deref__item3, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_432_m_14);
    35493619            Result _v_Rfp2Cpp1 = new Result ();
    35503620            CppMangle.Rfp2Cpp (_vt_item, _v_Rfp2Cpp1);
    3551             _ve_cpp_m_item = new Expr (_c_141, _v_Rfp2Cpp1.getExpr ());
     3621            _ve_cpp_m_item = new Expr (_c_146, _v_Rfp2Cpp1.getExpr ());
    35523622            break _block3;
    35533623          }
     
    35943664            }
    35953665            Result _ge_auxcall3 = new Result ();
    3596             Name_m_To_m_CPP (_vt_name, _ge_auxcall3);
    3597             Expr[] _va_75 = { _c_147 , _ge_auxcall3.getExpr () , _c_24 };
    3598             _ve_cpp_m_item = Expr.concat (_va_75);
     3666            if (!Name_m_To_m_CPP (_vt_name, _ge_auxcall3))
     3667            {
     3668              break _block1__branch3;
     3669            }
     3670            Expr[] _va_78 = { _c_152 , _ge_auxcall3.getExpr () , _c_24 };
     3671            _ve_cpp_m_item = Expr.concat (_va_78);
    35993672            break _block3;
    36003673          }
     
    36163689              Result _ge_auxcall4 = new Result ();
    36173690              Box._q_ (Int, _ge_auxcall4);
    3618               Expr[] _va_76 = { _c_149 , _ge_auxcall4.getExpr () , _c_148 , _vs_sym , _c_71 };
    3619               _ve_cpp_m_item = Expr.concat (_va_76);
     3691              Expr[] _va_79 = { _c_154 , _ge_auxcall4.getExpr () , _c_153 , _vs_sym , _c_71 };
     3692              _ve_cpp_m_item = Expr.concat (_va_79);
    36203693              break _block5;
    36213694            }
     
    36263699            Result _ge_auxcall5 = new Result ();
    36273700            Symbol_m_To_m_CPP (_vs_sym, _ge_auxcall5);
    3628             Expr[] _va_77 = { _c_150 , _ge_auxcall5.getExpr () , _c_71 };
    3629             _ve_cpp_m_item = Expr.concat (_va_77);
     3701            Expr[] _va_80 = { _c_155 , _ge_auxcall5.getExpr () , _c_71 };
     3702            _ve_cpp_m_item = Expr.concat (_va_80);
    36303703          }
    36313704        }
    36323705        Result _v_Const_m_Expr_m_Aux3 = new Result ();
    3633         Const_m_Expr_m_Aux (new Expr (_c_140, _ve_rest), _v_Const_m_Expr_m_Aux3);
     3706        Const_m_Expr_m_Aux (new Expr (_c_145, _ve_rest), _v_Const_m_Expr_m_Aux3);
    36343707        _v_res1.assign (new Expr (_ve_cpp_m_item, _v_Const_m_Expr_m_Aux3.getExpr ()));
    36353708        break _block1;
     
    36753748            break _block3__branch1;
    36763749          }
    3677           if (!_vs_char.eq (_c_151, 0))
     3750          if (!_vs_char.eq (_c_156, 0))
    36783751          {
    36793752            break _block3__branch1;
    36803753          }
    3681           _ve_cpp_m_char = _c_152;
     3754          _ve_cpp_m_char = _c_157;
    36823755          break _block3;
    36833756        }
     
    36873760            break _block3__branch2;
    36883761          }
    3689           if (!_vs_char.eq (_c_153, 0))
     3762          if (!_vs_char.eq (_c_158, 0))
    36903763          {
    36913764            break _block3__branch2;
    36923765          }
    3693           _ve_cpp_m_char = _c_154;
     3766          _ve_cpp_m_char = _c_159;
    36943767          break _block3;
    36953768        }
     
    36993772            break _block3__branch3;
    37003773          }
    3701           if (!_vs_char.eq (_c_155, 0))
     3774          if (!_vs_char.eq (_c_160, 0))
    37023775          {
    37033776            break _block3__branch3;
    37043777          }
    3705           _ve_cpp_m_char = _c_156;
     3778          _ve_cpp_m_char = _c_161;
    37063779          break _block3;
    37073780        }
     
    37113784            break _block3__branch4;
    37123785          }
    3713           if (!_vs_char.eq (_c_157, 0))
     3786          if (!_vs_char.eq (_c_162, 0))
    37143787          {
    37153788            break _block3__branch4;
    37163789          }
    3717           _ve_cpp_m_char = _c_158;
     3790          _ve_cpp_m_char = _c_163;
    37183791          break _block3;
    37193792        }
     
    37233796            break _block3__branch5;
    37243797          }
    3725           if (!_vs_char.eq (_c_159, 0))
     3798          if (!_vs_char.eq (_c_164, 0))
    37263799          {
    37273800            break _block3__branch5;
    37283801          }
    3729           _ve_cpp_m_char = _c_160;
     3802          _ve_cpp_m_char = _c_165;
    37303803          break _block3;
    37313804        }
     
    37383811          throw new RefalException ("rfp_asail_cpp", "Symbol_m_To_m_CPP", "Unexpected fail");
    37393812        }
    3740         Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_449_m_8 = new Expr (_vs_char, 0, 1);
     3813        Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_459_m_8 = new Expr (_vs_char, 0, 1);
    37413814        _ve_cpp_m_char = _vs_char;
    37423815      }
     
    37543827          break _block1__branch1;
    37553828        }
    3756         Expr[] _va_78 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
    3757         Expr _v_compose1 = Expr.concat (_va_78);
     3829        Expr[] _va_81 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
     3830        Expr _v_compose1 = Expr.concat (_va_81);
    37583831        if (_v_compose1.symbolAt (0))
    37593832        {
     
    37733846        }
    37743847        Expr _vv_prefix = new Expr (_v_deref__compose1, 0, _v_len__prefix);
    3775         _v_res1.assign (_c_161);
     3848        _v_res1.assign (_c_166);
    37763849        break _block1;
    37773850      }
     
    37813854          break _block1__branch2;
    37823855        }
    3783         Expr[] _va_79 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
    3784         Expr _v_compose2 = Expr.concat (_va_79);
    3785         if (!_c_162.eq (_v_compose2, 0))
     3856        Expr[] _va_82 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
     3857        Expr _v_compose2 = Expr.concat (_va_82);
     3858        if (!_c_167.eq (_v_compose2, 0))
    37863859        {
    37873860          break _block1__branch2;
    37883861        }
    3789         _v_res1.assign (_c_163);
     3862        _v_res1.assign (_c_168);
    37903863        break _block1;
    37913864      }
     
    37953868          break _block1__branch3;
    37963869        }
    3797         Expr[] _va_80 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
    3798         Expr _v_compose3 = Expr.concat (_va_80);
     3870        Expr[] _va_83 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
     3871        Expr _v_compose3 = Expr.concat (_va_83);
    37993872        if (_v_compose3.symbolAt ((0 + 1 + 1)))
    38003873        {
     
    38093882        }
    38103883        int _v_len__arg = (_v_len3 - _v_len4);
    3811         if (!_c_162.eq (_v_compose3, 0))
     3884        if (!_c_167.eq (_v_compose3, 0))
    38123885        {
    38133886          break _block1__branch3;
     
    38223895          break _block1__branch4;
    38233896        }
    3824         Expr[] _va_81 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
    3825         Expr _v_compose4 = Expr.concat (_va_81);
     3897        Expr[] _va_84 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
     3898        Expr _v_compose4 = Expr.concat (_va_84);
    38263899        if (_v_compose4.symbolAt (0))
    38273900        {
     
    38413914        }
    38423915        Expr _ve_prefix = new Expr (_v_deref__compose4, 0, _v_len__prefix2);
    3843         _v_res1.assign (_c_163);
     3916        _v_res1.assign (_c_168);
    38443917        break _block1;
    38453918      }
     
    38493922          break _block1__branch5;
    38503923        }
    3851         Expr[] _va_82 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
    3852         Expr _v_compose5 = Expr.concat (_va_82);
     3924        Expr[] _va_85 = { new Expr(_ge_arg1) , _gs_arg2 , _ge_arg3 };
     3925        Expr _v_compose5 = Expr.concat (_va_85);
    38533926        if (_v_compose5.symbolAt (0))
    38543927        {
     
    38843957        break _block1;
    38853958      }
    3886       Expr _ge_arg3__1 = _ge_arg3;
     3959      Expr _ge_arg3__2 = _ge_arg3;
    38873960      Expr _ve_cpp_m_args = Expr.empty;
    38883961      _exit__iter1: for ( ; ; )
    38893962      {
    38903963        _iter1: {
    3891           if ((_ge_arg3__1.getLen () != 0))
     3964          if ((_ge_arg3__2.getLen () != 0))
    38923965          {
    38933966            break _iter1;
     
    39043977                break _block2__branch1;
    39053978              }
    3906               Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_480_m_8 = new Expr (_v_compose6, 0, 1);
    3907               Expr[] _va_83 = { _c_96 , _ve_cpp_m_args , _c_24 };
    3908               _v_res1.assign (Expr.concat (_va_83));
     3979              Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_490_m_8 = new Expr (_v_compose6, 0, 1);
     3980              Expr[] _va_86 = { _c_101 , _ve_cpp_m_args , _c_24 };
     3981              _v_res1.assign (Expr.concat (_va_86));
    39093982              break _block2;
    39103983            }
     
    39153988              }
    39163989              Expr _v_compose7 = new Expr (new Expr(_ge_arg1), _gs_arg2);
    3917               if (!_c_162.eq (_v_compose7, 0))
     3990              if (!_c_167.eq (_v_compose7, 0))
    39183991              {
    39193992                break _block2__branch2;
    39203993              }
    3921               Expr[] _va_84 = { _c_96 , _ve_cpp_m_args , _c_24 };
    3922               _v_res1.assign (Expr.concat (_va_84));
     3994              Expr[] _va_87 = { _c_101 , _ve_cpp_m_args , _c_24 };
     3995              _v_res1.assign (Expr.concat (_va_87));
    39233996              break _block2;
    39243997            }
     
    39404013                break _block2__branch3;
    39414014              }
    3942               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_482_m_9 = (_v_len11 - _v_len12);
     4015              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_492_m_9 = (_v_len11 - _v_len12);
    39434016              if (!_c_21.eq (_v_compose8, (0 + 1)))
    39444017              {
    39454018                break _block2__branch3;
    39464019              }
    3947               Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_482_m_9 = new Expr (_v_deref__compose8, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_482_m_9);
    3948               Expr[] _va_85 = { _c_96 , _ge_arg1 , _ve_cpp_m_args , _c_164 };
    3949               _v_res1.assign (Expr.concat (_va_85));
     4020              Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_492_m_9 = new Expr (_v_deref__compose8, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_492_m_9);
     4021              Expr[] _va_88 = { _c_101 , _ge_arg1 , _ve_cpp_m_args , _c_169 };
     4022              _v_res1.assign (Expr.concat (_va_88));
    39504023              break _block2;
    39514024            }
     
    39564029              throw new RefalException ("rfp_asail_cpp", "Args_m_To_m_CPP", "Unexpected fail");
    39574030            }
    3958             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_483_m_8 = (_v_len13 - _v_len14);
     4031            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_493_m_8 = (_v_len13 - _v_len14);
    39594032            Expr _v_compose9 = new Expr (new Expr(_ge_arg1), _gs_arg2);
    3960             Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_483_m_8 = new Expr (_v_compose9, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_483_m_8);
     4033            Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_493_m_8 = new Expr (_v_compose9, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_493_m_8);
    39614034            _v_res1.assign (new Expr (_ge_arg1, _ve_cpp_m_args));
    39624035          }
    39634036          break _exit__iter1;
    39644037        }
    3965         int _v_len15 = _ge_arg3__1.getLen ();
     4038        int _v_len15 = _ge_arg3__2.getLen ();
    39664039        int _v_len16 = 1;
    39674040        if ((_v_len15 < _v_len16))
     
    39704043        }
    39714044        int _v_len__rest = (_v_len15 - _v_len16);
    3972         if (_ge_arg3__1.symbolAt (0))
     4045        if (_ge_arg3__2.symbolAt (0))
    39734046        {
    39744047          throw new RefalException ("rfp_asail_cpp", "Args_m_To_m_CPP", "Unexpected fail");
    39754048        }
    3976         Expr _v_deref__arg3__1 = (Expr) _ge_arg3__1.at (0);
    3977         int _v_len17 = _v_deref__arg3__1.getLen ();
     4049        Expr _v_deref__arg3__2 = (Expr) _ge_arg3__2.at (0);
     4050        int _v_len17 = _v_deref__arg3__2.getLen ();
    39784051        int _v_len18 = 0;
    39794052        if ((_v_len17 < _v_len18))
     
    39824055        }
    39834056        int _v_len__arg3 = (_v_len17 - _v_len18);
    3984         Expr _ve_rest = new Expr (_ge_arg3__1, (0 + 1), _v_len__rest);
    3985         Expr _ve_arg = new Expr (_v_deref__arg3__1, 0, _v_len__arg3);
     4057        Expr _ve_rest = new Expr (_ge_arg3__2, (0 + 1), _v_len__rest);
     4058        Expr _ve_arg = new Expr (_v_deref__arg3__2, 0, _v_len__arg3);
    39864059        Expr _ve_comma = Expr.empty;
    39874060        _block4: {
     
    39934066              break _block4__branch1;
    39944067            }
    3995             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_469_m_21 = (_v_len19 - _v_len20);
    3996             Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_469_m_21 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_469_m_21);
     4068            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_479_m_21 = (_v_len19 - _v_len20);
     4069            Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_479_m_21 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_479_m_21);
    39974070            _ve_comma = _c_25;
    39984071            break _block4;
     
    40124085            Result _ge_auxcall1 = new Result ();
    40134086            CppMangle.Rfp2Cpp (new Expr(_ve_arg), _ge_auxcall1);
    4014             _ge_arg3__1 = _ve_rest;
    4015             Expr[] _va_86 = { _ve_cpp_m_args , _ge_auxcall1.getExpr () , _ve_comma };
    4016             _ve_cpp_m_args = Expr.concat (_va_86);
     4087            _ge_arg3__2 = _ve_rest;
     4088            Expr[] _va_89 = { _ve_cpp_m_args , _ge_auxcall1.getExpr () , _ve_comma };
     4089            _ve_cpp_m_args = Expr.concat (_va_89);
    40174090            break _block5;
    40184091          }
     
    40284101            Result _ge_auxcall2 = new Result ();
    40294102            Expr_m_Ref_m_To_m_CPP (_ve_arg, _ge_auxcall2);
    4030             _ge_arg3__1 = _ve_rest;
    4031             Expr[] _va_87 = { _ve_cpp_m_args , _ge_auxcall2.getExpr () , _ve_comma };
    4032             _ve_cpp_m_args = Expr.concat (_va_87);
     4103            _ge_arg3__2 = _ve_rest;
     4104            Expr[] _va_90 = { _ve_cpp_m_args , _ge_auxcall2.getExpr () , _ve_comma };
     4105            _ve_cpp_m_args = Expr.concat (_va_90);
    40334106            break _block5;
    40344107          }
     
    40374110            throw new RefalException ("rfp_asail_cpp", "Args_m_To_m_CPP", "Unexpected fail");
    40384111          }
    4039           if (!_gs_arg2.eq (_c_105, 0))
     4112          if (!_gs_arg2.eq (_c_110, 0))
    40404113          {
    40414114            throw new RefalException ("rfp_asail_cpp", "Args_m_To_m_CPP", "Unexpected fail");
     
    40434116          Result _ge_auxcall3 = new Result ();
    40444117          Expr_m_Int_m_To_m_CPP (_ve_arg, _ge_auxcall3);
    4045           _ge_arg3__1 = _ve_rest;
    4046           Expr[] _va_88 = { _ve_cpp_m_args , _ge_auxcall3.getExpr () , _ve_comma };
    4047           _ve_cpp_m_args = Expr.concat (_va_88);
     4118          _ge_arg3__2 = _ve_rest;
     4119          Expr[] _va_91 = { _ve_cpp_m_args , _ge_auxcall3.getExpr () , _ve_comma };
     4120          _ve_cpp_m_args = Expr.concat (_va_91);
    40484121        }
    40494122      }
     
    40514124  }
    40524125
    4053   static private void Name_m_To_m_CPP (Expr _vt_obj_m_name, Result _v_res1) throws RefalException
     4126  static private boolean Name_m_To_m_CPP (Expr _vt_obj_m_name, Result _v_res1) throws RefalException
    40544127  {
    40554128    Result _ve_qualifiers = new Result ();
    40564129    Result _ve_name = new Result ();
    40574130    rfp__helper.RFP_m_Extract_m_Qualifiers (_vt_obj_m_name, _ve_qualifiers, _ve_name);
     4131    _block1__branch1: {
     4132      Result _v_Lookup1 = new Result ();
     4133      if (!Table.Lookup (rfpc.RFP_m_Includes, _ve_qualifiers.getExpr (), _v_Lookup1))
     4134      {
     4135        break _block1__branch1;
     4136      }
     4137      if ((_v_Lookup1.getExpr ().getLen () < 24))
     4138      {
     4139        break _block1__branch1;
     4140      }
     4141      if (!_c_66.eq (_v_Lookup1.getExpr (), 0))
     4142      {
     4143        break _block1__branch1;
     4144      }
     4145      Expr _v_subexpr__Lookup1 = new Expr (_v_Lookup1.getExpr (), (0 + 1), (_v_Lookup1.getExpr ().getLen () - (0 + 1 + 0)));
     4146      Expr.SplitIterator _va_92 = _v_subexpr__Lookup1.leftSplit(0);
     4147      _exit1: _continue1: for ( ; ; _va_92.next ())
     4148      {
     4149        Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_500_m_50 = _va_92.getLeft();
     4150        Expr _v_lsplit__Lookup1 = _va_92.getRight();
     4151        if (!_va_92.isValid ())
     4152        {
     4153          break _block1__branch1;
     4154        }
     4155        int _v_len1 = _v_lsplit__Lookup1.getLen ();
     4156        int _v_len2 = 23;
     4157        if ((_v_len1 < _v_len2))
     4158        {
     4159          break _block1__branch1;
     4160        }
     4161        int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_500_m_90 = (_v_len1 - _v_len2);
     4162        if (!_c_173.eq (_v_lsplit__Lookup1, 0))
     4163        {
     4164          continue _continue1;
     4165        }
     4166        if (!_v_lsplit__Lookup1.symbolAt ((0 + 1 + 1 + 1)))
     4167        {
     4168          continue _continue1;
     4169        }
     4170        if (!_c_172.eq (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1)))
     4171        {
     4172          continue _continue1;
     4173        }
     4174        if (!_v_lsplit__Lookup1.symbolAt ((0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1)))
     4175        {
     4176          continue _continue1;
     4177        }
     4178        if (!_c_171.eq (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1)))
     4179        {
     4180          continue _continue1;
     4181        }
     4182        if (!_v_lsplit__Lookup1.symbolAt ((0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1)))
     4183        {
     4184          continue _continue1;
     4185        }
     4186        if (!_c_170.eq (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1)))
     4187        {
     4188          continue _continue1;
     4189        }
     4190        Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_500_m_58 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1), 1);
     4191        Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_500_m_68 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1), 1);
     4192        Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_500_m_77 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1), 1);
     4193        Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_500_m_90 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_500_m_90);
     4194        return false;
     4195      }
     4196    }
    40584197    Result _ve_namespace = new Result ();
    40594198    Box._q_ (Current_m_Namespace, _ve_namespace);
    4060     _block1: {
    4061       _block1__branch1: {
    4062         int _v_len1 = _ve_qualifiers.getExpr ().getLen ();
    4063         int _v_len2 = _ve_namespace.getExpr ().getLen ();
    4064         if ((_v_len1 < _v_len2))
    4065         {
    4066           break _block1__branch1;
    4067         }
    4068         int _v_len__cont = (_v_len1 - _v_len2);
     4199    _block2: {
     4200      _block2__branch1: {
     4201        int _v_len3 = _ve_qualifiers.getExpr ().getLen ();
     4202        int _v_len4 = _ve_namespace.getExpr ().getLen ();
     4203        if ((_v_len3 < _v_len4))
     4204        {
     4205          break _block2__branch1;
     4206        }
     4207        int _v_len__cont = (_v_len3 - _v_len4);
    40694208        if (!_ve_namespace.getExpr ().eq (_ve_qualifiers.getExpr (), 0))
    40704209        {
    4071           break _block1__branch1;
     4210          break _block2__branch1;
    40724211        }
    40734212        Expr _ve_cont = new Expr (_ve_qualifiers.getExpr (), (0 + _ve_namespace.getExpr ().getLen ()), _v_len__cont);
    40744213        CppMangle.Rfp2Cpp (new Expr (_ve_cont, _ve_name.getExpr ()), _v_res1);
    4075         break _block1;
     4214        break _block2;
    40764215      }
    40774216      CppMangle.Rfp2Cpp (new Expr(new Expr (_ve_qualifiers.getExpr (), _ve_name.getExpr ())), _v_res1);
    40784217    }
     4218    return true;
    40794219  }
    40804220
    40814221  static private void Namespace_m_Control (Expr _ve_qualifiers, Result _v_res1) throws RefalException
    40824222  {
    4083     Expr _ge_qualifiers__0 = Expr.empty;
     4223    Expr _ge_qualifiers__1 = Expr.empty;
    40844224    _block1: {
    40854225      _block1__branch1: {
     
    40884228          break _block1__branch1;
    40894229        }
    4090         Result _va_89 = new Result ();
    4091         Box._q_ (Module_m_Name, _va_89);
    4092         _ge_qualifiers__0 = _va_89.getExpr ();
     4230        Result _va_93 = new Result ();
     4231        Box._q_ (Module_m_Name, _va_93);
     4232        _ge_qualifiers__1 = _va_93.getExpr ();
    40934233        break _block1;
    40944234      }
     
    40984238          break _block1__branch2;
    40994239        }
    4100         if (!_c_140.eq (_ve_qualifiers, 0))
     4240        if (!_c_145.eq (_ve_qualifiers, 0))
    41014241        {
    41024242          break _block1__branch2;
    41034243        }
    4104         _ge_qualifiers__0 = Expr.empty;
    4105         break _block1;
    4106       }
    4107       _ge_qualifiers__0 = _ve_qualifiers;
     4244        _ge_qualifiers__1 = Expr.empty;
     4245        break _block1;
     4246      }
     4247      _ge_qualifiers__1 = _ve_qualifiers;
    41084248    }
    41094249    _block2: {
     
    41114251        Result _v__q_1 = new Result ();
    41124252        Box._q_ (Current_m_Namespace, _v__q_1);
    4113         if ((_v__q_1.getExpr ().getLen () != _ge_qualifiers__0.getLen ()))
     4253        if ((_v__q_1.getExpr ().getLen () != _ge_qualifiers__1.getLen ()))
    41144254        {
    41154255          break _block2__branch1;
    41164256        }
    4117         if (!_ge_qualifiers__0.eq (_v__q_1.getExpr (), 0))
     4257        if (!_ge_qualifiers__1.eq (_v__q_1.getExpr (), 0))
    41184258        {
    41194259          break _block2__branch1;
     
    41334273            break _block3__branch1;
    41344274          }
    4135           int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_504_m_33 = (_v_len1 - _v_len2);
    4136           Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_504_m_33 = new Expr (_v__q_2.getExpr (), 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_504_m_33);
     4275          int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_518_m_33 = (_v_len1 - _v_len2);
     4276          Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_518_m_33 = new Expr (_v__q_2.getExpr (), 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_518_m_33);
    41374277          _ve_close_m_namespace = _c_4;
    41384278          break _block3;
     
    41404280        _ve_close_m_namespace = Expr.empty;
    41414281      }
    4142       Box.Store (Current_m_Namespace, _ge_qualifiers__0);
     4282      Box.Store (Current_m_Namespace, _ge_qualifiers__1);
    41434283      Expr _ve_open_m_namespace = Expr.empty;
    41444284      _block4: {
    41454285        _block4__branch1: {
    4146           int _v_len3 = _ge_qualifiers__0.getLen ();
     4286          int _v_len3 = _ge_qualifiers__1.getLen ();
    41474287          int _v_len4 = 0;
    41484288          if ((_v_len3 < (_v_len4 + 1)))
     
    41504290            break _block4__branch1;
    41514291          }
    4152           int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_508_m_25 = (_v_len3 - _v_len4);
    4153           Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_508_m_25 = new Expr (_ge_qualifiers__0, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_508_m_25);
     4292          int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_522_m_25 = (_v_len3 - _v_len4);
     4293          Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_522_m_25 = new Expr (_ge_qualifiers__1, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_522_m_25);
    41544294          Result _ge_auxcall1 = new Result ();
    4155           CppMangle.Rfp2Cpp (_ge_qualifiers__0, _ge_auxcall1);
    4156           Expr[] _va_90 = { _c_166 , _ge_auxcall1.getExpr () , _c_165 };
    4157           _ve_open_m_namespace = new Expr(Expr.concat (_va_90));
     4295          CppMangle.Rfp2Cpp (_ge_qualifiers__1, _ge_auxcall1);
     4296          Expr[] _va_94 = { _c_175 , _ge_auxcall1.getExpr () , _c_174 };
     4297          _ve_open_m_namespace = new Expr(Expr.concat (_va_94));
    41584298          break _block4;
    41594299        }
     
    41674307  {
    41684308    Expr _ge_args__0 = _ve_args;
    4169     Expr _vs_n = _c_167;
     4309    Expr _vs_n = _c_176;
    41704310    Expr _ve_pr_m_args = Expr.empty;
    41714311    _exit__iter1: for ( ; ; )
     
    41764316          break _iter1;
    41774317        }
    4178         Expr[] _va_91 = { _c_169 , _ve_name , _c_168 };
    4179         _v_res1.assign (new Expr (new Expr(Expr.concat (_va_91)), _ve_pr_m_args));
     4318        Expr[] _va_95 = { _c_178 , _ve_name , _c_177 };
     4319        _v_res1.assign (new Expr (new Expr(Expr.concat (_va_95)), _ve_pr_m_args));
    41804320        break _exit__iter1;
    41814321      }
     
    42004340                break _block3__branch1;
    42014341              }
    4202               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_517_m_22 = (_v_len3 - _v_len4);
    4203               Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_517_m_22 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_517_m_22);
     4342              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_531_m_22 = (_v_len3 - _v_len4);
     4343              Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_531_m_22 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_531_m_22);
    42044344              break _block3;
    42054345            }
    4206             if (!Compare._gt_ (_vs_n, _c_167))
     4346            if (!Compare._gt_ (_vs_n, _c_176))
    42074347            {
    42084348              break _block2__branch1;
    42094349            }
    42104350          }
    4211           Expr[] _va_92 = { _c_170 , _vs_n , _c_5 };
    4212           _ve_num = Expr.concat (_va_92);
     4351          Expr[] _va_96 = { _c_179 , _vs_n , _c_5 };
     4352          _ve_num = Expr.concat (_va_96);
    42134353          break _block2;
    42144354        }
    4215         _ve_num = _c_171;
     4355        _ve_num = _c_180;
    42164356      }
    42174357      Result _gs_auxcall1 = new Result ();
    4218       Arithm._p_ (_vs_n, _c_167, _gs_auxcall1);
     4358      Arithm._p_ (_vs_n, _c_176, _gs_auxcall1);
    42194359      Result _ge_auxcall2 = new Result ();
    42204360      CppMangle.Rfp2Cpp (_vt_arg, _ge_auxcall2);
    42214361      _ge_args__0 = _ve_rest;
    42224362      _vs_n = _gs_auxcall1.getExpr ();
    4223       Expr[] _va_93 = { _c_173 , _ve_num , _c_55 , _ge_auxcall2.getExpr () , _c_172 };
    4224       _ve_pr_m_args = new Expr (_ve_pr_m_args, new Expr(Expr.concat (_va_93)));
     4363      Expr[] _va_97 = { _c_182 , _ve_num , _c_55 , _ge_auxcall2.getExpr () , _c_181 };
     4364      _ve_pr_m_args = new Expr (_ve_pr_m_args, new Expr(Expr.concat (_va_97)));
    42254365    }
    42264366  }
     
    42294369  {
    42304370    Expr _ge_args__0 = _ve_args;
    4231     Expr _vs_n = _c_167;
     4371    Expr _vs_n = _c_176;
    42324372    Expr _ve_pr_m_args = Expr.empty;
    42334373    _exit__iter1: for ( ; ; )
     
    42384378          break _iter1;
    42394379        }
    4240         Expr[] _va_94 = { _c_174 , _ve_name , _c_168 };
    4241         _v_res1.assign (new Expr (new Expr(Expr.concat (_va_94)), _ve_pr_m_args));
     4380        Expr[] _va_98 = { _c_183 , _ve_name , _c_177 };
     4381        _v_res1.assign (new Expr (new Expr(Expr.concat (_va_98)), _ve_pr_m_args));
    42424382        break _exit__iter1;
    42434383      }
     
    42624402                break _block3__branch1;
    42634403              }
    4264               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_530_m_22 = (_v_len3 - _v_len4);
    4265               Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_530_m_22 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_530_m_22);
     4404              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_544_m_22 = (_v_len3 - _v_len4);
     4405              Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_544_m_22 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__cpprf_m_544_m_22);
    42664406              break _block3;
    42674407            }
    4268             if (!Compare._gt_ (_vs_n, _c_167))
     4408            if (!Compare._gt_ (_vs_n, _c_176))
    42694409            {
    42704410              break _block2__branch1;
    42714411            }
    42724412          }
    4273           Expr[] _va_95 = { _c_170 , _vs_n , _c_5 };
    4274           _ve_num = Expr.concat (_va_95);
     4413          Expr[] _va_99 = { _c_179 , _vs_n , _c_5 };
     4414          _ve_num = Expr.concat (_va_99);
    42754415          break _block2;
    42764416        }
    4277         _ve_num = _c_171;
     4417        _ve_num = _c_180;
    42784418      }
    42794419      Result _gs_auxcall1 = new Result ();
    4280       Arithm._p_ (_vs_n, _c_167, _gs_auxcall1);
     4420      Arithm._p_ (_vs_n, _c_176, _gs_auxcall1);
    42814421      Result _ge_auxcall2 = new Result ();
    42824422      CppMangle.Rfp2Cpp (_vt_arg, _ge_auxcall2);
    42834423      _ge_args__0 = _ve_rest;
    42844424      _vs_n = _gs_auxcall1.getExpr ();
    4285       Expr[] _va_96 = { _c_176 , _ve_num , _c_55 , _ge_auxcall2.getExpr () , _c_175 };
    4286       _ve_pr_m_args = new Expr (_ve_pr_m_args, new Expr(Expr.concat (_va_96)));
     4425      Expr[] _va_100 = { _c_185 , _ve_num , _c_55 , _ge_auxcall2.getExpr () , _c_184 };
     4426      _ve_pr_m_args = new Expr (_ve_pr_m_args, new Expr(Expr.concat (_va_100)));
    42874427    }
    42884428  }
     
    42904430  static private void Trace_m_Fail (Expr _ve_name, Result _v_res1) throws RefalException
    42914431  {
    4292     Expr[] _va_97 = { _c_177 , _ve_name , _c_168 };
    4293     _v_res1.assign (new Expr(Expr.concat (_va_97)));
     4432    Expr[] _va_101 = { _c_186 , _ve_name , _c_177 };
     4433    _v_res1.assign (new Expr(Expr.concat (_va_101)));
    42944434  }
    42954435
     
    43194459        int _v_len__n = (_v_len1 - _v_len2);
    43204460        Expr _ve_n = new Expr (_v_deref__name, 0, _v_len__n);
    4321         _v_res1.assign (_c_140);
     4461        _v_res1.assign (_c_145);
    43224462        _v_res2.assign (_ve_n);
    43234463        break _block1;
  • to-imperative/trunk/java/org/refal/plus/compiler/rfp__asail__java.java

    r2187 r2327  
    731731            Result _vs_acc = new Result ();
    732732            Box.Box (Expr.empty, _vs_acc);
    733             Result _va_18 = new Result ();
    734             Cond_m_To_m_Java (_vs_acc.getExpr (), _ve_cond, _va_18);
    735             _ve_cond = _va_18.getExpr ();
     733            Result _ge_cond__6 = new Result ();
     734            Cond_m_To_m_Java (_vs_acc.getExpr (), _ve_cond, _ge_cond__6);
    736735            Expr _ve_split_m_vars = Expr.empty;
    737736            _block8: {
     
    799798                Result _ge_auxcall14 = new Result ();
    800799                JavaMangle.Rfp2Java (_vt_var2, _ge_auxcall14);
    801                 Expr[] _va_19 = { _c_40 , _ge_auxcall13.getExpr () , _c_39 , _ve_new_m_var , _c_38 };
    802                 Expr[] _va_20 = { _c_40 , _ge_auxcall14.getExpr () , _c_39 , _ve_new_m_var , _c_41 };
    803                 _ve_split_m_vars = new Expr (new Expr(Expr.concat (_va_19)), new Expr(Expr.concat (_va_20)));
     800                Expr[] _va_18 = { _c_40 , _ge_auxcall13.getExpr () , _c_39 , _ve_new_m_var , _c_38 };
     801                Expr[] _va_19 = { _c_40 , _ge_auxcall14.getExpr () , _c_39 , _ve_new_m_var , _c_41 };
     802                _ve_split_m_vars = new Expr (new Expr(Expr.concat (_va_18)), new Expr(Expr.concat (_va_19)));
    804803                break _block8;
    805804              }
     
    815814            Result _ge_auxcall18 = new Result ();
    816815            ASAIL_m_To_m_Java (_ve_body, _ge_auxcall18);
    817             Expr[] _va_22 = { _ve_break , _ve_cont , _c_43 , _ve_cond , _c_42 , _ge_auxcall16.getExpr () , _c_31 };
    818             Expr[] _va_24 = { _ve_split_m_vars , _ge_auxcall17.getExpr () , _ge_auxcall18.getExpr () };
    819             Expr[] _va_23 = { _c_26 , new Expr(Expr.concat (_va_24)) , _c_8 };
    820             Expr[] _va_21 = { _ge_auxcall15.getExpr () , new Expr(Expr.concat (_va_22)) , new Expr(Expr.concat (_va_23)) };
    821             _ve_java_m_item = Expr.concat (_va_21);
     816            Expr[] _va_21 = { _ve_break , _ve_cont , _c_43 , _ge_cond__6.getExpr () , _c_42 , _ge_auxcall16.getExpr () , _c_31 };
     817            Expr[] _va_23 = { _ve_split_m_vars , _ge_auxcall17.getExpr () , _ge_auxcall18.getExpr () };
     818            Expr[] _va_22 = { _c_26 , new Expr(Expr.concat (_va_23)) , _c_8 };
     819            Expr[] _va_20 = { _ge_auxcall15.getExpr () , new Expr(Expr.concat (_va_21)) , new Expr(Expr.concat (_va_22)) };
     820            _ve_java_m_item = Expr.concat (_va_20);
    822821            break _block2;
    823822          }
     
    861860            Result _ge_auxcall20 = new Result ();
    862861            ASAIL_m_To_m_Java (_ve_body, _ge_auxcall20);
    863             Expr[] _va_25 = { _ge_auxcall19.getExpr () , _c_44 , new Expr(_ge_auxcall20.getExpr ()) , _c_8 };
    864             _ve_java_m_item = new Expr(Expr.concat (_va_25));
     862            Expr[] _va_24 = { _ge_auxcall19.getExpr () , _c_44 , new Expr(_ge_auxcall20.getExpr ()) , _c_8 };
     863            _ve_java_m_item = new Expr(Expr.concat (_va_24));
    865864            break _block2;
    866865          }
     
    893892            Result _ge_auxcall23 = new Result ();
    894893            ASAIL_m_To_m_Java (_ve_body, _ge_auxcall23);
    895             Expr[] _va_27 = { _c_48 , _ge_auxcall21.getExpr () , _c_47 , _ge_auxcall22.getExpr () , _c_46 };
    896             Expr[] _va_26 = { _c_26 , new Expr(new Expr (new Expr(new Expr (_c_49, new Expr(Expr.concat (_va_27)))), _ge_auxcall23.getExpr ())) , _c_8 };
    897             _ve_java_m_item = new Expr (_c_50, new Expr(Expr.concat (_va_26)));
     894            Expr[] _va_26 = { _c_48 , _ge_auxcall21.getExpr () , _c_47 , _ge_auxcall22.getExpr () , _c_46 };
     895            Expr[] _va_25 = { _c_26 , new Expr(new Expr (new Expr(new Expr (_c_49, new Expr(Expr.concat (_va_26)))), _ge_auxcall23.getExpr ())) , _c_8 };
     896            _ve_java_m_item = new Expr (_c_50, new Expr(Expr.concat (_va_25)));
    898897            break _block2;
    899898          }
     
    922921            Result _ge_auxcall24 = new Result ();
    923922            ASAIL_m_To_m_Java (_ve_body, _ge_auxcall24);
    924             Expr[] _va_28 = { _c_53 , new Expr(new Expr (_c_52, new Expr(_ge_auxcall24.getExpr ()))) , _c_8 };
    925             _ve_java_m_item = new Expr(Expr.concat (_va_28));
     923            Expr[] _va_27 = { _c_53 , new Expr(new Expr (_c_52, new Expr(_ge_auxcall24.getExpr ()))) , _c_8 };
     924            _ve_java_m_item = new Expr(Expr.concat (_va_27));
    926925            break _block2;
    927926          }
     
    951950            Result _ge_auxcall26 = new Result ();
    952951            Box._q_ (Func_m_Name, _ge_auxcall26);
    953             Expr[] _va_29 = { _c_48 , _ge_auxcall25.getExpr () , _c_47 , _ge_auxcall26.getExpr () , _c_57 };
    954             _ve_java_m_item = new Expr(Expr.concat (_va_29));
     952            Expr[] _va_28 = { _c_48 , _ge_auxcall25.getExpr () , _c_47 , _ge_auxcall26.getExpr () , _c_57 };
     953            _ve_java_m_item = new Expr(Expr.concat (_va_28));
    955954            break _block2;
    956955          }
     
    995994            Free_m_Index (_v_Free_m_Index1);
    996995            Expr _ve_new_m_var = new Expr (_c_59, _v_Free_m_Index1.getExpr ());
    997             Expr[] _va_30 = { _ve_new_m_var , _vt_var1 , _vt_var2 };
    998             Table.Bind (Iter_m_Vars, _vt_name, Expr.concat (_va_30));
     996            Expr[] _va_29 = { _ve_new_m_var , _vt_var1 , _vt_var2 };
     997            Table.Bind (Iter_m_Vars, _vt_name, Expr.concat (_va_29));
    999998            Result _vs_acc = new Result ();
    1000999            Box.Box (Expr.empty, _vs_acc);
    1001             Result _va_31 = new Result ();
    1002             Expr_m_Int_m_To_m_Java (_vs_acc.getExpr (), _ve_min, _va_31);
    1003             _ve_min = _va_31.getExpr ();
     1000            Result _va_30 = new Result ();
     1001            Expr_m_Int_m_To_m_Java (_vs_acc.getExpr (), _ve_min, _va_30);
     1002            _ve_min = _va_30.getExpr ();
    10041003            Result _ge_auxcall27 = new Result ();
    10051004            Box._q_ (_vs_acc.getExpr (), _ge_auxcall27);
    1006             Expr[] _va_33 = { _c_62 , _ve_new_m_var , _c_39 , _ve_n.getExpr () , _c_61 , _ve_min , _c_60 };
    1007             Expr[] _va_32 = { _ve_a.getExpr () , _ge_auxcall27.getExpr () , new Expr(Expr.concat (_va_33)) };
    1008             _ve_java_m_item = Expr.concat (_va_32);
     1005            Expr[] _va_32 = { _c_62 , _ve_new_m_var , _c_39 , _ve_n.getExpr () , _c_61 , _ve_min , _c_60 };
     1006            Expr[] _va_31 = { _ve_a.getExpr () , _ge_auxcall27.getExpr () , new Expr(Expr.concat (_va_32)) };
     1007            _ve_java_m_item = Expr.concat (_va_31);
    10091008            break _block2;
    10101009          }
     
    10491048            Free_m_Index (_v_Free_m_Index2);
    10501049            Expr _ve_new_m_var = new Expr (_c_59, _v_Free_m_Index2.getExpr ());
    1051             Expr[] _va_34 = { _ve_new_m_var , _vt_var1 , _vt_var2 };
    1052             Table.Bind (Iter_m_Vars, _vt_name, Expr.concat (_va_34));
     1050            Expr[] _va_33 = { _ve_new_m_var , _vt_var1 , _vt_var2 };
     1051            Table.Bind (Iter_m_Vars, _vt_name, Expr.concat (_va_33));
    10531052            Result _vs_acc = new Result ();
    10541053            Box.Box (Expr.empty, _vs_acc);
    1055             Result _va_35 = new Result ();
    1056             Expr_m_Int_m_To_m_Java (_vs_acc.getExpr (), _ve_min, _va_35);
    1057             _ve_min = _va_35.getExpr ();
     1054            Result _va_34 = new Result ();
     1055            Expr_m_Int_m_To_m_Java (_vs_acc.getExpr (), _ve_min, _va_34);
     1056            _ve_min = _va_34.getExpr ();
    10581057            Result _ge_auxcall28 = new Result ();
    10591058            Box._q_ (_vs_acc.getExpr (), _ge_auxcall28);
    1060             Expr[] _va_37 = { _c_62 , _ve_new_m_var , _c_39 , _ve_n.getExpr () , _c_64 , _ve_min , _c_60 };
    1061             Expr[] _va_36 = { _ve_a.getExpr () , _ge_auxcall28.getExpr () , new Expr(Expr.concat (_va_37)) };
    1062             _ve_java_m_item = Expr.concat (_va_36);
     1059            Expr[] _va_36 = { _c_62 , _ve_new_m_var , _c_39 , _ve_n.getExpr () , _c_64 , _ve_min , _c_60 };
     1060            Expr[] _va_35 = { _ve_a.getExpr () , _ge_auxcall28.getExpr () , new Expr(Expr.concat (_va_36)) };
     1061            _ve_java_m_item = Expr.concat (_va_35);
    10631062            break _block2;
    10641063          }
     
    10971096                  break _block10__branch1;
    10981097                }
    1099                 Expr.SplitIterator _va_38 = _v__q_2.getExpr ().leftSplit(0);
    1100                 _exit2: _continue2: for ( ; ; _va_38.next ())
     1098                Expr.SplitIterator _va_37 = _v__q_2.getExpr ().leftSplit(0);
     1099                _exit2: _continue2: for ( ; ; _va_37.next ())
    11011100                {
    1102                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__javarf_m_197_m_22 = _va_38.getLeft();
    1103                   Expr _v_lsplit___q_2 = _va_38.getRight();
    1104                   if (!_va_38.isValid ())
     1101                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__javarf_m_197_m_22 = _va_37.getLeft();
     1102                  Expr _v_lsplit___q_2 = _va_37.getRight();
     1103                  if (!_va_37.isValid ())
    11051104                  {
    11061105                    break _block10__branch1;
     
    11201119                  Result _ge_auxcall29 = new Result ();
    11211120                  JavaMangle.Rfp2Java (_vt_var, _ge_auxcall29);
    1122                   Expr[] _va_39 = { _ge_auxcall29.getExpr () , _c_66 , _ve_j_m_expr.getExpr () , _c_60 };
    1123                   _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_39)));
     1121                  Expr[] _va_38 = { _ge_auxcall29.getExpr () , _c_66 , _ve_j_m_expr.getExpr () , _c_60 };
     1122                  _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_38)));
    11241123                  break _exit2;
    11251124                }
     
    11321131                  break _block10__branch2;
    11331132                }
    1134                 Expr[] _va_40 = { _ge_auxcall30.getExpr () , _c_66 , _ve_j_m_expr.getExpr () , _c_60 };
    1135                 _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_40)));
     1133                Expr[] _va_39 = { _ge_auxcall30.getExpr () , _c_66 , _ve_j_m_expr.getExpr () , _c_60 };
     1134                _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_39)));
    11361135                break _block10;
    11371136              }
    11381137              Result _ge_auxcall31 = new Result ();
    11391138              JavaMangle.Rfp2Java (_vt_var, _ge_auxcall31);
    1140               Expr[] _va_41 = { _ge_auxcall31.getExpr () , _c_39 , _ve_j_m_expr.getExpr () , _c_67 };
    1141               _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_41)));
     1139              Expr[] _va_40 = { _ge_auxcall31.getExpr () , _c_39 , _ve_j_m_expr.getExpr () , _c_67 };
     1140              _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_40)));
    11421141            }
    11431142            break _block2;
     
    11801179                }
    11811180                Table.Bind (Result, _vt_var, _ve_j_m_var.getExpr ());
    1182                 Expr[] _va_42 = { _c_70 , _ve_j_m_var.getExpr () , _c_69 };
    1183                 _ve_java_m_item = new Expr(Expr.concat (_va_42));
     1181                Expr[] _va_41 = { _c_70 , _ve_j_m_var.getExpr () , _c_69 };
     1182                _ve_java_m_item = new Expr(Expr.concat (_va_41));
    11841183                break _block11;
    11851184              }
    11861185              Table.Unbind (Result, _vt_var);
    1187               Expr[] _va_43 = { _c_40 , _ve_j_m_var.getExpr () , _c_71 };
    1188               _ve_java_m_item = new Expr(Expr.concat (_va_43));
     1186              Expr[] _va_42 = { _c_40 , _ve_j_m_var.getExpr () , _c_71 };
     1187              _ve_java_m_item = new Expr(Expr.concat (_va_42));
    11891188            }
    11901189            break _block2;
     
    12151214            Result _vs_acc = new Result ();
    12161215            Box.Box (Expr.empty, _vs_acc);
    1217             Result _va_44 = new Result ();
    1218             Expr_m_Int_m_To_m_Java (_vs_acc.getExpr (), _ve_expr, _va_44);
    1219             _ve_expr = _va_44.getExpr ();
     1216            Result _va_43 = new Result ();
     1217            Expr_m_Int_m_To_m_Java (_vs_acc.getExpr (), _ve_expr, _va_43);
     1218            _ve_expr = _va_43.getExpr ();
    12201219            Result _ge_auxcall32 = new Result ();
    12211220            Box._q_ (_vs_acc.getExpr (), _ge_auxcall32);
    12221221            Result _ge_auxcall33 = new Result ();
    12231222            JavaMangle.Rfp2Java (_vt_var, _ge_auxcall33);
    1224             Expr[] _va_45 = { _c_72 , _ge_auxcall33.getExpr () , _c_39 , _ve_expr , _c_67 };
    1225             _ve_java_m_item = new Expr (_ge_auxcall32.getExpr (), new Expr(Expr.concat (_va_45)));
     1223            Expr[] _va_44 = { _c_72 , _ge_auxcall33.getExpr () , _c_39 , _ve_expr , _c_67 };
     1224            _ve_java_m_item = new Expr (_ge_auxcall32.getExpr (), new Expr(Expr.concat (_va_44)));
    12261225            break _block2;
    12271226          }
     
    12551254            Result _ge_auxcall34 = new Result ();
    12561255            JavaMangle.Rfp2Java (_vt_var, _ge_auxcall34);
    1257             Expr[] _va_46 = { _c_40 , _ge_auxcall34.getExpr () , _c_39 , _ve_j_m_expr.getExpr () , _c_67 };
    1258             _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_46)));
     1256            Expr[] _va_45 = { _c_40 , _ge_auxcall34.getExpr () , _c_39 , _ve_j_m_expr.getExpr () , _c_67 };
     1257            _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_45)));