Changeset 2012


Ignore:
Timestamp:
Jul 7, 2006, 6:00:39 PM (14 years ago)
Author:
orlov
Message:
  • Fresh-generated compiler sources.
Location:
to-imperative/trunk/bootstrap/compiler
Files:
2 added
20 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/bootstrap/compiler/Makefile

    r1875 r2012  
    1414  rfp_src \
    1515  rfp_asail_cpp \
     16  rfp_asail_tpp \
    1617  rfp_asail_java \
    1718  rfp_as2as \
  • to-imperative/trunk/bootstrap/compiler/file_list

    r1871 r2012  
    66rfp_src
    77rfp_asail_cpp
     8rfp_asail_tpp
    89rfp_asail_java
    910rfp_as2as
  • to-imperative/trunk/bootstrap/compiler/rfp-filt.cc

    r1894 r2012  
    116116{
    117117  _c_0 = Expr::create<Integer>("1");
    118   _c_1 = Char::create_expr ("-r");
     118  _c_1 = Char::create_expr (L"-r");
    119119  _c_2 = Expr::create_sym<Func> (To_m_Rfp);
    120120  _c_3 = Expr::create_sym<Func> (To_m_Cpp);
  • to-imperative/trunk/bootstrap/compiler/rfp_asail2asail.cc

    r1894 r2012  
    11#include <rf_core.hh>
    22#include <refal/Arithm.hh>
     3#include <refal/List.hh>
     4#include <refal/Box.hh>
     5#include <refal/Table.hh>
     6#include "rfp_helper.hh"
    37#include <refal/StdIO.hh>
    4 #include <refal/List.hh>
    58
    69namespace refal
     
    1417RF_DECL (Simplify_m_ASAIL);
    1518
     19RF_DECL (Simplify);
     20
     21static Expr Blocks;
     22
     23static Expr Breaks;
     24
     25static Expr Last_m_Breaks;
     26
     27RF_DECL (GetR);
     28
     29RF_DECL (Remove_m_Unreachable);
     30
    1631RF_DECL (Simplify_m_Infix);
    1732
     
    4055static Expr _c_4;
    4156
     57static Expr _c_5;
     58
     59static Expr _c_6;
     60
     61static Expr _c_7;
     62
     63static Expr _c_8;
     64
     65static Expr _c_9;
     66
     67static Expr _c_10;
     68
     69static Expr _c_11;
     70
     71static Expr _c_12;
     72
     73static Expr _c_13;
     74
     75static Expr _c_14;
     76
     77static Expr _c_15;
     78
     79static Expr _c_16;
     80
    4281static Expr _c_17;
    4382
    44 static Expr _c_5;
    45 
    46 static Expr _c_6;
    47 
    48 static Expr _c_7;
    49 
    50 static Expr _c_8;
    51 
    52 static Expr _c_9;
    53 
    54 static Expr _c_10;
    55 
    56 static Expr _c_11;
    57 
    58 static Expr _c_12;
    59 
    60 static Expr _c_13;
    61 
    62 static Expr _c_14;
    63 
    64 static Expr _c_15;
    65 
    66 static Expr _c_16;
    67 
    6883static Expr _c_18;
    6984
    70 RF_FUNC (Simplify_m_ASAIL, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
     85static Expr _c_19;
     86
     87static Expr _c_32;
     88
     89static Expr _c_20;
     90
     91static Expr _c_21;
     92
     93static Expr _c_22;
     94
     95static Expr _c_23;
     96
     97static Expr _c_24;
     98
     99static Expr _c_25;
     100
     101static Expr _c_26;
     102
     103static Expr _c_27;
     104
     105static Expr _c_28;
     106
     107static Expr _c_29;
     108
     109static Expr _c_30;
     110
     111static Expr _c_31;
     112
     113static Expr _c_33;
     114
     115RF_FUNC (Simplify_m_ASAIL, (RF_ARG _ve_asail;;), (RF_RES _v_res1;;))
     116  Expr _v_Simplify1;
     117  RF_CALL (Simplify, _ve_asail, _v_Simplify1);
     118  RF_TAILCALL (Remove_m_Unreachable, _v_Simplify1, _v_res1);
     119RF_END
     120
     121RF_FUNC (Simplify, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
    71122  {
    72123    {
     
    138189                goto _block3__branch2;
    139190              }
    140               RF_CALL (Simplify_m_ASAIL, _ve_body, _ve_first);
     191              RF_CALL (Simplify, _ve_body, _ve_first);
    141192              goto _block3;
    142193            }
     
    150201            uintptr_t _v_len__c = (_v_len7 - _v_len8);
    151202            Expr _ve_c (_v_Map1, 0, _v_len__c);
    152             Expr _v_Simplify_m_ASAIL1;
    153             RF_CALL (Simplify_m_ASAIL, _ve_body, _v_Simplify_m_ASAIL1);
    154             _ve_first = (_c_0 + _ve_c () + _v_Simplify_m_ASAIL1) ();
     203            Expr _v_Simplify1;
     204            RF_CALL (Simplify, _ve_body, _v_Simplify1);
     205            _ve_first = (_c_0 + _ve_c () + _v_Simplify1) ();
    155206          }
    156207        _block3: {}
     
    197248          uintptr_t _v_len__1 = (_v_len11 - _v_len12);
    198249          Expr _ve_1 (_v_deref__first3, 0, _v_len__1);
    199           Expr _v_Simplify_m_ASAIL2;
    200           RF_CALL (Simplify_m_ASAIL, _ve_1, _v_Simplify_m_ASAIL2);
    201           _ve_first = _v_Simplify_m_ASAIL2 ();
     250          Expr _v_Simplify2;
     251          RF_CALL (Simplify, _ve_1, _v_Simplify2);
     252          _ve_first = _v_Simplify2 ();
    202253          goto _block2;
    203254        }
     
    211262      }
    212263    _block2: {}
    213       Expr _v_Simplify_m_ASAIL3;
    214       RF_CALL (Simplify_m_ASAIL, _ve_rest, _v_Simplify_m_ASAIL3);
    215       _v_res1 = (_ve_first + _v_Simplify_m_ASAIL3);
     264      Expr _v_Simplify3;
     265      RF_CALL (Simplify, _ve_rest, _v_Simplify3);
     266      _v_res1 = (_ve_first + _v_Simplify3);
    216267      goto _block1;
    217268    }
     
    226277RF_END
    227278
     279RF_FUNC (GetR, (RF_ARG _vs_box;;), (RF_RES _v_res1;;))
     280  Expr _v__q_1;
     281  RF_CALL (Box::_q_, _vs_box, _v__q_1);
     282  uintptr_t _v_len1 = _v__q_1.get_len ();
     283  uintptr_t _v_len2 = 1;
     284  if ((_v_len1 < _v_len2))
     285  {
     286    RF_FUNC_ERROR (unexpected_fail);
     287  }
     288  uintptr_t _v_len__1 = (_v_len1 - _v_len2);
     289  Expr _ve_1 (_v__q_1, 0, _v_len__1);
     290  Expr _vt_2 (_v__q_1, _v_len__1, 1);
     291  RF_CALL (Box::Store, (_vs_box, _ve_1), /*void*/);
     292  _v_res1 = _vt_2;
     293RF_END
     294
     295RF_FUNC (Remove_m_Unreachable, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
     296  {
     297    {
     298      uintptr_t _v_len1 = _v_arg1.get_len ();
     299      uintptr_t _v_len2 = 1;
     300      if ((_v_len1 < _v_len2))
     301      {
     302        goto _block1__branch1;
     303      }
     304      uintptr_t _v_len__2 = (_v_len1 - _v_len2);
     305      Expr _vt_1 (_v_arg1, 0, 1);
     306      Expr _ve_2 (_v_arg1, 1, _v_len__2);
     307      Expr _ve_body;
     308      {
     309        {
     310          if (_vt_1.symbol_at (0))
     311          {
     312            goto _block2__branch1;
     313          }
     314          Expr _v_deref__1 (_vt_1, 0);
     315          uintptr_t _v_len3 = _v_deref__1.get_len ();
     316          uintptr_t _v_len4 = 4;
     317          if ((_v_len3 < _v_len4))
     318          {
     319            goto _block2__branch1;
     320          }
     321          uintptr_t _v_len__body__1 = (_v_len3 - _v_len4);
     322          if (!_c_5.term_eq (_v_deref__1, 0))
     323          {
     324            goto _block2__branch1;
     325          }
     326          Expr _vt_name (_v_deref__1, 1, 1);
     327          Expr _vt_in (_v_deref__1, 2, 1);
     328          Expr _vt_out (_v_deref__1, 3, 1);
     329          Expr _v_body__1 (_v_deref__1, 4, _v_len__body__1);
     330          RF_CALL (Box::Put, (Blocks, (_c_5 + _vt_name + _vt_in + _vt_out) ()), /*void*/);
     331          RF_CALL (rfp__helper::RFP_m_Clear_m_Table, Breaks, /*void*/);
     332          _ve_body = _v_body__1;
     333          goto _block2;
     334        }
     335      _block2__branch1: {}
     336        {
     337          if (_vt_1.symbol_at (0))
     338          {
     339            goto _block2__branch2;
     340          }
     341          Expr _v_deref__12 (_vt_1, 0);
     342          uintptr_t _v_len5 = _v_deref__12.get_len ();
     343          uintptr_t _v_len6 = 4;
     344          if ((_v_len5 < _v_len6))
     345          {
     346            goto _block2__branch2;
     347          }
     348          uintptr_t _v_len__body__12 = (_v_len5 - _v_len6);
     349          if (!_c_6.term_eq (_v_deref__12, 0))
     350          {
     351            goto _block2__branch2;
     352          }
     353          Expr _vt_name (_v_deref__12, 1, 1);
     354          Expr _vt_in (_v_deref__12, 2, 1);
     355          Expr _vt_out (_v_deref__12, 3, 1);
     356          Expr _v_body__1 (_v_deref__12, 4, _v_len__body__12);
     357          RF_CALL (Box::Put, (Blocks, (_c_6 + _vt_name + _vt_in + _vt_out) ()), /*void*/);
     358          RF_CALL (rfp__helper::RFP_m_Clear_m_Table, Breaks, /*void*/);
     359          _ve_body = _v_body__1;
     360          goto _block2;
     361        }
     362      _block2__branch2: {}
     363        {
     364          if (_vt_1.symbol_at (0))
     365          {
     366            goto _block2__branch3;
     367          }
     368          Expr _v_deref__13 (_vt_1, 0);
     369          uintptr_t _v_len7 = _v_deref__13.get_len ();
     370          uintptr_t _v_len8 = 5;
     371          if ((_v_len7 < _v_len8))
     372          {
     373            goto _block2__branch3;
     374          }
     375          uintptr_t _v_len__body__13 = (_v_len7 - _v_len8);
     376          if (_v_deref__13.symbol_at (1))
     377          {
     378            goto _block2__branch3;
     379          }
     380          if (_v_deref__13.symbol_at (2))
     381          {
     382            goto _block2__branch3;
     383          }
     384          if (_v_deref__13.symbol_at (3))
     385          {
     386            goto _block2__branch3;
     387          }
     388          if (_v_deref__13.symbol_at (4))
     389          {
     390            goto _block2__branch3;
     391          }
     392          Expr _v_deref__deref__13 (_v_deref__13, 1);
     393          Expr _v_deref__deref__132 (_v_deref__13, 2);
     394          Expr _v_deref__deref__133 (_v_deref__13, 3);
     395          Expr _v_deref__deref__134 (_v_deref__13, 4);
     396          uintptr_t _v_len9 = _v_deref__deref__13.get_len ();
     397          uintptr_t _v_len10 = 0;
     398          if ((_v_len9 < _v_len10))
     399          {
     400            goto _block2__branch3;
     401          }
     402          uintptr_t _v_len__cont = (_v_len9 - _v_len10);
     403          uintptr_t _v_len11 = _v_deref__deref__132.get_len ();
     404          uintptr_t _v_len12 = 0;
     405          if ((_v_len11 < _v_len12))
     406          {
     407            goto _block2__branch3;
     408          }
     409          uintptr_t _v_len__break = (_v_len11 - _v_len12);
     410          uintptr_t _v_len13 = _v_deref__deref__134.get_len ();
     411          uintptr_t _v_len14 = 0;
     412          if ((_v_len13 < _v_len14))
     413          {
     414            goto _block2__branch3;
     415          }
     416          uintptr_t _v_len__step = (_v_len13 - _v_len14);
     417          uintptr_t _v_len15 = _v_deref__deref__133.get_len ();
     418          uintptr_t _v_len16 = 0;
     419          if ((_v_len15 < _v_len16))
     420          {
     421            goto _block2__branch3;
     422          }
     423          uintptr_t _v_len__cond = (_v_len15 - _v_len16);
     424          if (!_c_7.term_eq (_v_deref__13, 0))
     425          {
     426            goto _block2__branch3;
     427          }
     428          Expr _v_body__1 (_v_deref__13, 5, _v_len__body__13);
     429          Expr _ve_cont (_v_deref__deref__13, 0, _v_len__cont);
     430          Expr _ve_break (_v_deref__deref__132, 0, _v_len__break);
     431          Expr _ve_cond (_v_deref__deref__133, 0, _v_len__cond);
     432          Expr _ve_step (_v_deref__deref__134, 0, _v_len__step);
     433          RF_CALL (Box::Put, (Blocks, (_c_7 + _ve_cont () + _ve_break () + _ve_cond () + _ve_step ()) ()), /*void*/);
     434          _ve_body = _v_body__1;
     435          goto _block2;
     436        }
     437      _block2__branch3: {}
     438        {
     439          if (_vt_1.symbol_at (0))
     440          {
     441            goto _block2__branch4;
     442          }
     443          Expr _v_deref__14 (_vt_1, 0);
     444          uintptr_t _v_len17 = _v_deref__14.get_len ();
     445          uintptr_t _v_len18 = 2;
     446          if ((_v_len17 < _v_len18))
     447          {
     448            goto _block2__branch4;
     449          }
     450          uintptr_t _v_len__body__14 = (_v_len17 - _v_len18);
     451          if (_v_deref__14.symbol_at (1))
     452          {
     453            goto _block2__branch4;
     454          }
     455          Expr _v_deref__deref__14 (_v_deref__14, 1);
     456          if ((_v_deref__deref__14.get_len () != 1))
     457          {
     458            goto _block2__branch4;
     459          }
     460          if (!_c_8.term_eq (_v_deref__14, 0))
     461          {
     462            goto _block2__branch4;
     463          }
     464          Expr _v_body__1 (_v_deref__14, 2, _v_len__body__14);
     465          Expr _vt_label (_v_deref__deref__14, 0, 1);
     466          RF_CALL (Box::Put, (Blocks, (_c_8 + _vt_label ()) ()), /*void*/);
     467          _ve_body = _v_body__1;
     468          goto _block2;
     469        }
     470      _block2__branch4: {}
     471        {
     472          if (_vt_1.symbol_at (0))
     473          {
     474            goto _block2__branch5;
     475          }
     476          Expr _v_deref__15 (_vt_1, 0);
     477          uintptr_t _v_len19 = _v_deref__15.get_len ();
     478          uintptr_t _v_len20 = 2;
     479          if ((_v_len19 < _v_len20))
     480          {
     481            goto _block2__branch5;
     482          }
     483          uintptr_t _v_len__body__15 = (_v_len19 - _v_len20);
     484          if (_v_deref__15.symbol_at (1))
     485          {
     486            goto _block2__branch5;
     487          }
     488          Expr _v_deref__deref__15 (_v_deref__15, 1);
     489          uintptr_t _v_len21 = _v_deref__deref__15.get_len ();
     490          uintptr_t _v_len22 = 0;
     491          if ((_v_len21 < _v_len22))
     492          {
     493            goto _block2__branch5;
     494          }
     495          uintptr_t _v_len__cond2 = (_v_len21 - _v_len22);
     496          if (!_c_0.term_eq (_v_deref__15, 0))
     497          {
     498            goto _block2__branch5;
     499          }
     500          Expr _v_body__1 (_v_deref__15, 2, _v_len__body__15);
     501          Expr _ve_cond (_v_deref__deref__15, 0, _v_len__cond2);
     502          RF_CALL (Box::Put, (Blocks, (_c_0 + _ve_cond ()) ()), /*void*/);
     503          _ve_body = _v_body__1;
     504          goto _block2;
     505        }
     506      _block2__branch5: {}
     507        {
     508          if (_vt_1.symbol_at (0))
     509          {
     510            goto _block2__branch6;
     511          }
     512          Expr _v_deref__16 (_vt_1, 0);
     513          uintptr_t _v_len23 = _v_deref__16.get_len ();
     514          uintptr_t _v_len24 = 1;
     515          if ((_v_len23 < _v_len24))
     516          {
     517            goto _block2__branch6;
     518          }
     519          uintptr_t _v_len__body__16 = (_v_len23 - _v_len24);
     520          if (!_c_9.term_eq (_v_deref__16, 0))
     521          {
     522            goto _block2__branch6;
     523          }
     524          Expr _v_body__1 (_v_deref__16, 1, _v_len__body__16);
     525          RF_CALL (Box::Put, (Blocks, _c_10), /*void*/);
     526          _ve_body = _v_body__1;
     527          goto _block2;
     528        }
     529      _block2__branch6: {}
     530        if (_vt_1.symbol_at (0))
     531        {
     532          goto _block1__branch1;
     533        }
     534        Expr _v_deref__17 (_vt_1, 0);
     535        uintptr_t _v_len25 = _v_deref__17.get_len ();
     536        uintptr_t _v_len26 = 1;
     537        if ((_v_len25 < _v_len26))
     538        {
     539          goto _block1__branch1;
     540        }
     541        uintptr_t _v_len__body__17 = (_v_len25 - _v_len26);
     542        if (!_c_11.term_eq (_v_deref__17, 0))
     543        {
     544          goto _block1__branch1;
     545        }
     546        Expr _v_body__1 (_v_deref__17, 1, _v_len__body__17);
     547        RF_CALL (Box::Put, (Blocks, _c_12), /*void*/);
     548        _ve_body = _v_body__1;
     549      }
     550    _block2: {}
     551      RF_CALL (Box::Put, (Last_m_Breaks, _c_13), /*void*/);
     552      RF_CALL (Remove_m_Unreachable, _ve_body, _ve_body);
     553      Expr _v_GetR1;
     554      RF_CALL (GetR, Blocks, _v_GetR1);
     555      Expr _ve_t1;
     556      {
     557        {
     558          if (_v_GetR1.symbol_at (0))
     559          {
     560            goto _block3__branch1;
     561          }
     562          Expr _v_deref__GetR1 (_v_GetR1, 0);
     563          if ((_v_deref__GetR1.get_len () != 2))
     564          {
     565            goto _block3__branch1;
     566          }
     567          if (_v_deref__GetR1.symbol_at (1))
     568          {
     569            goto _block3__branch1;
     570          }
     571          Expr _v_deref__deref__GetR1 (_v_deref__GetR1, 1);
     572          if ((_v_deref__deref__GetR1.get_len () != 1))
     573          {
     574            goto _block3__branch1;
     575          }
     576          if (!_c_8.term_eq (_v_deref__GetR1, 0))
     577          {
     578            goto _block3__branch1;
     579          }
     580          Expr _vt_label (_v_deref__deref__GetR1, 0, 1);
     581          {
     582            {
     583              if (!RF_CALL (Table::In_m_Table_q_, (Breaks, _vt_label), /*void*/))
     584              {
     585                goto _block4__branch1;
     586              }
     587              _ve_t1 = (_c_8 + _vt_label () + _ve_body) ();
     588              goto _block4;
     589            }
     590          _block4__branch1: {}
     591            {
     592              {
     593                Expr _v__q_1;
     594                RF_CALL (Box::_q_, Blocks, _v__q_1);
     595                uintptr_t _v_len27 = _v__q_1.get_len ();
     596                uintptr_t _v_len28 = 1;
     597                if ((_v_len27 < _v_len28))
     598                {
     599                  goto _block5__branch1;
     600                }
     601                uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_68_m_26 = (_v_len27 - _v_len28);
     602                if (_v__q_1.symbol_at (_v_len___e__e_tmp_m_rfp__asail2asailrf_m_68_m_26))
     603                {
     604                  goto _block5__branch1;
     605                }
     606                Expr _v_deref___q_1 (_v__q_1, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_68_m_26);
     607                if ((_v_deref___q_1.get_len () != 2))
     608                {
     609                  goto _block5__branch1;
     610                }
     611                if (_v_deref___q_1.symbol_at (1))
     612                {
     613                  goto _block5__branch1;
     614                }
     615                Expr _v_deref__deref___q_1 (_v_deref___q_1, 1);
     616                if ((_v_deref__deref___q_1.get_len () != 1))
     617                {
     618                  goto _block5__branch1;
     619                }
     620                if (!_c_8.term_eq (_v_deref___q_1, 0))
     621                {
     622                  goto _block5__branch1;
     623                }
     624                Expr _ve__e__e_tmp_m_rfp__asail2asailrf_m_68_m_26 (_v__q_1, 0, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_68_m_26);
     625                Expr _vt_other_m_label (_v_deref__deref___q_1, 0, 1);
     626                Expr _v_Lookup1;
     627                if (!RF_CALL (Table::Lookup, (Breaks, _vt_other_m_label), _v_Lookup1))
     628                {
     629                  goto _block5__branch1;
     630                }
     631                if ((_v_Lookup1.get_len () != 0))
     632                {
     633                  goto _block5__branch1;
     634                }
     635                RF_CALL (Table::Unbind, (Breaks, _vt_other_m_label), /*void*/);
     636                goto _block5;
     637              }
     638            _block5__branch1: {}
     639            }
     640          _block5: {}
     641            _ve_t1 = empty;
     642            _ve_2 = (_ve_body + _ve_2);
     643          }
     644        _block4: {}
     645          goto _block3;
     646        }
     647      _block3__branch1: {}
     648        {
     649          if (_v_GetR1.symbol_at (0))
     650          {
     651            goto _block3__branch2;
     652          }
     653          Expr _v_deref__GetR12 (_v_GetR1, 0);
     654          if ((_v_deref__GetR12.get_len () != 5))
     655          {
     656            goto _block3__branch2;
     657          }
     658          if (_v_deref__GetR12.symbol_at (1))
     659          {
     660            goto _block3__branch2;
     661          }
     662          if (_v_deref__GetR12.symbol_at (2))
     663          {
     664            goto _block3__branch2;
     665          }
     666          if (_v_deref__GetR12.symbol_at (4))
     667          {
     668            goto _block3__branch2;
     669          }
     670          Expr _v_deref__deref__GetR12 (_v_deref__GetR12, 1);
     671          Expr _v_deref__deref__GetR122 (_v_deref__GetR12, 2);
     672          Expr _v_deref__deref__GetR123 (_v_deref__GetR12, 4);
     673          uintptr_t _v_len29 = _v_deref__deref__GetR12.get_len ();
     674          uintptr_t _v_len30 = 0;
     675          if ((_v_len29 < _v_len30))
     676          {
     677            goto _block3__branch2;
     678          }
     679          uintptr_t _v_len__cont2 = (_v_len29 - _v_len30);
     680          uintptr_t _v_len31 = _v_deref__deref__GetR123.get_len ();
     681          uintptr_t _v_len32 = 0;
     682          if ((_v_len31 < _v_len32))
     683          {
     684            goto _block3__branch2;
     685          }
     686          uintptr_t _v_len__step2 = (_v_len31 - _v_len32);
     687          uintptr_t _v_len33 = _v_deref__deref__GetR122.get_len ();
     688          uintptr_t _v_len34 = 0;
     689          if ((_v_len33 < _v_len34))
     690          {
     691            goto _block3__branch2;
     692          }
     693          uintptr_t _v_len__break2 = (_v_len33 - _v_len34);
     694          if (!_c_7.term_eq (_v_deref__GetR12, 0))
     695          {
     696            goto _block3__branch2;
     697          }
     698          if (!_c_13.term_eq (_v_deref__GetR12, 3))
     699          {
     700            goto _block3__branch2;
     701          }
     702          Expr _ve_cont (_v_deref__deref__GetR12, 0, _v_len__cont2);
     703          Expr _ve_break (_v_deref__deref__GetR122, 0, _v_len__break2);
     704          Expr _ve_step (_v_deref__deref__GetR123, 0, _v_len__step2);
     705          {
     706            {
     707              if (!RF_CALL (Table::In_m_Table_q_, (Breaks, _ve_break), /*void*/))
     708              {
     709                goto _block6__branch1;
     710              }
     711              _ve_t1 = (_c_7 + _ve_cont () + _ve_break () + _c_13 + _ve_step () + _ve_body) ();
     712              goto _block6;
     713            }
     714          _block6__branch1: {}
     715            _ve_t1 = (_c_7 + _ve_cont () + _ve_break () + _c_13 + _ve_step () + _ve_body) ();
     716            _ve_2 = empty;
     717          }
     718        _block6: {}
     719          goto _block3;
     720        }
     721      _block3__branch2: {}
     722        {
     723          if (!_v_GetR1.term_eq (_c_12, 0))
     724          {
     725            goto _block3__branch3;
     726          }
     727          _ve_t1 = (_c_11 + _ve_body) ();
     728          _ve_2 = empty;
     729          goto _block3;
     730        }
     731      _block3__branch3: {}
     732        if (_v_GetR1.symbol_at (0))
     733        {
     734          RF_FUNC_ERROR (unexpected_fail);
     735        }
     736        Expr _v_deref__GetR13 (_v_GetR1, 0);
     737        uintptr_t _v_len35 = _v_deref__GetR13.get_len ();
     738        uintptr_t _v_len36 = 0;
     739        if ((_v_len35 < _v_len36))
     740        {
     741          RF_FUNC_ERROR (unexpected_fail);
     742        }
     743        uintptr_t _v_len__item = (_v_len35 - _v_len36);
     744        Expr _ve_item (_v_deref__GetR13, 0, _v_len__item);
     745        _ve_t1 = (_ve_item + _ve_body) ();
     746      }
     747    _block3: {}
     748      Expr _vt_breaks;
     749      RF_CALL (GetR, Last_m_Breaks, _vt_breaks);
     750      {
     751        uintptr_t _v_len37 = _ve_t1.get_len ();
     752        uintptr_t _v_len38 = 0;
     753        if ((_v_len37 < (_v_len38 + 1)))
     754        {
     755          goto _block7__branch1;
     756        }
     757        uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_84_m_15 = (_v_len37 - _v_len38);
     758        if (_vt_breaks.symbol_at (0))
     759        {
     760          goto _block7__branch1;
     761        }
     762        Expr _v_deref__breaks (_vt_breaks, 0);
     763        if ((_v_deref__breaks.get_len () < 1))
     764        {
     765          goto _block7__branch1;
     766        }
     767        Expr _vv__e__e_tmp_m_rfp__asail2asailrf_m_84_m_15 (_ve_t1, 0, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_84_m_15);
     768        RF_lsplit (_v_deref__breaks, 0, _ve__e__e_tmp_m_rfp__asail2asailrf_m_85_m_22, _v_lsplit__deref__breaks);
     769        for ( ; ; RF_iter(_v_deref__breaks)++)
     770        {
     771          {
     772            if (!RF_iter(_v_deref__breaks))
     773            {
     774              goto _block7__branch1;
     775            }
     776            uintptr_t _v_len39 = _v_lsplit__deref__breaks.get_len ();
     777            uintptr_t _v_len40 = 1;
     778            if ((_v_len39 < _v_len40))
     779            {
     780              goto _block7__branch1;
     781            }
     782            uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_85_m_28 = (_v_len39 - _v_len40);
     783            Expr _vt_l (_v_lsplit__deref__breaks, 0, 1);
     784            Expr _ve__e__e_tmp_m_rfp__asail2asailrf_m_85_m_28 (_v_lsplit__deref__breaks, 1, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_85_m_28);
     785            RF_CALL (Table::Bind, (Breaks, _vt_l, _c_14), /*void*/);
     786            goto _continue1;
     787          }
     788      _continue1: {}
     789        }
     790      }
     791    _block7__branch1: {}
     792      Expr _v_Remove_m_Unreachable1;
     793      RF_CALL (Remove_m_Unreachable, _ve_2, _v_Remove_m_Unreachable1);
     794      _v_res1 = (_ve_t1 + _v_Remove_m_Unreachable1);
     795      goto _block1;
     796    }
     797  _block1__branch1: {}
     798    {
     799      uintptr_t _v_len41 = _v_arg1.get_len ();
     800      uintptr_t _v_len42 = 1;
     801      if ((_v_len41 < _v_len42))
     802      {
     803        goto _block1__branch2;
     804      }
     805      uintptr_t _v_len__22 = (_v_len41 - _v_len42);
     806      Expr _vt_1 (_v_arg1, 0, 1);
     807      Expr _ve_2 (_v_arg1, 1, _v_len__22);
     808      {
     809        {
     810          if (_vt_1.symbol_at (0))
     811          {
     812            goto _block8__branch1;
     813          }
     814          Expr _v_deref__18 (_vt_1, 0);
     815          if ((_v_deref__18.get_len () != 2))
     816          {
     817            goto _block8__branch1;
     818          }
     819          if (!_c_15.term_eq (_v_deref__18, 0))
     820          {
     821            goto _block8__branch1;
     822          }
     823          Expr _vt_label (_v_deref__18, 1, 1);
     824          Expr _v_GetR2;
     825          RF_CALL (GetR, Last_m_Breaks, _v_GetR2);
     826          if (_v_GetR2.symbol_at (0))
     827          {
     828            RF_FUNC_ERROR (unexpected_fail);
     829          }
     830          Expr _v_deref__GetR2 (_v_GetR2, 0);
     831          uintptr_t _v_len43 = _v_deref__GetR2.get_len ();
     832          uintptr_t _v_len44 = 0;
     833          if ((_v_len43 < _v_len44))
     834          {
     835            RF_FUNC_ERROR (unexpected_fail);
     836          }
     837          uintptr_t _v_len__breaks = (_v_len43 - _v_len44);
     838          Expr _ve_breaks (_v_deref__GetR2, 0, _v_len__breaks);
     839          RF_CALL (Box::Put, (Last_m_Breaks, (_ve_breaks + _vt_label) ()), /*void*/);
     840          {
     841            {
     842              Expr _v__q_2;
     843              RF_CALL (Box::_q_, Blocks, _v__q_2);
     844              uintptr_t _v_len45 = _v__q_2.get_len ();
     845              uintptr_t _v_len46 = 1;
     846              if ((_v_len45 < _v_len46))
     847              {
     848                goto _block9__branch1;
     849              }
     850              uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_95_m_24 = (_v_len45 - _v_len46);
     851              if (_v__q_2.symbol_at (_v_len___e__e_tmp_m_rfp__asail2asailrf_m_95_m_24))
     852              {
     853                goto _block9__branch1;
     854              }
     855              Expr _v_deref___q_2 (_v__q_2, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_95_m_24);
     856              if ((_v_deref___q_2.get_len () != 2))
     857              {
     858                goto _block9__branch1;
     859              }
     860              if (_v_deref___q_2.symbol_at (1))
     861              {
     862                goto _block9__branch1;
     863              }
     864              Expr _v_deref__deref___q_2 (_v_deref___q_2, 1);
     865              if ((_v_deref__deref___q_2.get_len () != 1))
     866              {
     867                goto _block9__branch1;
     868              }
     869              if (!_c_8.term_eq (_v_deref___q_2, 0))
     870              {
     871                goto _block9__branch1;
     872              }
     873              if (!_vt_label.term_eq (_v_deref__deref___q_2, 0))
     874              {
     875                goto _block9__branch1;
     876              }
     877              Expr _ve__e__e_tmp_m_rfp__asail2asailrf_m_95_m_24 (_v__q_2, 0, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_95_m_24);
     878              _v_res1 = empty;
     879              goto _block9;
     880            }
     881          _block9__branch1: {}
     882            RF_CALL (Table::Bind, (Breaks, _vt_label, empty), /*void*/);
     883            _v_res1 = _vt_1;
     884          }
     885        _block9: {}
     886          goto _block8;
     887        }
     888      _block8__branch1: {}
     889        {
     890          if (_vt_1.symbol_at (0))
     891          {
     892            goto _block8__branch2;
     893          }
     894          Expr _v_deref__19 (_vt_1, 0);
     895          if ((_v_deref__19.get_len () != 2))
     896          {
     897            goto _block8__branch2;
     898          }
     899          if (!_c_16.term_eq (_v_deref__19, 0))
     900          {
     901            goto _block8__branch2;
     902          }
     903          Expr _vt_label (_v_deref__19, 1, 1);
     904          {
     905            {
     906              Expr _v__q_3;
     907              RF_CALL (Box::_q_, Blocks, _v__q_3);
     908              uintptr_t _v_len47 = _v__q_3.get_len ();
     909              uintptr_t _v_len48 = 1;
     910              if ((_v_len47 < _v_len48))
     911              {
     912                goto _block10__branch1;
     913              }
     914              uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_99_m_22 = (_v_len47 - _v_len48);
     915              if (_v__q_3.symbol_at (_v_len___e__e_tmp_m_rfp__asail2asailrf_m_99_m_22))
     916              {
     917                goto _block10__branch1;
     918              }
     919              Expr _v_deref___q_3 (_v__q_3, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_99_m_22);
     920              if ((_v_deref___q_3.get_len () != 5))
     921              {
     922                goto _block10__branch1;
     923              }
     924              if (_v_deref___q_3.symbol_at (1))
     925              {
     926                goto _block10__branch1;
     927              }
     928              if (_v_deref___q_3.symbol_at (2))
     929              {
     930                goto _block10__branch1;
     931              }
     932              if (_v_deref___q_3.symbol_at (3))
     933              {
     934                goto _block10__branch1;
     935              }
     936              if (_v_deref___q_3.symbol_at (4))
     937              {
     938                goto _block10__branch1;
     939              }
     940              Expr _v_deref__deref___q_3 (_v_deref___q_3, 1);
     941              Expr _v_deref__deref___q_32 (_v_deref___q_3, 2);
     942              Expr _v_deref__deref___q_33 (_v_deref___q_3, 3);
     943              Expr _v_deref__deref___q_34 (_v_deref___q_3, 4);
     944              if ((_v_deref__deref___q_3.get_len () != 1))
     945              {
     946                goto _block10__branch1;
     947              }
     948              uintptr_t _v_len49 = _v_deref__deref___q_32.get_len ();
     949              uintptr_t _v_len50 = 0;
     950              if ((_v_len49 < _v_len50))
     951              {
     952                goto _block10__branch1;
     953              }
     954              uintptr_t _v_len__break3 = (_v_len49 - _v_len50);
     955              uintptr_t _v_len51 = _v_deref__deref___q_34.get_len ();
     956              uintptr_t _v_len52 = 0;
     957              if ((_v_len51 < _v_len52))
     958              {
     959                goto _block10__branch1;
     960              }
     961              uintptr_t _v_len__step3 = (_v_len51 - _v_len52);
     962              uintptr_t _v_len53 = _v_deref__deref___q_33.get_len ();
     963              uintptr_t _v_len54 = 0;
     964              if ((_v_len53 < _v_len54))
     965              {
     966                goto _block10__branch1;
     967              }
     968              uintptr_t _v_len__cond3 = (_v_len53 - _v_len54);
     969              if (!_c_7.term_eq (_v_deref___q_3, 0))
     970              {
     971                goto _block10__branch1;
     972              }
     973              if (!_vt_label.term_eq (_v_deref__deref___q_3, 0))
     974              {
     975                goto _block10__branch1;
     976              }
     977              Expr _ve__e__e_tmp_m_rfp__asail2asailrf_m_99_m_22 (_v__q_3, 0, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_99_m_22);
     978              Expr _ve_break (_v_deref__deref___q_32, 0, _v_len__break3);
     979              Expr _ve_cond (_v_deref__deref___q_33, 0, _v_len__cond3);
     980              Expr _ve_step (_v_deref__deref___q_34, 0, _v_len__step3);
     981              _v_res1 = empty;
     982              goto _block10;
     983            }
     984          _block10__branch1: {}
     985            _v_res1 = _vt_1;
     986          }
     987        _block10: {}
     988          goto _block8;
     989        }
     990      _block8__branch2: {}
     991        {
     992          if (!_vt_1.term_eq (_c_17, 0))
     993          {
     994            goto _block8__branch3;
     995          }
     996          _v_res1 = _vt_1;
     997          goto _block8;
     998        }
     999      _block8__branch3: {}
     1000        {
     1001          if (_vt_1.symbol_at (0))
     1002          {
     1003            goto _block8__branch4;
     1004          }
     1005          Expr _v_deref__110 (_vt_1, 0);
     1006          uintptr_t _v_len55 = _v_deref__110.get_len ();
     1007          uintptr_t _v_len56 = 1;
     1008          if ((_v_len55 < _v_len56))
     1009          {
     1010            goto _block8__branch4;
     1011          }
     1012          uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_103_m_13 = (_v_len55 - _v_len56);
     1013          if (!_c_18.term_eq (_v_deref__110, 0))
     1014          {
     1015            goto _block8__branch4;
     1016          }
     1017          Expr _ve__e__e_tmp_m_rfp__asail2asailrf_m_103_m_13 (_v_deref__110, 1, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_103_m_13);
     1018          _v_res1 = _vt_1;
     1019          goto _block8;
     1020        }
     1021      _block8__branch4: {}
     1022        if (!_vt_1.term_eq (_c_19, 0))
     1023        {
     1024          goto _block1__branch2;
     1025        }
     1026        _v_res1 = _vt_1;
     1027      }
     1028    _block8: {}
     1029      goto _block1;
     1030    }
     1031  _block1__branch2: {}
     1032    {
     1033      uintptr_t _v_len57 = _v_arg1.get_len ();
     1034      uintptr_t _v_len58 = 1;
     1035      if ((_v_len57 < _v_len58))
     1036      {
     1037        goto _block1__branch3;
     1038      }
     1039      uintptr_t _v_len__23 = (_v_len57 - _v_len58);
     1040      Expr _vt_1 (_v_arg1, 0, 1);
     1041      Expr _ve_2 (_v_arg1, 1, _v_len__23);
     1042      Expr _v_Remove_m_Unreachable2;
     1043      RF_CALL (Remove_m_Unreachable, _ve_2, _v_Remove_m_Unreachable2);
     1044      _v_res1 = (_vt_1 + _v_Remove_m_Unreachable2);
     1045      goto _block1;
     1046    }
     1047  _block1__branch3: {}
     1048    if ((_v_arg1.get_len () != 0))
     1049    {
     1050      RF_FUNC_ERROR (unexpected_fail);
     1051    }
     1052    _v_res1 = empty;
     1053  }
     1054_block1: {}
     1055RF_END
     1056
    2281057RF_FUNC (Simplify_m_Infix, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
    2291058  {
     
    2411070      }
    2421071      uintptr_t _v_len__args = (_v_len1 - _v_len2);
    243       if (!_c_5.term_eq (_v_deref__arg1, 0))
     1072      if (!_c_20.term_eq (_v_deref__arg1, 0))
    2441073      {
    2451074        goto _block1__branch1;
     
    2541083      {
    2551084        {
    256           if (!_vs_op.term_eq (_c_6, 0))
     1085          if (!_vs_op.term_eq (_c_21, 0))
    2571086          {
    2581087            goto _block2__branch1;
    2591088          }
    2601089          Expr _v_Map1;
    261           RF_CALL (List::Map, (_c_7, empty, _ve_args), _v_Map1);
    262           RF_CALL (List::Foldr1, (_c_8, empty, _v_Map1), _v_auxblock1);
     1090          RF_CALL (List::Map, (_c_22, empty, _ve_args), _v_Map1);
     1091          RF_CALL (List::Foldr1, (_c_23, empty, _v_Map1), _v_auxblock1);
    2631092          goto _block2;
    2641093        }
    2651094      _block2__branch1: {}
    2661095        {
    267           if (!_vs_op.term_eq (_c_9, 0))
     1096          if (!_vs_op.term_eq (_c_24, 0))
    2681097          {
    2691098            goto _block2__branch2;
    2701099          }
    2711100          Expr _v_Map2;
    272           RF_CALL (List::Map, (_c_7, empty, _ve_args), _v_Map2);
    273           RF_CALL (List::Foldr1, (_c_10, empty, _v_Map2), _v_auxblock1);
     1101          RF_CALL (List::Map, (_c_22, empty, _ve_args), _v_Map2);
     1102          RF_CALL (List::Foldr1, (_c_25, empty, _v_Map2), _v_auxblock1);
    2741103          goto _block2;
    2751104        }
    2761105      _block2__branch2: {}
    2771106        {
    278           if (!_vs_op.term_eq (_c_11, 0))
     1107          if (!_vs_op.term_eq (_c_26, 0))
    2791108          {
    2801109            goto _block2__branch3;
    2811110          }
    2821111          Expr _v_Map3;
    283           RF_CALL (List::Map, (_c_7, empty, _ve_args), _v_Map3);
    284           RF_CALL (List::Foldr1, (_c_12, empty, _v_Map3), _v_auxblock1);
     1112          RF_CALL (List::Map, (_c_22, empty, _ve_args), _v_Map3);
     1113          RF_CALL (List::Foldr1, (_c_27, empty, _v_Map3), _v_auxblock1);
    2851114          goto _block2;
    2861115        }
    2871116      _block2__branch3: {}
    2881117        {
    289           if (!_vs_op.term_eq (_c_13, 0))
     1118          if (!_vs_op.term_eq (_c_28, 0))
    2901119          {
    2911120            goto _block2__branch4;
    2921121          }
    2931122          Expr _v_Map4;
    294           RF_CALL (List::Map, (_c_7, empty, _ve_args), _v_Map4);
    295           RF_CALL (List::Foldr1, (_c_14, empty, _v_Map4), _v_auxblock1);
     1123          RF_CALL (List::Map, (_c_22, empty, _ve_args), _v_Map4);
     1124          RF_CALL (List::Foldr1, (_c_29, empty, _v_Map4), _v_auxblock1);
    2961125          goto _block2;
    2971126        }
    2981127      _block2__branch4: {}
    2991128        {
    300           if (!_vs_op.term_eq (_c_15, 0))
     1129          if (!_vs_op.term_eq (_c_30, 0))
    3011130          {
    3021131            goto _block2__branch5;
    3031132          }
    3041133          Expr _v_Map5;
    305           RF_CALL (List::Map, (_c_7, empty, _ve_args), _v_Map5);
    306           RF_CALL (List::Foldr1, (_c_16, empty, _v_Map5), _v_auxblock1);
     1134          RF_CALL (List::Map, (_c_22, empty, _ve_args), _v_Map5);
     1135          RF_CALL (List::Foldr1, (_c_31, empty, _v_Map5), _v_auxblock1);
    3071136          goto _block2;
    3081137        }
     
    3121141          RF_FUNC_ERROR (unexpected_fail);
    3131142        }
    314         Expr _vs__e__e_tmp_m_rfp__asail2asailrf_m_36_m_6 (_vs_op, 0, 1);
    315         RF_CALL (List::Map, (_c_7, empty, _ve_args), _v_auxblock1);
     1143        Expr _vs__e__e_tmp_m_rfp__asail2asailrf_m_124_m_6 (_vs_op, 0, 1);
     1144        RF_CALL (List::Map, (_c_22, empty, _ve_args), _v_auxblock1);
    3161145      }
    3171146    _block2: {}
     
    3371166        Expr _v_Paren1;
    3381167        RF_CALL (List::Paren, _ve_1, _v_Paren1);
    339         _v_res1 = (_c_5 + _vs_op + _v_Paren1) ();
     1168        _v_res1 = (_c_20 + _vs_op + _v_Paren1) ();
    3401169      }
    3411170    _block3: {}
     
    3941223  RF_CALL (List::Map, (_c_1, empty, _ve_args), _v_Map1);
    3951224  Expr _v_Foldr11;
    396   RF_CALL (List::Foldr1, (_c_14, empty, _v_Map1), _v_Foldr11);
     1225  RF_CALL (List::Foldr1, (_c_29, empty, _v_Map1), _v_Foldr11);
    3971226  {
    3981227    {
     
    4161245    Expr _v_Paren1;
    4171246    RF_CALL (List::Paren, _ve_1, _v_Paren1);
    418     _v_res1 = (_c_17 + _v_Paren1) ();
     1247    _v_res1 = (_c_32 + _v_Paren1) ();
    4191248  }
    4201249_block1: {}
     
    4301259        goto _block1__branch1;
    4311260      }
    432       uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_52_m_7 = (_v_len1 - _v_len2);
     1261      uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_140_m_7 = (_v_len1 - _v_len2);
    4331262      if (!_c_2.term_eq (_v_arg1, 0))
    4341263      {
    4351264        goto _block1__branch1;
    4361265      }
    437       Expr _ve__e__e_tmp_m_rfp__asail2asailrf_m_52_m_7 (_v_arg1, 1, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_52_m_7);
     1266      Expr _ve__e__e_tmp_m_rfp__asail2asailrf_m_140_m_7 (_v_arg1, 1, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_140_m_7);
    4381267      _v_res1 = _c_2;
    4391268      goto _block1;
     
    4471276        goto _block1__branch2;
    4481277      }
    449       uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_53_m_4 = (_v_len3 - _v_len4);
    450       if (!_c_2.term_eq (_v_arg1, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_53_m_4))
     1278      uintptr_t _v_len___e__e_tmp_m_rfp__asail2asailrf_m_141_m_4 = (_v_len3 - _v_len4);
     1279      if (!_c_2.term_eq (_v_arg1, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_141_m_4))
    4511280      {
    4521281        goto _block1__branch2;
    4531282      }
    454       Expr _ve__e__e_tmp_m_rfp__asail2asailrf_m_53_m_4 (_v_arg1, 0, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_53_m_4);
     1283      Expr _ve__e__e_tmp_m_rfp__asail2asailrf_m_141_m_4 (_v_arg1, 0, _v_len___e__e_tmp_m_rfp__asail2asailrf_m_141_m_4);
    4551284      _v_res1 = _c_2;
    4561285      goto _block1;
     
    6981527  if ((_v_arg1.get_len () != 1))
    6991528  {
    700     RF_ERROR (_c_18);
     1529    RF_ERROR (_c_33);
    7011530  }
    7021531  Expr _v_stub1 (_v_arg1, 0, 1);
     
    7111540static void init_ ()
    7121541{
     1542  Blocks = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Blocks");
     1543  Breaks = new rftype::StaticObject<rftype::Table>(L"Breaks");
     1544  Last_m_Breaks = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Last-Breaks");
    7131545  _c_0 = Expr::create<Word>("IF");
    7141546  _c_1 = Expr::create_sym<Func> (Simplify_m_Infix__0);
     
    7161548  _c_3 = Expr::create<Integer>("1");
    7171549  _c_4 = Expr::create<Word>("INT");
    718   _c_17 = Expr::create<Word>("INFIX") + Expr::create<Word>("+");
    719   _c_5 = Expr (_c_17, 0, 1);
    720   _c_6 = Expr::create<Word>("*");
    721   _c_7 = Expr::create_sym<Func> (Simplify_m_Arithm);
    722   _c_8 = Expr::create_sym<Func> (Eval_sp__a_);
    723   _c_9 = Expr::create<Word>("/");
    724   _c_10 = Expr::create_sym<Func> (Eval_sp__s_);
    725   _c_11 = Expr::create<Word>("%");
    726   _c_12 = Expr::create_sym<Func> (Eval_sp__percnt_);
    727   _c_13 = Expr (_c_17, 1, 1);
    728   _c_14 = Expr::create_sym<Func> (Eval_sp__p_);
    729   _c_15 = Expr::create<Word>("-");
    730   _c_16 = Expr::create_sym<Func> (Eval_sp__m_);
    731   _c_18 = Expr::create<Word>("Apply") + Expr::create<Word>("Apply") + Expr::create<Word>("Unexpected fail");
     1550  _c_5 = Expr::create<Word>("FUNC");
     1551  _c_6 = Expr::create<Word>("FUNC?");
     1552  _c_7 = Expr::create<Word>("FOR");
     1553  _c_8 = Expr::create<Word>("LABEL");
     1554  _c_9 = Expr::create<Word>("TRY");
     1555  _c_10 = (_c_9) ();
     1556  _c_11 = Expr::create<Word>("CATCH-ERROR");
     1557  _c_12 = (_c_11) ();
     1558  _c_13 = (empty) ();
     1559  _c_14 = Expr::create<Word>("Persistent");
     1560  _c_15 = Expr::create<Word>("BREAK");
     1561  _c_16 = Expr::create<Word>("CONTINUE");
     1562  _c_17 = Expr::create<Word>("RETFAIL");
     1563  _c_18 = Expr::create<Word>("ERROR");
     1564  _c_19 = Expr::create<Word>("FATAL");
     1565  _c_32 = Expr::create<Word>("INFIX") + Expr::create<Word>("+");
     1566  _c_20 = Expr (_c_32, 0, 1);
     1567  _c_21 = Expr::create<Word>("*");
     1568  _c_22 = Expr::create_sym<Func> (Simplify_m_Arithm);
     1569  _c_23 = Expr::create_sym<Func> (Eval_sp__a_);
     1570  _c_24 = Expr::create<Word>("/");
     1571  _c_25 = Expr::create_sym<Func> (Eval_sp__s_);
     1572  _c_26 = Expr::create<Word>("%");
     1573  _c_27 = Expr::create_sym<Func> (Eval_sp__percnt_);
     1574  _c_28 = Expr (_c_32, 1, 1);
     1575  _c_29 = Expr::create_sym<Func> (Eval_sp__p_);
     1576  _c_30 = Expr::create<Word>("-");
     1577  _c_31 = Expr::create_sym<Func> (Eval_sp__m_);
     1578  _c_33 = Expr::create<Word>("Apply") + Expr::create<Word>("Apply") + Expr::create<Word>("Unexpected fail");
    7321579}
    7331580
  • to-imperative/trunk/bootstrap/compiler/rfp_asail_cpp.cc

    r1996 r2012  
    8585static Expr _c_2;
    8686
     87static Expr _c_177;
     88
     89static Expr _c_32;
     90
     91static Expr _c_6;
     92
     93static Expr _c_8;
     94
     95static Expr _c_3;
     96
     97static Expr _c_4;
     98
     99static Expr _c_5;
     100
     101static Expr _c_7;
     102
     103static Expr _c_9;
     104
     105static Expr _c_10;
     106
     107static Expr _c_178;
     108
     109static Expr _c_11;
     110
     111static Expr _c_12;
     112
     113static Expr _c_13;
     114
     115static Expr _c_14;
     116
     117static Expr _c_15;
     118
     119static Expr _c_16;
     120
     121static Expr _c_17;
     122
     123static Expr _c_58;
     124
     125static Expr _c_18;
     126
     127static Expr _c_19;
     128
     129static Expr _c_161;
     130
     131static Expr _c_20;
     132
     133static Expr _c_21;
     134
     135static Expr _c_22;
     136
     137static Expr _c_23;
     138
     139static Expr _c_167;
     140
     141static Expr _c_24;
     142
     143static Expr _c_25;
     144
     145static Expr _c_26;
     146
     147static Expr _c_27;
     148
     149static Expr _c_82;
     150
     151static Expr _c_28;
     152
     153static Expr _c_29;
     154
     155static Expr _c_30;
     156
     157static Expr _c_31;
     158
     159static Expr _c_34;
     160
     161static Expr _c_33;
     162
     163static Expr _c_35;
     164
     165static Expr _c_36;
     166
     167static Expr _c_37;
     168
     169static Expr _c_38;
     170
     171static Expr _c_39;
     172
     173static Expr _c_40;
     174
     175static Expr _c_41;
     176
     177static Expr _c_179;
     178
     179static Expr _c_42;
     180
     181static Expr _c_43;
     182
     183static Expr _c_44;
     184
     185static Expr _c_45;
     186
     187static Expr _c_46;
     188
     189static Expr _c_47;
     190
     191static Expr _c_48;
     192
     193static Expr _c_49;
     194
     195static Expr _c_50;
     196
     197static Expr _c_75;
     198
     199static Expr _c_51;
     200
     201static Expr _c_52;
     202
     203static Expr _c_53;
     204
     205static Expr _c_54;
     206
     207static Expr _c_55;
     208
     209static Expr _c_56;
     210
     211static Expr _c_57;
     212
     213static Expr _c_59;
     214
     215static Expr _c_60;
     216
     217static Expr _c_61;
     218
     219static Expr _c_62;
     220
     221static Expr _c_63;
     222
     223static Expr _c_64;
     224
     225static Expr _c_65;
     226
     227static Expr _c_66;
     228
     229static Expr _c_67;
     230
     231static Expr _c_68;
     232
     233static Expr _c_69;
     234
     235static Expr _c_170;
     236
     237static Expr _c_70;
     238
     239static Expr _c_71;
     240
     241static Expr _c_72;
     242
     243static Expr _c_73;
     244
     245static Expr _c_74;
     246
     247static Expr _c_76;
     248
     249static Expr _c_77;
     250
     251static Expr _c_78;
     252
     253static Expr _c_79;
     254
     255static Expr _c_80;
     256
     257static Expr _c_81;
     258
     259static Expr _c_83;
     260
     261static Expr _c_84;
     262
     263static Expr _c_85;
     264
     265static Expr _c_86;
     266
     267static Expr _c_87;
     268
     269static Expr _c_88;
     270
     271static Expr _c_89;
     272
     273static Expr _c_90;
     274
     275static Expr _c_91;
     276
     277static Expr _c_92;
     278
     279static Expr _c_93;
     280
     281static Expr _c_94;
     282
     283static Expr _c_95;
     284
     285static Expr _c_96;
     286
     287static Expr _c_97;
     288
     289static Expr _c_98;
     290
     291static Expr _c_99;
     292
     293static Expr _c_100;
     294
     295static Expr _c_101;
     296
     297static Expr _c_102;
     298
     299static Expr _c_103;
     300
     301static Expr _c_104;
     302
     303static Expr _c_105;
     304
     305static Expr _c_106;
     306
     307static Expr _c_107;
     308
     309static Expr _c_108;
     310
     311static Expr _c_109;
     312
     313static Expr _c_110;
     314
     315static Expr _c_111;
     316
     317static Expr _c_112;
     318
     319static Expr _c_113;
     320
     321static Expr _c_114;
     322
     323static Expr _c_115;
     324
     325static Expr _c_116;
     326
     327static Expr _c_117;
     328
     329static Expr _c_118;
     330
     331static Expr _c_119;
     332
     333static Expr _c_120;
     334
     335static Expr _c_121;
     336
     337static Expr _c_122;
     338
     339static Expr _c_123;
     340
     341static Expr _c_124;
     342
     343static Expr _c_125;
     344
     345static Expr _c_126;
     346
     347static Expr _c_127;
     348
     349static Expr _c_128;
     350
     351static Expr _c_129;
     352
     353static Expr _c_130;
     354
     355static Expr _c_131;
     356
     357static Expr _c_132;
     358
     359static Expr _c_133;
     360
     361static Expr _c_134;
     362
     363static Expr _c_135;
     364
     365static Expr _c_136;
     366
     367static Expr _c_137;
     368
     369static Expr _c_138;
     370
     371static Expr _c_139;
     372
     373static Expr _c_142;
     374
     375static Expr _c_140;
     376
     377static Expr _c_141;
     378
     379static Expr _c_143;
     380
     381static Expr _c_144;
     382
     383static Expr _c_145;
     384
     385static Expr _c_146;
     386
     387static Expr _c_149;
     388
     389static Expr _c_147;
     390
     391static Expr _c_148;
     392
     393static Expr _c_151;
     394
     395static Expr _c_150;
     396
     397static Expr _c_152;
     398
     399static Expr _c_153;
     400
     401static Expr _c_154;
     402
     403static Expr _c_155;
     404
     405static Expr _c_156;
     406
     407static Expr _c_157;
     408
     409static Expr _c_158;
     410
     411static Expr _c_159;
     412
     413static Expr _c_160;
     414
     415static Expr _c_162;
     416
     417static Expr _c_163;
     418
     419static Expr _c_164;
     420
     421static Expr _c_165;
     422
     423static Expr _c_166;
     424
     425static Expr _c_168;
     426
     427static Expr _c_169;
     428
     429static Expr _c_174;
     430
     431static Expr _c_171;
     432
     433static Expr _c_172;
     434
     435static Expr _c_173;
     436
    87437static Expr _c_175;
    88438
    89 static Expr _c_32;
    90 
    91 static Expr _c_6;
    92 
    93 static Expr _c_8;
    94 
    95 static Expr _c_3;
    96 
    97 static Expr _c_4;
    98 
    99 static Expr _c_5;
    100 
    101 static Expr _c_7;
    102 
    103 static Expr _c_9;
    104 
    105 static Expr _c_10;
    106 
    107439static Expr _c_176;
    108 
    109 static Expr _c_11;
    110 
    111 static Expr _c_12;
    112 
    113 static Expr _c_13;
    114 
    115 static Expr _c_14;
    116 
    117 static Expr _c_15;
    118 
    119 static Expr _c_16;
    120 
    121 static Expr _c_17;
    122 
    123 static Expr _c_59;
    124 
    125 static Expr _c_18;
    126 
    127 static Expr _c_19;
    128 
    129 static Expr _c_159;
    130 
    131 static Expr _c_20;
    132 
    133 static Expr _c_21;
    134 
    135 static Expr _c_22;
    136 
    137 static Expr _c_23;
    138 
    139 static Expr _c_165;
    140 
    141 static Expr _c_24;
    142 
    143 static Expr _c_25;
    144 
    145 static Expr _c_26;
    146 
    147 static Expr _c_27;
    148 
    149 static Expr _c_83;
    150 
    151 static Expr _c_28;
    152 
    153 static Expr _c_29;
    154 
    155 static Expr _c_30;
    156 
    157 static Expr _c_31;
    158 
    159 static Expr _c_34;
    160 
    161 static Expr _c_33;
    162 
    163 static Expr _c_35;
    164 
    165 static Expr _c_36;
    166 
    167 static Expr _c_37;
    168 
    169 static Expr _c_38;
    170 
    171 static Expr _c_39;
    172 
    173 static Expr _c_40;
    174 
    175 static Expr _c_41;
    176 
    177 static Expr _c_177;
    178 
    179 static Expr _c_42;
    180 
    181 static Expr _c_43;
    182 
    183 static Expr _c_44;
    184 
    185 static Expr _c_45;
    186 
    187 static Expr _c_46;
    188 
    189 static Expr _c_47;
    190 
    191 static Expr _c_48;
    192 
    193 static Expr _c_49;
    194 
    195 static Expr _c_50;
    196 
    197 static Expr _c_51;
    198 
    199 static Expr _c_52;
    200 
    201 static Expr _c_53;
    202 
    203 static Expr _c_54;
    204 
    205 static Expr _c_76;
    206 
    207 static Expr _c_55;
    208 
    209 static Expr _c_56;
    210 
    211 static Expr _c_57;
    212 
    213 static Expr _c_58;
    214 
    215 static Expr _c_60;
    216 
    217 static Expr _c_61;
    218 
    219 static Expr _c_62;
    220 
    221 static Expr _c_63;
    222 
    223 static Expr _c_64;
    224 
    225 static Expr _c_65;
    226 
    227 static Expr _c_66;
    228 
    229 static Expr _c_67;
    230 
    231 static Expr _c_68;
    232 
    233 static Expr _c_69;
    234 
    235 static Expr _c_70;
    236 
    237 static Expr _c_168;
    238 
    239 static Expr _c_71;
    240 
    241 static Expr _c_72;
    242 
    243 static Expr _c_73;
    244 
    245 static Expr _c_74;
    246 
    247 static Expr _c_75;
    248 
    249 static Expr _c_77;
    250 
    251 static Expr _c_78;
    252 
    253 static Expr _c_79;
    254 
    255 static Expr _c_80;
    256 
    257 static Expr _c_81;
    258 
    259 static Expr _c_82;
    260 
    261 static Expr _c_84;
    262 
    263 static Expr _c_85;
    264 
    265 static Expr _c_86;
    266 
    267 static Expr _c_87;
    268 
    269 static Expr _c_88;
    270 
    271 static Expr _c_89;
    272 
    273 static Expr _c_90;
    274 
    275 static Expr _c_91;
    276 
    277 static Expr _c_92;
    278 
    279 static Expr _c_93;
    280 
    281 static Expr _c_94;
    282 
    283 static Expr _c_95;
    284 
    285 static Expr _c_96;
    286 
    287 static Expr _c_97;
    288 
    289 static Expr _c_98;
    290 
    291 static Expr _c_99;
    292 
    293 static Expr _c_100;
    294 
    295 static Expr _c_101;
    296 
    297 static Expr _c_102;
    298 
    299 static Expr _c_103;
    300 
    301 static Expr _c_104;
    302 
    303 static Expr _c_105;
    304 
    305 static Expr _c_106;
    306 
    307 static Expr _c_107;
    308 
    309 static Expr _c_108;
    310 
    311 static Expr _c_109;
    312 
    313 static Expr _c_110;
    314 
    315 static Expr _c_111;
    316 
    317 static Expr _c_112;
    318 
    319 static Expr _c_113;
    320 
    321 static Expr _c_114;
    322 
    323 static Expr _c_115;
    324 
    325 static Expr _c_116;
    326 
    327 static Expr _c_117;
    328 
    329 static Expr _c_118;
    330 
    331 static Expr _c_119;
    332 
    333 static Expr _c_120;
    334 
    335 static Expr _c_121;
    336 
    337 static Expr _c_122;
    338 
    339 static Expr _c_123;
    340 
    341 static Expr _c_124;
    342 
    343 static Expr _c_125;
    344 
    345 static Expr _c_126;
    346 
    347 static Expr _c_127;
    348 
    349 static Expr _c_128;
    350 
    351 static Expr _c_129;
    352 
    353 static Expr _c_130;
    354 
    355 static Expr _c_131;
    356 
    357 static Expr _c_132;
    358 
    359 static Expr _c_133;
    360 
    361 static Expr _c_134;
    362 
    363 static Expr _c_135;
    364 
    365 static Expr _c_136;
    366 
    367 static Expr _c_137;
    368 
    369 static Expr _c_138;
    370 
    371 static Expr _c_139;
    372 
    373 static Expr _c_141;
    374 
    375 static Expr _c_140;
    376 
    377 static Expr _c_142;
    378 
    379 static Expr _c_143;
    380 
    381 static Expr _c_144;
    382 
    383 static Expr _c_147;
    384 
    385 static Expr _c_145;
    386 
    387 static Expr _c_146;
    388 
    389 static Expr _c_149;
    390 
    391 static Expr _c_148;
    392 
    393 static Expr _c_150;
    394 
    395 static Expr _c_151;
    396 
    397 static Expr _c_152;
    398 
    399 static Expr _c_153;
    400 
    401 static Expr _c_154;
    402 
    403 static Expr _c_155;
    404 
    405 static Expr _c_156;
    406 
    407 static Expr _c_157;
    408 
    409 static Expr _c_158;
    410 
    411 static Expr _c_160;
    412 
    413 static Expr _c_161;
    414 
    415 static Expr _c_162;
    416 
    417 static Expr _c_163;
    418 
    419 static Expr _c_164;
    420 
    421 static Expr _c_166;
    422 
    423 static Expr _c_167;
    424 
    425 static Expr _c_172;
    426 
    427 static Expr _c_169;
    428 
    429 static Expr _c_170;
    430 
    431 static Expr _c_171;
    432 
    433 static Expr _c_173;
    434 
    435 static Expr _c_174;
    436440
    437441RF_FUNC (RFP_m_ASAIL_m_To_m_CPP, (RF_ARG _v_arg1, _v_arg2;;), (RF_RES _v_res1;;))
     
    12611265          Expr _v_Rfp2Cpp11;
    12621266          RF_CALL (CppMangle::Rfp2Cpp, _vt_var, _v_Rfp2Cpp11);
    1263           _ve_cpp_m_item = (_vs_type + _c_51 + _v_Rfp2Cpp11 + _c_9) ();
     1267          _ve_cpp_m_item = (_c_51 + _v_Rfp2Cpp11 + _c_9) ();
    12641268          goto _block2;
    12651269        }
     
    13151319          Expr _v_Expr_m_Ref_m_To_m_CPP3;
    13161320          RF_CALL (Expr_m_Ref_m_To_m_CPP, _ve_expr, _v_Expr_m_Ref_m_To_m_CPP3);
    1317           _ve_cpp_m_item = (_c_55 + _v_Rfp2Cpp13 + _c_54 + _v_Expr_m_Ref_m_To_m_CPP3 + _c_4) ();
     1321          _ve_cpp_m_item = (_c_51 + _v_Rfp2Cpp13 + _c_54 + _v_Expr_m_Ref_m_To_m_CPP3 + _c_4) ();
    13181322          goto _block2;
    13191323        }
     
    13441348          }
    13451349          uintptr_t _v_len__pos = (_v_len55 - _v_len56);
    1346           if (!_c_56.term_eq (_v_deref__item14, 0))
     1350          if (!_c_55.term_eq (_v_deref__item14, 0))
    13471351          {
    13481352            goto _block2__branch17;
     
    13571361          Expr _v_Expr_m_Int_m_To_m_CPP4;
    13581362          RF_CALL (Expr_m_Int_m_To_m_CPP, _ve_pos, _v_Expr_m_Int_m_To_m_CPP4);
    1359           _ve_cpp_m_item = (_c_55 + _v_Rfp2Cpp14 + _c_54 + _v_Expr_m_Ref_m_To_m_CPP4 + _c_24 + _v_Expr_m_Int_m_To_m_CPP4 + _c_4) ();
     1363          _ve_cpp_m_item = (_c_51 + _v_Rfp2Cpp14 + _c_54 + _v_Expr_m_Ref_m_To_m_CPP4 + _c_24 + _v_Expr_m_Int_m_To_m_CPP4 + _c_4) ();
    13601364          goto _block2;
    13611365        }
     
    13981402          }
    13991403          uintptr_t _v_len__pos2 = (_v_len61 - _v_len62);
    1400           if (!_c_57.term_eq (_v_deref__item15, 0))
     1404          if (!_c_56.term_eq (_v_deref__item15, 0))
    14011405          {
    14021406            goto _block2__branch18;
     
    14141418          Expr _v_Expr_m_Int_m_To_m_CPP6;
    14151419          RF_CALL (Expr_m_Int_m_To_m_CPP, _ve_len, _v_Expr_m_Int_m_To_m_CPP6);
    1416           _ve_cpp_m_item = (_c_55 + _v_Rfp2Cpp15 + _c_54 + _v_Expr_m_Ref_m_To_m_CPP5 + _c_24 + _v_Expr_m_Int_m_To_m_CPP5 + _c_24 + _v_Expr_m_Int_m_To_m_CPP6 + _c_4) ();
     1420          _ve_cpp_m_item = (_c_51 + _v_Rfp2Cpp15 + _c_54 + _v_Expr_m_Ref_m_To_m_CPP5 + _c_24 + _v_Expr_m_Int_m_To_m_CPP5 + _c_24 + _v_Expr_m_Int_m_To_m_CPP6 + _c_4) ();
    14171421          goto _block2;
    14181422        }
     
    14281432            goto _block2__branch19;
    14291433          }
    1430           if (!_c_58.term_eq (_v_deref__item16, 0))
     1434          if (!_c_57.term_eq (_v_deref__item16, 0))
    14311435          {
    14321436            goto _block2__branch19;
     
    14351439          Expr _v_Rfp2Cpp16;
    14361440          RF_CALL (CppMangle::Rfp2Cpp, _vt_var, _v_Rfp2Cpp16);
    1437           _ve_cpp_m_item = (_v_Rfp2Cpp16 + _c_59) ();
     1441          _ve_cpp_m_item = (_v_Rfp2Cpp16 + _c_58) ();
    14381442          goto _block2;
    14391443        }
     
    14491453            goto _block2__branch20;
    14501454          }
    1451           if (!_c_60.term_eq (_v_deref__item17, 0))
     1455          if (!_c_59.term_eq (_v_deref__item17, 0))
    14521456          {
    14531457            goto _block2__branch20;
     
    14561460          Expr _v_Rfp2Cpp17;
    14571461          RF_CALL (CppMangle::Rfp2Cpp, (_c_31 + _vt_label) (), _v_Rfp2Cpp17);
    1458           _ve_cpp_m_item = (_c_61 + _v_Rfp2Cpp17 + _c_9) ();
     1462          _ve_cpp_m_item = (_c_60 + _v_Rfp2Cpp17 + _c_9) ();
    14591463          goto _block2;
    14601464        }
     
    14701474            goto _block2__branch21;
    14711475          }
    1472           if (!_c_62.term_eq (_v_deref__item18, 0))
     1476          if (!_c_61.term_eq (_v_deref__item18, 0))
    14731477          {
    14741478            goto _block2__branch21;
     
    14771481          Expr _v_Rfp2Cpp18;
    14781482          RF_CALL (CppMangle::Rfp2Cpp, (_c_31 + _vt_label) (), _v_Rfp2Cpp18);
    1479           _ve_cpp_m_item = (_c_61 + _v_Rfp2Cpp18 + _c_9) ();
     1483          _ve_cpp_m_item = (_c_60 + _v_Rfp2Cpp18 + _c_9) ();
    14801484          goto _block2;
    14811485        }
     
    14941498          }
    14951499          uintptr_t _v_len__expr8 = (_v_len63 - _v_len64);
    1496           if (!_c_63.term_eq (_v_deref__item19, 0))
     1500          if (!_c_62.term_eq (_v_deref__item19, 0))
    14971501          {
    14981502            goto _block2__branch22;
     
    15011505          Expr _v_Expr_m_Ref_m_To_m_CPP6;
    15021506          RF_CALL (Expr_m_Ref_m_To_m_CPP, _ve_expr, _v_Expr_m_Ref_m_To_m_CPP6);
    1503           _ve_cpp_m_item = (_c_64 + _v_Expr_m_Ref_m_To_m_CPP6 + _c_4) ();
     1507          _ve_cpp_m_item = (_c_63 + _v_Expr_m_Ref_m_To_m_CPP6 + _c_4) ();
    15041508          goto _block2;
    15051509        }
     
    15301534          }
    15311535          uintptr_t _v_len__comment = (_v_len67 - _v_len68);
    1532           if (!_c_65.term_eq (_v_deref__item20, 0))
     1536          if (!_c_64.term_eq (_v_deref__item20, 0))
    15331537          {
    15341538            goto _block2__branch23;
     
    15451549          {
    15461550            {
    1547               if (!_vs_linkage.term_eq (_c_66, 0))
     1551              if (!_vs_linkage.term_eq (_c_65, 0))
    15481552              {
    15491553                goto _block11__branch1;
    15501554              }
    1551               _ve_linkage = _c_67;
     1555              _ve_linkage = _c_66;
    15521556              goto _block11;
    15531557            }
     
    15721576              }
    15731577              uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_203_m_27 = (_v_len69 - _v_len70);
    1574               if (!_c_68.term_eq (_v_deref__name, 0))
     1578              if (!_c_67.term_eq (_v_deref__name, 0))
    15751579              {
    15761580                goto _block12__branch1;
     
    15921596          Expr _v_Namespace_m_Control2;
    15931597          RF_CALL (Namespace_m_Control, _ve_qualifiers, _v_Namespace_m_Control2);
    1594           _ve_cpp_m_item = (_v_Namespace_m_Control2 + (_ve_linkage + _c_55 + _ve_cpp_m_name + _c_9) ());
     1598          _ve_cpp_m_item = (_v_Namespace_m_Control2 + (_ve_linkage + _c_51 + _ve_cpp_m_name + _c_9) ());
    15951599          goto _block2;
    15961600        }
     
    16061610            goto _block2__branch24;
    16071611          }
    1608           if (!_c_69.term_eq (_v_deref__item21, 0))
     1612          if (!_c_68.term_eq (_v_deref__item21, 0))
    16091613          {
    16101614            goto _block2__branch24;
     
    16241628          {
    16251629            {
    1626               if (!_vs_linkage.term_eq (_c_66, 0))
     1630              if (!_vs_linkage.term_eq (_c_65, 0))
    16271631              {
    16281632                goto _block13__branch1;
    16291633              }
    1630               _ve_linkage = _c_67;
     1634              _ve_linkage = _c_66;
    16311635              goto _block13;
    16321636            }
     
    16571661          {
    16581662            {
    1659               if (!_vs_tag.term_eq (_c_70, 0))
     1663              if (!_vs_tag.term_eq (_c_69, 0))
    16601664              {
    16611665                goto _block14__branch1;
    16621666              }
    1663               RF_CALL (Box::Put, (Const_m_Exprs, (_ve_cpp_m_name + (_c_72 + _ve_name + _c_71) ()) ()), /*void*/);
     1667              RF_CALL (Box::Put, (Const_m_Exprs, (_ve_cpp_m_name + (_c_71 + _ve_name + _c_70) ()) ()), /*void*/);
    16641668              goto _block14;
    16651669            }
     
    16671671            Expr _v_To_m_Lower1;
    16681672            RF_CALL (Convert::To_m_Lower, _ve_2, _v_To_m_Lower1);
    1669             RF_CALL (Box::Put, (Const_m_Exprs, (_ve_cpp_m_name + (_c_74 + _vs_1 + _v_To_m_Lower1 + _c_73 + _ve_name + _c_71) ()) ()), /*void*/);
     1673            RF_CALL (Box::Put, (Const_m_Exprs, (_ve_cpp_m_name + (_c_73 + _vs_1 + _v_To_m_Lower1 + _c_72 + _ve_name + _c_70) ()) ()), /*void*/);
    16701674          }
    16711675        _block14: {}
    16721676          Expr _v_Namespace_m_Control3;
    16731677          RF_CALL (Namespace_m_Control, _ve_qualifiers, _v_Namespace_m_Control3);
    1674           _ve_cpp_m_item = (_v_Namespace_m_Control3 + (_ve_linkage + _c_55 + _ve_cpp_m_name + _c_9) ());
     1678          _ve_cpp_m_item = (_v_Namespace_m_Control3 + (_ve_linkage + _c_51 + _ve_cpp_m_name + _c_9) ());
    16751679          goto _block2;
    16761680        }
     
    16861690            goto _block2__branch25;
    16871691          }
    1688           if (!_c_75.term_eq (_v_deref__item22, 0))
     1692          if (!_c_74.term_eq (_v_deref__item22, 0))
    16891693          {
    16901694            goto _block2__branch25;
     
    16981702          Expr _v_Rfp2Cpp19;
    16991703          RF_CALL (CppMangle::Rfp2Cpp, _ve_name, _v_Rfp2Cpp19);
    1700           _ve_cpp_m_item = (_v_Namespace_m_Control4 + (_c_76 + _v_Rfp2Cpp19 + _c_9) ());
     1704          _ve_cpp_m_item = (_v_Namespace_m_Control4 + (_c_75 + _v_Rfp2Cpp19 + _c_9) ());
    17011705          goto _block2;
    17021706        }
     
    17121716            goto _block2__branch26;
    17131717          }
    1714           if (!_c_77.term_eq (_v_deref__item23, 0))
     1718          if (!_c_76.term_eq (_v_deref__item23, 0))
    17151719          {
    17161720            goto _block2__branch26;
     
    17241728          Expr _v_Rfp2Cpp20;
    17251729          RF_CALL (CppMangle::Rfp2Cpp, _ve_name, _v_Rfp2Cpp20);
    1726           _ve_cpp_m_item = (_v_Namespace_m_Control5 + (_c_78 + _v_Rfp2Cpp20 + _c_4) ());
     1730          _ve_cpp_m_item = (_v_Namespace_m_Control5 + (_c_77 + _v_Rfp2Cpp20 + _c_4) ());
    17271731          goto _block2;
    17281732        }
     
    17381742            goto _block2__branch27;
    17391743          }
    1740           if (!_c_79.term_eq (_v_deref__item24, 0))
     1744          if (!_c_78.term_eq (_v_deref__item24, 0))
    17411745          {
    17421746            goto _block2__branch27;
     
    17511755          Expr _v_Rfp2Cpp21;
    17521756          RF_CALL (CppMangle::Rfp2Cpp, _ve_name, _v_Rfp2Cpp21);
    1753           _ve_cpp_m_item = (_v_Namespace_m_Control6 + (_c_78 + _v_Rfp2Cpp21 + _c_4) ());
     1757          _ve_cpp_m_item = (_v_Namespace_m_Control6 + (_c_77 + _v_Rfp2Cpp21 + _c_4) ());
    17541758          goto _block2;
    17551759        }
     
    17991803          {
    18001804            {
    1801               if (!_vs_call.term_eq (_c_80, 0))
     1805              if (!_vs_call.term_eq (_c_79, 0))
    18021806              {
    18031807                goto _negation1;
     
    18321836            RF_CALL (Name_m_To_m_CPP, _vt_name, _v_Name_m_To_m_CPP1);
    18331837            Expr _v_Args_m_To_m_CPP3;
    1834             RF_CALL (Args_m_To_m_CPP, (empty, _c_81, _ve_exprs), _v_Args_m_To_m_CPP3);
     1838            RF_CALL (Args_m_To_m_CPP, (empty, _c_80, _ve_exprs), _v_Args_m_To_m_CPP3);
    18351839            Expr _v_Args_m_To_m_CPP4;
    18361840            RF_CALL (Args_m_To_m_CPP, (empty, _c_20, _ve_ress), _v_Args_m_To_m_CPP4);
    18371841            Expr _v_Trace_m_Exit1;
    18381842            RF_CALL (Trace_m_Exit, (_ve_full_m_name, _ve_ress), _v_Trace_m_Exit1);
    1839             _ve_cpp_m_item = ((_c_83 + _v_Name_m_To_m_CPP1 + _c_24 + _v_Args_m_To_m_CPP3 + _c_24 + _v_Args_m_To_m_CPP4 + _c_82) () + (_c_29 + (_v_Trace_m_Exit1 + _c_16) () + _c_6) () + _c_84);
     1843            _ve_cpp_m_item = ((_c_82 + _v_Name_m_To_m_CPP1 + _c_24 + _v_Args_m_To_m_CPP3 + _c_24 + _v_Args_m_To_m_CPP4 + _c_81) () + (_c_29 + (_v_Trace_m_Exit1 + _c_16) () + _c_6) () + _c_83);
    18401844            goto _block15;
    18411845          }
     
    18441848          {
    18451849            {
    1846               if (!_vs_call.term_eq (_c_85, 0))
     1850              if (!_vs_call.term_eq (_c_84, 0))
    18471851              {
    18481852                goto _block17__branch1;
    18491853              }
    1850               _v_call__1 = _c_86;
     1854              _v_call__1 = _c_85;
    18511855              goto _block17;
    18521856            }
     
    18581862          RF_CALL (Name_m_To_m_CPP, _vt_name, _v_Name_m_To_m_CPP2);
    18591863          Expr _v_Args_m_To_m_CPP5;
    1860           RF_CALL (Args_m_To_m_CPP, (empty, _c_81, _ve_exprs), _v_Args_m_To_m_CPP5);
     1864          RF_CALL (Args_m_To_m_CPP, (empty, _c_80, _ve_exprs), _v_Args_m_To_m_CPP5);
    18611865          Expr _v_Args_m_To_m_CPP6;
    18621866          RF_CALL (Args_m_To_m_CPP, (empty, _c_20, _ve_ress), _v_Args_m_To_m_CPP6);
    1863           _ve_cpp_m_item = (_c_87 + _v_call__1 + _c_54 + _v_Name_m_To_m_CPP2 + _c_24 + _v_Args_m_To_m_CPP5 + _c_24 + _v_Args_m_To_m_CPP6 + _c_4) ();
     1867          _ve_cpp_m_item = (_c_86 + _v_call__1 + _c_54 + _v_Name_m_To_m_CPP2 + _c_24 + _v_Args_m_To_m_CPP5 + _c_24 + _v_Args_m_To_m_CPP6 + _c_4) ();
    18641868        }
    18651869      _block15: {}
     
    19081912      }
    19091913      uintptr_t _v_len__expr = (_v_len3 - _v_len4);
    1910       if (!_c_88.term_eq (_v_deref__expr_m_all, 0))
     1914      if (!_c_87.term_eq (_v_deref__expr_m_all, 0))
    19111915      {
    19121916        goto _block1__branch2;
     
    19681972      }
    19691973      uintptr_t _v_len__expr3 = (_v_len11 - _v_len12);
    1970       if (!_c_56.term_eq (_v_deref__expr_m_all3, 0))
     1974      if (!_c_55.term_eq (_v_deref__expr_m_all3, 0))
    19711975      {
    19721976        goto _block1__branch4;
     
    19982002      }
    19992003      uintptr_t _v_len__expr4 = (_v_len15 - _v_len16);
    2000       if (!_c_57.term_eq (_v_deref__expr_m_all4, 0))
     2004      if (!_c_56.term_eq (_v_deref__expr_m_all4, 0))
    20012005      {
    20022006        goto _block1__branch5;
     
    20282032      }
    20292033      uintptr_t _v_len__expr5 = (_v_len19 - _v_len20);
    2030       if (!_c_89.term_eq (_v_deref__expr_m_all5, 0))
     2034      if (!_c_88.term_eq (_v_deref__expr_m_all5, 0))
    20312035      {
    20322036        goto _block1__branch6;
     
    20582062      }
    20592063      uintptr_t _v_len__args = (_v_len23 - _v_len24);
    2060       if (!_c_90.term_eq (_v_deref__expr_m_all6, 0))
     2064      if (!_c_89.term_eq (_v_deref__expr_m_all6, 0))
    20612065      {
    20622066        goto _block1__branch7;
     
    20882092      }
    20892093      uintptr_t _v_len__args2 = (_v_len27 - _v_len28);
    2090       if (!_c_91.term_eq (_v_deref__expr_m_all7, 0))
     2094      if (!_c_90.term_eq (_v_deref__expr_m_all7, 0))
    20912095      {
    20922096        goto _block1__branch8;
     
    21182122      }
    21192123      uintptr_t _v_len__args3 = (_v_len31 - _v_len32);
    2120       if (!_c_92.term_eq (_v_deref__expr_m_all8, 0))
     2124      if (!_c_91.term_eq (_v_deref__expr_m_all8, 0))
    21212125      {
    21222126        goto _block1__branch9;
     
    21802184        goto _block1__branch1;
    21812185      }
    2182       _v_res1 = _c_93;
     2186      _v_res1 = _c_92;
    21832187      goto _block1;
    21842188    }
     
    21972201    RF_CALL (List::Paren, _v_arg1, _v_Paren1);
    21982202    Expr _v_Infix_m_To_m_CPP1;
    2199     RF_CALL (Infix_m_To_m_CPP, (_c_94, _c_95, _v_Paren1), _v_Infix_m_To_m_CPP1);
    2200     _v_res1 = (_c_96 + _v_Infix_m_To_m_CPP1 + _c_23);
     2203    RF_CALL (Infix_m_To_m_CPP, (_c_93, _c_94, _v_Paren1), _v_Infix_m_To_m_CPP1);
     2204    _v_res1 = (_c_95 + _v_Infix_m_To_m_CPP1 + _c_23);
    22012205  }
    22022206_block1: {}
     
    22222226      }
    22232227      uintptr_t _v_len__expr = (_v_len1 - _v_len2);
    2224       if (!_c_88.term_eq (_v_deref__arg1, 0))
     2228      if (!_c_87.term_eq (_v_deref__arg1, 0))
    22252229      {
    22262230        goto _block1__branch1;
     
    22292233      Expr _v_Expr_m_Ref_m_To_m_CPP1;
    22302234      RF_CALL (Expr_m_Ref_m_To_m_CPP, _ve_expr, _v_Expr_m_Ref_m_To_m_CPP1);
    2231       _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP1 + _c_97);
     2235      _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP1 + _c_96);
    22322236      goto _block1;
    22332237    }
     
    22572261      Expr _v_Expr_m_Ref_m_To_m_CPP2;
    22582262      RF_CALL (Expr_m_Ref_m_To_m_CPP, _ve_expr, _v_Expr_m_Ref_m_To_m_CPP2);
    2259       _v_res1 = (_c_98 + _v_Expr_m_Ref_m_To_m_CPP2 + _c_23);
     2263      _v_res1 = (_c_97 + _v_Expr_m_Ref_m_To_m_CPP2 + _c_23);
    22602264      goto _block1;
    22612265    }
     
    22902294      }
    22912295      uintptr_t _v_len__pos = (_v_len7 - _v_len8);
    2292       if (!_c_56.term_eq (_v_deref__arg13, 0))
     2296      if (!_c_55.term_eq (_v_deref__arg13, 0))
    22932297      {
    22942298        goto _block1__branch3;
     
    23002304      Expr _v_Expr_m_Int_m_To_m_CPP1;
    23012305      RF_CALL (Expr_m_Int_m_To_m_CPP, _ve_pos, _v_Expr_m_Int_m_To_m_CPP1);
    2302       _v_res1 = (_c_98 + _v_Expr_m_Ref_m_To_m_CPP3 + _c_24 + _v_Expr_m_Int_m_To_m_CPP1 + _c_23);
     2306      _v_res1 = (_c_97 + _v_Expr_m_Ref_m_To_m_CPP3 + _c_24 + _v_Expr_m_Int_m_To_m_CPP1 + _c_23);
    23032307      goto _block1;
    23042308    }
     
    23452349      }
    23462350      uintptr_t _v_len__pos2 = (_v_len13 - _v_len14);
    2347       if (!_c_57.term_eq (_v_deref__arg14, 0))
     2351      if (!_c_56.term_eq (_v_deref__arg14, 0))
    23482352      {
    23492353        goto _block1__branch4;
     
    23582362      Expr _v_Expr_m_Int_m_To_m_CPP3;
    23592363      RF_CALL (Expr_m_Int_m_To_m_CPP, _ve_len, _v_Expr_m_Int_m_To_m_CPP3);
    2360       _v_res1 = (_c_98 + _v_Expr_m_Ref_m_To_m_CPP4 + _c_24 + _v_Expr_m_Int_m_To_m_CPP2 + _c_24 + _v_Expr_m_Int_m_To_m_CPP3 + _c_23);
     2364      _v_res1 = (_c_97 + _v_Expr_m_Ref_m_To_m_CPP4 + _c_24 + _v_Expr_m_Int_m_To_m_CPP2 + _c_24 + _v_Expr_m_Int_m_To_m_CPP3 + _c_23);
    23612365      goto _block1;
    23622366    }
     
    23762380        goto _block1__branch5;
    23772381      }
    2378       if (!_c_99.term_eq (_v_deref__arg15, 0))
     2382      if (!_c_98.term_eq (_v_deref__arg15, 0))
    23792383      {
    23802384        goto _block1__branch5;
     
    23902394        goto _block1__branch6;
    23912395      }
    2392       if (!_c_100.term_eq (_v_arg1, 0))
     2396      if (!_c_99.term_eq (_v_arg1, 0))
    23932397      {
    23942398        goto _block1__branch6;
    23952399      }
    2396       _v_res1 = _c_101;
     2400      _v_res1 = _c_100;
    23972401      goto _block1;
    23982402    }
     
    24122416        goto _block1__branch7;
    24132417      }
    2414       if (!_c_68.term_eq (_v_deref__arg16, 0))
     2418      if (!_c_67.term_eq (_v_deref__arg16, 0))
    24152419      {
    24162420        goto _block1__branch7;
     
    24382442        Expr _v__q_2;
    24392443        RF_CALL (Box::_q_, Module_m_Name, _v__q_2);
    2440         _ve_prefix = (_v__q_2 + _c_102);
     2444        _ve_prefix = (_v__q_2 + _c_101);
    24412445      }
    24422446    _block2: {}
    24432447      Expr _v_Rfp2Cpp1;
    2444       RF_CALL (CppMangle::Rfp2Cpp, (_c_68 + _vt_name) (), _v_Rfp2Cpp1);
     2448      RF_CALL (CppMangle::Rfp2Cpp, (_c_67 + _vt_name) (), _v_Rfp2Cpp1);
    24452449      _v_res1 = (_ve_prefix + _v_Rfp2Cpp1);
    24462450      goto _block1;
     
    25022506        }
    25032507      _block2__branch1: {}
    2504         RF_ERROR ((_c_103 + _vs_ObjectSymbol) ());
     2508        RF_ERROR ((_c_102 + _vs_ObjectSymbol) ());
    25052509      }
    25062510    _block2: {}
     
    25252529      }
    25262530      uintptr_t _v_len__expr = (_v_len1 - _v_len2);
    2527       if (!_c_89.term_eq (_v_deref__arg1, 0))
     2531      if (!_c_88.term_eq (_v_deref__arg1, 0))
    25282532      {
    25292533        goto _block1__branch3;
     
    25322536      Expr _v_Expr_m_Ref_m_To_m_CPP1;
    25332537      RF_CALL (Expr_m_Ref_m_To_m_CPP, _ve_expr, _v_Expr_m_Ref_m_To_m_CPP1);
    2534       _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP1 + _c_104);
     2538      _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP1 + _c_103);
    25352539      goto _block1;
    25362540    }
     
    25532557      }
    25542558      uintptr_t _v_len__args = (_v_len3 - _v_len4);
    2555       if (!_c_90.term_eq (_v_deref__arg12, 0))
     2559      if (!_c_89.term_eq (_v_deref__arg12, 0))
    25562560      {
    25572561        goto _block1__branch4;
     
    25592563      Expr _ve_args (_v_deref__arg12, 1, _v_len__args);
    25602564      Expr _v_Args_m_To_m_CPP1;
    2561       RF_CALL (Args_m_To_m_CPP, (empty, _c_105, _ve_args), _v_Args_m_To_m_CPP1);
    2562       _v_res1 = (_c_106 + _v_Args_m_To_m_CPP1 + _c_23);
     2565      RF_CALL (Args_m_To_m_CPP, (empty, _c_104, _ve_args), _v_Args_m_To_m_CPP1);
     2566      _v_res1 = (_c_105 + _v_Args_m_To_m_CPP1 + _c_23);
    25632567      goto _block1;
    25642568    }
     
    25812585      }
    25822586      uintptr_t _v_len__args2 = (_v_len5 - _v_len6);
    2583       if (!_c_91.term_eq (_v_deref__arg13, 0))
     2587      if (!_c_90.term_eq (_v_deref__arg13, 0))
    25842588      {
    25852589        goto _block1__branch5;
     
    25872591      Expr _ve_args (_v_deref__arg13, 1, _v_len__args2);
    25882592      Expr _v_Args_m_To_m_CPP2;
    2589       RF_CALL (Args_m_To_m_CPP, (empty, _c_105, _ve_args), _v_Args_m_To_m_CPP2);
    2590       _v_res1 = (_c_107 + _v_Args_m_To_m_CPP2 + _c_23);
     2593      RF_CALL (Args_m_To_m_CPP, (empty, _c_104, _ve_args), _v_Args_m_To_m_CPP2);
     2594      _v_res1 = (_c_106 + _v_Args_m_To_m_CPP2 + _c_23);
    25912595      goto _block1;
    25922596    }
     
    26092613      }
    26102614      uintptr_t _v_len__args3 = (_v_len7 - _v_len8);
    2611       if (!_c_92.term_eq (_v_deref__arg14, 0))
     2615      if (!_c_91.term_eq (_v_deref__arg14, 0))
    26122616      {
    26132617        goto _block1__branch6;
     
    26202624      Expr _ve_args (_v_deref__arg14, 2, _v_len__args3);
    26212625      Expr _v_Infix_m_To_m_CPP1;
    2622       RF_CALL (Infix_m_To_m_CPP, (_c_108, _vs_op, _ve_args), _v_Infix_m_To_m_CPP1);
    2623       _v_res1 = (_c_96 + _v_Infix_m_To_m_CPP1 + _c_23);
     2626      RF_CALL (Infix_m_To_m_CPP, (_c_107, _vs_op, _ve_args), _v_Infix_m_To_m_CPP1);
     2627      _v_res1 = (_c_95 + _v_Infix_m_To_m_CPP1 + _c_23);
    26242628      goto _block1;
    26252629    }
     
    26392643        goto _block1__branch7;
    26402644      }
    2641       if (!_c_99.term_eq (_v_deref__arg15, 0))
     2645      if (!_c_98.term_eq (_v_deref__arg15, 0))
    26422646      {
    26432647        goto _block1__branch7;
     
    26752679    RF_CALL (List::Paren, _v_arg1, _v_Paren1);
    26762680    Expr _v_Infix_m_To_m_CPP2;
    2677     RF_CALL (Infix_m_To_m_CPP, (_c_108, _c_95, _v_Paren1), _v_Infix_m_To_m_CPP2);
    2678     _v_res1 = (_c_96 + _v_Infix_m_To_m_CPP2 + _c_23);
     2681    RF_CALL (Infix_m_To_m_CPP, (_c_107, _c_94, _v_Paren1), _v_Infix_m_To_m_CPP2);
     2682    _v_res1 = (_c_95 + _v_Infix_m_To_m_CPP2 + _c_23);
    26792683  }
    26802684_block1: {}
     
    27302734      }
    27312735      uintptr_t _v_len__exprs = (_v_len3 - _v_len4);
    2732       if (!_c_80.term_eq (_v_deref__arg1, 0))
     2736      if (!_c_79.term_eq (_v_deref__arg1, 0))
    27332737      {
    27342738        goto _block1__branch2;
     
    27402744      RF_CALL (Name_m_To_m_CPP, _vt_name, _v_Name_m_To_m_CPP1);
    27412745      Expr _v_Args_m_To_m_CPP1;
    2742       RF_CALL (Args_m_To_m_CPP, (empty, _c_81, _ve_exprs), _v_Args_m_To_m_CPP1);
     2746      RF_CALL (Args_m_To_m_CPP, (empty, _c_80, _ve_exprs), _v_Args_m_To_m_CPP1);
    27432747      Expr _v_Args_m_To_m_CPP2;
    27442748      RF_CALL (Args_m_To_m_CPP, (empty, _c_20, _ve_ress), _v_Args_m_To_m_CPP2);
    2745       _v_res1 = (_c_109 + _v_Name_m_To_m_CPP1 + _c_24 + _v_Args_m_To_m_CPP1 + _c_24 + _v_Args_m_To_m_CPP2 + _c_23);
     2749      _v_res1 = (_c_108 + _v_Name_m_To_m_CPP1 + _c_24 + _v_Args_m_To_m_CPP1 + _c_24 + _v_Args_m_To_m_CPP2 + _c_23);
    27462750      goto _block1;
    27472751    }
     
    27762780      }
    27772781      uintptr_t _v_len__pos = (_v_len7 - _v_len8);
    2778       if (!_c_110.term_eq (_v_deref__arg12, 0))
     2782      if (!_c_109.term_eq (_v_deref__arg12, 0))
    27792783      {
    27802784        goto _block1__branch3;
     
    27862790      Expr _v_Expr_m_Int_m_To_m_CPP1;
    27872791      RF_CALL (Expr_m_Int_m_To_m_CPP, _ve_pos, _v_Expr_m_Int_m_To_m_CPP1);
    2788       _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP1 + _c_111 + _v_Expr_m_Int_m_To_m_CPP1 + _c_23);
     2792      _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP1 + _c_110 + _v_Expr_m_Int_m_To_m_CPP1 + _c_23);
    27892793      goto _block1;
    27902794    }
     
    28312835      }
    28322836      uintptr_t _v_len__pos2 = (_v_len13 - _v_len14);
    2833       if (!_c_112.term_eq (_v_deref__arg13, 0))
     2837      if (!_c_111.term_eq (_v_deref__arg13, 0))
    28342838      {
    28352839        goto _block1__branch4;
     
    28442848      Expr _v_Expr_m_Int_m_To_m_CPP3;
    28452849      RF_CALL (Expr_m_Int_m_To_m_CPP, _ve_len, _v_Expr_m_Int_m_To_m_CPP3);
    2846       _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP2 + _c_113 + _v_Expr_m_Int_m_To_m_CPP2 + _c_24 + _v_Expr_m_Int_m_To_m_CPP3 + _c_23);
     2850      _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP2 + _c_112 + _v_Expr_m_Int_m_To_m_CPP2 + _c_24 + _v_Expr_m_Int_m_To_m_CPP3 + _c_23);
    28472851      goto _block1;
    28482852    }
     
    28652869      }
    28662870      uintptr_t _v_len__expr3 = (_v_len15 - _v_len16);
    2867       if (!_c_114.term_eq (_v_deref__arg14, 0))
     2871      if (!_c_113.term_eq (_v_deref__arg14, 0))
    28682872      {
    28692873        goto _block1__branch5;
     
    28722876      Expr _v_Expr_m_Ref_m_To_m_CPP3;
    28732877      RF_CALL (Expr_m_Ref_m_To_m_CPP, _ve_expr, _v_Expr_m_Ref_m_To_m_CPP3);
    2874       _v_res1 = (_c_115 + _v_Expr_m_Ref_m_To_m_CPP3 + _c_23);
     2878      _v_res1 = (_c_114 + _v_Expr_m_Ref_m_To_m_CPP3 + _c_23);
    28752879      goto _block1;
    28762880    }
     
    29172921      }
    29182922      uintptr_t _v_len__expr22 = (_v_len21 - _v_len22);
    2919       if (!_c_116.term_eq (_v_deref__arg15, 0))
     2923      if (!_c_115.term_eq (_v_deref__arg15, 0))
    29202924      {
    29212925        goto _block1__branch6;
     
    29302934      Expr _v_Expr_m_Int_m_To_m_CPP4;
    29312935      RF_CALL (Expr_m_Int_m_To_m_CPP, _ve_pos, _v_Expr_m_Int_m_To_m_CPP4);
    2932       _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP4 + _c_117 + _v_Expr_m_Ref_m_To_m_CPP5 + _c_24 + _v_Expr_m_Int_m_To_m_CPP4 + _c_23);
     2936      _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP4 + _c_116 + _v_Expr_m_Ref_m_To_m_CPP5 + _c_24 + _v_Expr_m_Int_m_To_m_CPP4 + _c_23);
    29332937      goto _block1;
    29342938    }
     
    29752979      }
    29762980      uintptr_t _v_len__expr23 = (_v_len27 - _v_len28);
    2977       if (!_c_118.term_eq (_v_deref__arg16, 0))
     2981      if (!_c_117.term_eq (_v_deref__arg16, 0))
    29782982      {
    29792983        goto _block1__branch7;
     
    29882992      Expr _v_Expr_m_Int_m_To_m_CPP5;
    29892993      RF_CALL (Expr_m_Int_m_To_m_CPP, _ve_pos, _v_Expr_m_Int_m_To_m_CPP5);
    2990       _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP6 + _c_119 + _v_Expr_m_Ref_m_To_m_CPP7 + _c_24 + _v_Expr_m_Int_m_To_m_CPP5 + _c_23);
     2994      _v_res1 = (_v_Expr_m_Ref_m_To_m_CPP6 + _c_118 + _v_Expr_m_Ref_m_To_m_CPP7 + _c_24 + _v_Expr_m_Int_m_To_m_CPP5 + _c_23);
    29912995      goto _block1;
    29922996    }
     
    30093013      }
    30103014      uintptr_t _v_len__cond = (_v_len29 - _v_len30);
    3011       if (!_c_120.term_eq (_v_deref__arg17, 0))
     3015      if (!_c_119.term_eq (_v_deref__arg17, 0))
    30123016      {
    30133017        goto _block1__branch8;
     
    30163020      Expr _v_Cond_m_To_m_CPP1;
    30173021      RF_CALL (Cond_m_To_m_CPP, _ve_cond, _v_Cond_m_To_m_CPP1);
    3018       _v_res1 = (_c_121 + _v_Cond_m_To_m_CPP1);
     3022      _v_res1 = (_c_120 + _v_Cond_m_To_m_CPP1);
    30193023      goto _block1;
    30203024    }
     
    30373041      }
    30383042      uintptr_t _v_len__args = (_v_len31 - _v_len32);
    3039       if (!_c_92.term_eq (_v_deref__arg18, 0))
     3043      if (!_c_91.term_eq (_v_deref__arg18, 0))
    30403044      {
    30413045        goto _block1__branch9;
     
    30513055      Expr _v_Infix_m_To_m_CPP1;
    30523056      RF_CALL (Infix_m_To_m_CPP, (_v_Op_m_Arg_m_To_m_CPP1, _vs_op, _ve_args), _v_Infix_m_To_m_CPP1);
    3053       _v_res1 = (_c_96 + _v_Infix_m_To_m_CPP1 + _c_23);
     3057      _v_res1 = (_c_95 + _v_Infix_m_To_m_CPP1 + _c_23);
    30543058      goto _block1;
    30553059    }
     
    30583062    RF_CALL (List::Paren, _v_arg1, _v_Paren1);
    30593063    Expr _v_Infix_m_To_m_CPP2;
    3060     RF_CALL (Infix_m_To_m_CPP, (_c_122, _c_123, _v_Paren1), _v_Infix_m_To_m_CPP2);
    3061     _v_res1 = (_c_96 + _v_Infix_m_To_m_CPP2 + _c_23);
     3064    RF_CALL (Infix_m_To_m_CPP, (_c_121, _c_122, _v_Paren1), _v_Infix_m_To_m_CPP2);
     3065    _v_res1 = (_c_95 + _v_Infix_m_To_m_CPP2 + _c_23);
    30623066  }
    30633067_block1: {}
     
    31013105            goto _block2__branch1;
    31023106          }
    3103           uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_362_m_28 = (_v_len5 - _v_len6);
     3107          uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_367_m_28 = (_v_len5 - _v_len6);
    31043108          uintptr_t _v_len7 = _ve_arg.get_len ();
    31053109          uintptr_t _v_len8 = 0;
     
    31083112            goto _block2__branch1;
    31093113          }
    3110           uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_362_m_16 = (_v_len7 - _v_len8);
    3111           Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_362_m_16 (_ve_arg, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_362_m_16);
    3112           Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_362_m_28 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_362_m_28);
    3113           _v_res1 = (_ve_arg + _c_51 + _vs_op + _c_51 + _ve_rest);
     3114          uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_367_m_16 = (_v_len7 - _v_len8);
     3115          Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_367_m_16 (_ve_arg, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_367_m_16);
     3116          Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_367_m_28 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_367_m_28);
     3117          _v_res1 = (_ve_arg + _c_123 + _vs_op + _c_123 + _ve_rest);
    31143118          goto _block2;
    31153119        }
     
    31313135      {
    31323136        {
    3133           if (!_vs_op.term_eq (_c_123, 0))
     3137          if (!_vs_op.term_eq (_c_122, 0))
    31343138          {
    31353139            goto _block2__branch1;
     
    31443148      }
    31453149    _block2: {}
    3146       _v_res1 = _c_122;
     3150      _v_res1 = _c_121;
    31473151      goto _block1;
    31483152    }
     
    31983202    _block3__branch6: {}
    31993203      {
    3200         if (!_vs_op.term_eq (_c_95, 0))
     3204        if (!_vs_op.term_eq (_c_94, 0))
    32013205        {
    32023206          goto _block3__branch7;
     
    32353239    }
    32363240  _block3: {}
    3237     _v_res1 = _c_108;
     3241    _v_res1 = _c_107;
    32383242  }
    32393243_block1: {}
     
    32753279      Expr _v_Expr_m_Ref_m_To_m_CPP1;
    32763280      RF_CALL (Expr_m_Ref_m_To_m_CPP, _ve_expr, _v_Expr_m_Ref_m_To_m_CPP1);
    3277       _v_res1 = (_c_115 + _v_Expr_m_Ref_m_To_m_CPP1 + _c_136);
     3281      _v_res1 = (_c_114 + _v_Expr_m_Ref_m_To_m_CPP1 + _c_136);
    32783282      goto _block1;
    32793283    }
     
    33023306    Expr _v_Expr_m_Ref_m_To_m_CPP2;
    33033307    RF_CALL (Expr_m_Ref_m_To_m_CPP, _ve_expr, _v_Expr_m_Ref_m_To_m_CPP2);
    3304     _v_res1 = (_c_115 + _v_Expr_m_Ref_m_To_m_CPP2 + _c_138);
     3308    _v_res1 = (_c_114 + _v_Expr_m_Ref_m_To_m_CPP2 + _c_138);
    33053309  }
    33063310_block1: {}
     
    33143318        goto _block1__branch1;
    33153319      }
    3316       _v_res1 = _c_93;
     3320      _v_res1 = _c_92;
    33173321      goto _block1;
    33183322    }
     
    33323336        goto _block1__branch2;
    33333337      }
    3334       if (!_c_57.term_eq (_v_deref__arg1, 0))
     3338      if (!_c_56.term_eq (_v_deref__arg1, 0))
    33353339      {
    33363340        goto _block1__branch2;
     
    33493353      Expr _v_Rfp2Cpp1;
    33503354      RF_CALL (CppMangle::Rfp2Cpp, _vt_name, _v_Rfp2Cpp1);
    3351       _v_res1 = (_c_98 + _v_Rfp2Cpp1 + _c_24 + _vs_pos + _c_24 + _vs_len + _c_23);
     3355      _v_res1 = (_c_97 + _v_Rfp2Cpp1 + _c_24 + _vs_pos + _c_24 + _vs_len + _c_23);
    33523356      goto _block1;
    33533357    }
     
    34423446        goto _block1__branch2;
    34433447      }
    3444       uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_400_m_14 = (_v_len7 - _v_len8);
    3445       Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_400_m_14 (_ve_accum, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_400_m_14);
    3446       Expr _v_Const_m_Expr_m_Aux1;
    3447       RF_CALL (Const_m_Expr_m_Aux, (_c_139 + _ve_expr), _v_Const_m_Expr_m_Aux1);
    3448       _v_res1 = (_c_141 + _ve_accum + _c_71 + _v_Const_m_Expr_m_Aux1);
     3448      uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_405_m_14 = (_v_len7 - _v_len8);
     3449      Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_405_m_14 (_ve_accum, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_405_m_14);
     3450      {
     3451        {
     3452          Expr _v_Chars_m_To_m_Bytes1;
     3453          RF_CALL (Convert::Chars_m_To_m_Bytes, _ve_accum, _v_Chars_m_To_m_Bytes1);
     3454          if ((_v_Chars_m_To_m_Bytes1.get_len () < 1))
     3455          {
     3456            goto _block2__branch1;
     3457          }
     3458          RF_lsplit (_v_Chars_m_To_m_Bytes1, 0, _ve__e__e_tmp_m_rfp__asail__cpprf_m_407_m_35, _v_lsplit__Chars_m_To_m_Bytes1);
     3459          for ( ; ; RF_iter(_v_Chars_m_To_m_Bytes1)++)
     3460          {
     3461            {
     3462              if (!RF_iter(_v_Chars_m_To_m_Bytes1))
     3463              {
     3464                goto _block2__branch1;
     3465              }
     3466              uintptr_t _v_len9 = _v_lsplit__Chars_m_To_m_Bytes1.get_len ();
     3467              uintptr_t _v_len10 = 1;
     3468              if ((_v_len9 < _v_len10))
     3469              {
     3470                goto _block2__branch1;
     3471              }
     3472              uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_407_m_41 = (_v_len9 - _v_len10);
     3473              if (!_v_lsplit__Chars_m_To_m_Bytes1.symbol_at (0))
     3474              {
     3475                goto _continue1;
     3476              }
     3477              Expr _vs_c (_v_lsplit__Chars_m_To_m_Bytes1, 0, 1);
     3478              Expr _ve__e__e_tmp_m_rfp__asail__cpprf_m_407_m_41 (_v_lsplit__Chars_m_To_m_Bytes1, 1, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_407_m_41);
     3479              if (!RF_CALL (Compare::_gt_, (_vs_c, _c_141), /*void*/))
     3480              {
     3481                goto _continue1;
     3482              }
     3483              Expr _v_Const_m_Expr_m_Aux1;
     3484              RF_CALL (Const_m_Expr_m_Aux, (_c_139 + _ve_expr), _v_Const_m_Expr_m_Aux1);
     3485              _v_res1 = (_c_142 + _ve_accum + _c_70 + _v_Const_m_Expr_m_Aux1);
     3486              goto _exit1;
     3487            }
     3488        _continue1: {}
     3489          }
     3490        _exit1: {}
     3491          goto _block2;
     3492        }
     3493      _block2__branch1: {}
     3494        Expr _v_Const_m_Expr_m_Aux2;
     3495        RF_CALL (Const_m_Expr_m_Aux, (_c_139 + _ve_expr), _v_Const_m_Expr_m_Aux2);
     3496        _v_res1 = (_c_143 + _ve_accum + _c_70 + _v_Const_m_Expr_m_Aux2);
     3497      }
     3498    _block2: {}
    34493499      goto _block1;
    34503500    }
    34513501  _block1__branch2: {}
    34523502    {
    3453       uintptr_t _v_len9 = _v_len__expr;
    3454       uintptr_t _v_len10 = 1;
    3455       if ((_v_len9 < _v_len10))
     3503      uintptr_t _v_len11 = _v_len__expr;
     3504      uintptr_t _v_len12 = 1;
     3505      if ((_v_len11 < _v_len12))
    34563506      {
    34573507        goto _block1__branch3;
    34583508      }
    3459       uintptr_t _v_len__rest2 = (_v_len9 - _v_len10);
     3509      uintptr_t _v_len__rest2 = (_v_len11 - _v_len12);
    34603510      Expr _vt_item (_ve_expr, 0, 1);
    34613511      Expr _ve_rest (_ve_expr, 1, _v_len__rest2);
     
    34653515          if (_vt_item.symbol_at (0))
    34663516          {
    3467             goto _block2__branch1;
     3517            goto _block3__branch1;
    34683518          }
    34693519          Expr _v_deref__item (_vt_item, 0);
    3470           uintptr_t _v_len11 = _v_deref__item.get_len ();
    3471           uintptr_t _v_len12 = 1;
    3472           if ((_v_len11 < _v_len12))
    3473           {
    3474             goto _block2__branch1;
    3475           }
    3476           uintptr_t _v_len__paren_m_expr = (_v_len11 - _v_len12);
    3477           if (!_c_88.term_eq (_v_deref__item, 0))
    3478           {
    3479             goto _block2__branch1;
     3520          uintptr_t _v_len13 = _v_deref__item.get_len ();
     3521          uintptr_t _v_len14 = 1;
     3522          if ((_v_len13 < _v_len14))
     3523          {
     3524            goto _block3__branch1;
     3525          }
     3526          uintptr_t _v_len__paren_m_expr = (_v_len13 - _v_len14);
     3527          if (!_c_87.term_eq (_v_deref__item, 0))
     3528          {
     3529            goto _block3__branch1;
    34803530          }
    34813531          Expr _ve_paren_m_expr (_v_deref__item, 1, _v_len__paren_m_expr);
    34823532          Expr _v_Const_m_Expr_m_To_m_CPP1;
    34833533          RF_CALL (Const_m_Expr_m_To_m_CPP, _ve_paren_m_expr, _v_Const_m_Expr_m_To_m_CPP1);
    3484           _ve_cpp_m_item = (_c_143 + _v_Const_m_Expr_m_To_m_CPP1 + _c_142);
    3485           goto _block2;
    3486         }
    3487       _block2__branch1: {}
     3534          _ve_cpp_m_item = (_c_145 + _v_Const_m_Expr_m_To_m_CPP1 + _c_144);
     3535          goto _block3;
     3536        }
     3537      _block3__branch1: {}
    34883538        {
    34893539          if (_vt_item.symbol_at (0))
    34903540          {
    3491             goto _block2__branch2;
     3541            goto _block3__branch2;
    34923542          }
    34933543          Expr _v_deref__item2 (_vt_item, 0);
    34943544          if ((_v_deref__item2.get_len () != 2))
    34953545          {
    3496             goto _block2__branch2;
    3497           }
    3498           if (!_c_99.term_eq (_v_deref__item2, 0))
    3499           {
    3500             goto _block2__branch2;
     3546            goto _block3__branch2;
     3547          }
     3548          if (!_c_98.term_eq (_v_deref__item2, 0))
     3549          {
     3550            goto _block3__branch2;
    35013551          }
    35023552          Expr _vt_name (_v_deref__item2, 1, 1);
     
    35043554          RF_CALL (Name_m_To_m_CPP, _vt_name, _v_Name_m_To_m_CPP1);
    35053555          _ve_cpp_m_item = (_c_140 + _v_Name_m_To_m_CPP1);
    3506           goto _block2;
    3507         }
    3508       _block2__branch2: {}
     3556          goto _block3;
     3557        }
     3558      _block3__branch2: {}
    35093559        {
    35103560          if (_vt_item.symbol_at (0))
    35113561          {
    3512             goto _block2__branch3;
     3562            goto _block3__branch3;
    35133563          }
    35143564          Expr _v_deref__item3 (_vt_item, 0);
    3515           uintptr_t _v_len13 = _v_deref__item3.get_len ();
    3516           uintptr_t _v_len14 = 1;
    3517           if ((_v_len13 < _v_len14))
    3518           {
    3519             goto _block2__branch3;
    3520           }
    3521           uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_408_m_14 = (_v_len13 - _v_len14);
    3522           if (!_c_68.term_eq (_v_deref__item3, 0))
    3523           {
    3524             goto _block2__branch3;
    3525           }
    3526           Expr _ve__e__e_tmp_m_rfp__asail__cpprf_m_408_m_14 (_v_deref__item3, 1, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_408_m_14);
     3565          uintptr_t _v_len15 = _v_deref__item3.get_len ();
     3566          uintptr_t _v_len16 = 1;
     3567          if ((_v_len15 < _v_len16))
     3568          {
     3569            goto _block3__branch3;
     3570          }
     3571          uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_419_m_14 = (_v_len15 - _v_len16);
     3572          if (!_c_67.term_eq (_v_deref__item3, 0))
     3573          {
     3574            goto _block3__branch3;
     3575          }
     3576          Expr _ve__e__e_tmp_m_rfp__asail__cpprf_m_419_m_14 (_v_deref__item3, 1, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_419_m_14);
    35273577          Expr _v_Rfp2Cpp1;
    35283578          RF_CALL (CppMangle::Rfp2Cpp, _vt_item, _v_Rfp2Cpp1);
    35293579          _ve_cpp_m_item = (_c_140 + _v_Rfp2Cpp1);
    3530           goto _block2;
    3531         }
    3532       _block2__branch3: {}
     3580          goto _block3;
     3581        }
     3582      _block3__branch3: {}
    35333583        {
    35343584          if (_vt_item.symbol_at (0))
    35353585          {
    3536             goto _block2__branch4;
     3586            goto _block3__branch4;
    35373587          }
    35383588          Expr _v_deref__item4 (_vt_item, 0);
    35393589          if ((_v_deref__item4.get_len () != 2))
    35403590          {
    3541             goto _block2__branch4;
     3591            goto _block3__branch4;
    35423592          }
    35433593          if (!_v_deref__item4.symbol_at (0))
    35443594          {
    3545             goto _block2__branch4;
     3595            goto _block3__branch4;
    35463596          }
    35473597          Expr _vs_FUNC (_v_deref__item4, 0, 1);
     
    35513601              if (!_vs_FUNC.term_eq (_c_12, 0))
    35523602              {
    3553                 goto _block3__branch1;
     3603                goto _block4__branch1;
    35543604              }
    3555               goto _block3;
     3605              goto _block4;
    35563606            }
    3557           _block3__branch1: {}
     3607          _block4__branch1: {}
    35583608            if (!_vs_FUNC.term_eq (_c_14, 0))
    35593609            {
    3560               goto _block2__branch4;
     3610              goto _block3__branch4;
    35613611            }
    35623612          }
    3563         _block3: {}
     3613        _block4: {}
    35643614          Expr _v_Name_m_To_m_CPP2;
    35653615          RF_CALL (Name_m_To_m_CPP, _vt_name, _v_Name_m_To_m_CPP2);
    3566           _ve_cpp_m_item = (_c_144 + _v_Name_m_To_m_CPP2 + _c_23);
    3567           goto _block2;
    3568         }
    3569       _block2__branch4: {}
     3616          _ve_cpp_m_item = (_c_146 + _v_Name_m_To_m_CPP2 + _c_23);
     3617          goto _block3;
     3618        }
     3619      _block3__branch4: {}
    35703620        if (!_vt_item.symbol_at (0))
    35713621        {
     
    35773627            if (!RF_CALL (Class::Int_q_, _vs_sym, /*void*/))
    35783628            {
    3579               goto _block4__branch1;
     3629              goto _block5__branch1;
    35803630            }
    35813631            Expr _v__q_1;
    35823632            RF_CALL (Box::_q_, Int, _v__q_1);
    3583             _ve_cpp_m_item = (_c_146 + _v__q_1 + _c_145 + _vs_sym + _c_71);
    3584             goto _block4;
    3585           }
    3586         _block4__branch1: {}
     3633            _ve_cpp_m_item = (_c_148 + _v__q_1 + _c_147 + _vs_sym + _c_70);
     3634            goto _block5;
     3635          }
     3636        _block5__branch1: {}
    35873637          if (!RF_CALL (Class::Word_q_, _vs_sym, /*void*/))
    35883638          {
     
    35913641          Expr _v_Symbol_m_To_m_CPP2;
    35923642          RF_CALL (Symbol_m_To_m_CPP, _vs_sym, _v_Symbol_m_To_m_CPP2);
    3593           _ve_cpp_m_item = (_c_147 + _v_Symbol_m_To_m_CPP2 + _c_71);
    3594         }
    3595       _block4: {}
    3596       }
    3597     _block2: {}
    3598       Expr _v_Const_m_Expr_m_Aux2;
    3599       RF_CALL (Const_m_Expr_m_Aux, (_c_139 + _ve_rest), _v_Const_m_Expr_m_Aux2);
    3600       _v_res1 = (_ve_cpp_m_item + _v_Const_m_Expr_m_Aux2);
     3643          _ve_cpp_m_item = (_c_149 + _v_Symbol_m_To_m_CPP2 + _c_70);
     3644        }
     3645      _block5: {}
     3646      }
     3647    _block3: {}
     3648      Expr _v_Const_m_Expr_m_Aux3;
     3649      RF_CALL (Const_m_Expr_m_Aux, (_c_139 + _ve_rest), _v_Const_m_Expr_m_Aux3);
     3650      _v_res1 = (_ve_cpp_m_item + _v_Const_m_Expr_m_Aux3);
    36013651      goto _block1;
    36023652    }
     
    36383688    {
    36393689      {
    3640         if (!_vs_char.term_eq (_c_148, 0))
     3690        if (!_vs_char.term_eq (_c_150, 0))
    36413691        {
    36423692          goto _block3__branch1;
    3643         }
    3644         _ve_cpp_m_char = _c_149;
    3645         goto _block3;
    3646       }
    3647     _block3__branch1: {}
    3648       {
    3649         if (!_vs_char.term_eq (_c_150, 0))
    3650         {
    3651           goto _block3__branch2;
    36523693        }
    36533694        _ve_cpp_m_char = _c_151;
    36543695        goto _block3;
    36553696      }
    3656     _block3__branch2: {}
     3697    _block3__branch1: {}
    36573698      {
    36583699        if (!_vs_char.term_eq (_c_152, 0))
    36593700        {
    3660           goto _block3__branch3;
     3701          goto _block3__branch2;
    36613702        }
    36623703        _ve_cpp_m_char = _c_153;
    36633704        goto _block3;
    36643705      }
    3665     _block3__branch3: {}
     3706    _block3__branch2: {}
    36663707      {
    36673708        if (!_vs_char.term_eq (_c_154, 0))
    36683709        {
    3669           goto _block3__branch4;
     3710          goto _block3__branch3;
    36703711        }
    36713712        _ve_cpp_m_char = _c_155;
    36723713        goto _block3;
    36733714      }
    3674     _block3__branch4: {}
     3715    _block3__branch3: {}
    36753716      {
    36763717        if (!_vs_char.term_eq (_c_156, 0))
    36773718        {
    3678           goto _block3__branch5;
     3719          goto _block3__branch4;
    36793720        }
    36803721        _ve_cpp_m_char = _c_157;
    36813722        goto _block3;
    36823723      }
     3724    _block3__branch4: {}
     3725      {
     3726        if (!_vs_char.term_eq (_c_158, 0))
     3727        {
     3728          goto _block3__branch5;
     3729        }
     3730        _ve_cpp_m_char = _c_159;
     3731        goto _block3;
     3732      }
    36833733    _block3__branch5: {}
    36843734      if (!_vs_char.symbol_at (0))
     
    36863736        RF_FUNC_ERROR (unexpected_fail);
    36873737      }
    3688       Expr _vs__e__e_tmp_m_rfp__asail__cpprf_m_435_m_8 (_vs_char, 0, 1);
     3738      Expr _vs__e__e_tmp_m_rfp__asail__cpprf_m_446_m_8 (_vs_char, 0, 1);
    36893739      _ve_cpp_m_char = _vs_char;
    36903740    }
     
    37213771      }
    37223772      Expr _vv_prefix (_v_deref__compose1, 0, _v_len__prefix);
    3723       _v_res1 = _c_158;
     3773      _v_res1 = _c_160;
    37243774      goto _block1;
    37253775    }
     
    37313781      }
    37323782      Expr _v_compose2 ((_v_arg1 () + _v_arg2 + _v_arg3));
    3733       if (!_c_159.eq (_v_compose2, 0))
     3783      if (!_c_161.eq (_v_compose2, 0))
    37343784      {
    37353785        goto _block1__branch2;
    37363786      }
    3737       _v_res1 = _c_160;
     3787      _v_res1 = _c_162;
    37383788      goto _block1;
    37393789    }
     
    37573807      }
    37583808      uintptr_t _v_len__arg = (_v_len3 - _v_len4);
    3759       if (!_c_159.eq (_v_compose3, 0))
     3809      if (!_c_161.eq (_v_compose3, 0))
    37603810      {
    37613811        goto _block1__branch3;
     
    37843834      }
    37853835      uintptr_t _v_len__prefix2 = (_v_len5 - _v_len6);
    3786       if (!_c_81.term_eq (_v_compose4, 1))
     3836      if (!_c_80.term_eq (_v_compose4, 1))
    37873837      {
    37883838        goto _block1__branch4;
    37893839      }
    37903840      Expr _ve_prefix (_v_deref__compose4, 0, _v_len__prefix2);
    3791       _v_res1 = _c_160;
     3841      _v_res1 = _c_162;
    37923842      goto _block1;
    37933843    }
     
    38233873      }
    38243874      uintptr_t _v_len__prefix3 = (_v_len9 - _v_len10);
    3825       if (!_c_81.term_eq (_v_compose5, 1))
     3875      if (!_c_80.term_eq (_v_compose5, 1))
    38263876      {
    38273877        goto _block1__branch5;
     
    38453895          {
    38463896            Expr _v_compose6 ((_v_arg1 () + _v_arg2));
    3847             if (!_c_81.term_eq (_v_compose6, 1))
     3897            if (!_c_80.term_eq (_v_compose6, 1))
    38483898            {
    38493899              goto _block2__branch1;
    38503900            }
    3851             Expr _vt__e__e_tmp_m_rfp__asail__cpprf_m_466_m_8 (_v_compose6, 0, 1);
    3852             _v_res1 = (_c_96 + _ve_cpp_m_args + _c_23);
     3901            Expr _vt__e__e_tmp_m_rfp__asail__cpprf_m_477_m_8 (_v_compose6, 0, 1);
     3902            _v_res1 = (_c_95 + _ve_cpp_m_args + _c_23);
    38533903            goto _block2;
    38543904          }
     
    38563906          {
    38573907            Expr _v_compose7 ((_v_arg1 () + _v_arg2));
    3858             if (!_c_159.eq (_v_compose7, 0))
     3908            if (!_c_161.eq (_v_compose7, 0))
    38593909            {
    38603910              goto _block2__branch2;
    38613911            }
    3862             _v_res1 = (_c_96 + _ve_cpp_m_args + _c_23);
     3912            _v_res1 = (_c_95 + _ve_cpp_m_args + _c_23);
    38633913            goto _block2;
    38643914          }
     
    38773927              goto _block2__branch3;
    38783928            }
    3879             uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_468_m_9 = (_v_len11 - _v_len12);
     3929            uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_479_m_9 = (_v_len11 - _v_len12);
    38803930            if (!_c_20.term_eq (_v_compose8, 1))
    38813931            {
    38823932              goto _block2__branch3;
    38833933            }
    3884             Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_468_m_9 (_v_deref__compose8, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_468_m_9);
    3885             _v_res1 = (_c_96 + _v_arg1 + _ve_cpp_m_args + _c_161);
     3934            Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_479_m_9 (_v_deref__compose8, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_479_m_9);
     3935            _v_res1 = (_c_95 + _v_arg1 + _ve_cpp_m_args + _c_163);
    38863936            goto _block2;
    38873937          }
     
    38933943            RF_FUNC_ERROR (unexpected_fail);
    38943944          }
    3895           uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_469_m_8 = (_v_len13 - _v_len14);
     3945          uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_480_m_8 = (_v_len13 - _v_len14);
    38963946          Expr _v_compose9 ((_v_arg1 () + _v_arg2));
    3897           Expr _ve__e__e_tmp_m_rfp__asail__cpprf_m_469_m_8 (_v_compose9, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_469_m_8);
     3947          Expr _ve__e__e_tmp_m_rfp__asail__cpprf_m_480_m_8 (_v_compose9, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_480_m_8);
    38983948          _v_res1 = (_v_arg1 + _ve_cpp_m_args);
    38993949        }
     
    39323982            goto _block4__branch1;
    39333983          }
    3934           uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_455_m_21 = (_v_len19 - _v_len20);
    3935           Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_455_m_21 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_455_m_21);
     3984          uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_466_m_21 = (_v_len19 - _v_len20);
     3985          Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_466_m_21 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_466_m_21);
    39363986          _ve_comma = _c_24;
    39373987          goto _block4;
     
    39554005      _block5__branch1: {}
    39564006        {
    3957           if (!_v_arg2.term_eq (_c_81, 0))
     4007          if (!_v_arg2.term_eq (_c_80, 0))
    39584008          {
    39594009            goto _block5__branch2;
     
    39664016        }
    39674017      _block5__branch2: {}
    3968         if (!_v_arg2.term_eq (_c_105, 0))
     4018        if (!_v_arg2.term_eq (_c_104, 0))
    39694019        {
    39704020          RF_FUNC_ERROR (unexpected_fail);
     
    40664116          goto _block3__branch1;
    40674117        }
    4068         uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_490_m_33 = (_v_len1 - _v_len2);
    4069         Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_490_m_33 (_v__q_2, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_490_m_33);
     4118        uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_501_m_33 = (_v_len1 - _v_len2);
     4119        Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_501_m_33 (_v__q_2, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_501_m_33);
    40704120        _ve_close_m_namespace = _c_3;
    40714121        goto _block3;
     
    40854135          goto _block4__branch1;
    40864136        }
    4087         uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_494_m_25 = (_v_len3 - _v_len4);
    4088         Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_494_m_25 (_v_qualifiers__1, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_494_m_25);
     4137        uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_505_m_25 = (_v_len3 - _v_len4);
     4138        Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_505_m_25 (_v_qualifiers__1, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_505_m_25);
    40894139        Expr _v_Rfp2Cpp1;
    40904140        RF_CALL (CppMangle::Rfp2Cpp, _v_qualifiers__1, _v_Rfp2Cpp1);
    4091         _ve_open_m_namespace = (_c_163 + _v_Rfp2Cpp1 + _c_162) ();
     4141        _ve_open_m_namespace = (_c_165 + _v_Rfp2Cpp1 + _c_164) ();
    40924142        goto _block4;
    40934143      }
     
    41034153RF_FUNC (Trace_m_Enter, (RF_ARG _ve_name, _ve_args;;), (RF_RES _v_res1;;))
    41044154  Expr _v_args__1 (_ve_args);
    4105   Expr _vs_n (_c_164);
     4155  Expr _vs_n (_c_166);
    41064156  Expr _ve_pr_m_args (empty);
    41074157  for ( ; ; )
     
    41124162        goto _iter1;
    41134163      }
    4114       _v_res1 = ((_c_166 + _ve_name + _c_165) () + _ve_pr_m_args);
     4164      _v_res1 = ((_c_168 + _ve_name + _c_167) () + _ve_pr_m_args);
    41154165      goto _exit__iter1;
    41164166    }
     
    41364186              goto _block3__branch1;
    41374187            }
    4138             uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_503_m_22 = (_v_len3 - _v_len4);
    4139             Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_503_m_22 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_503_m_22);
     4188            uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_514_m_22 = (_v_len3 - _v_len4);
     4189            Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_514_m_22 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_514_m_22);
    41404190            goto _block3;
    41414191          }
    41424192        _block3__branch1: {}
    4143           if (!RF_CALL (Compare::_gt_, (_vs_n, _c_164), /*void*/))
     4193          if (!RF_CALL (Compare::_gt_, (_vs_n, _c_166), /*void*/))
    41444194          {
    41454195            goto _block2__branch1;
     
    41474197        }
    41484198      _block3: {}
    4149         _ve_num = (_c_167 + _vs_n + _c_4);
     4199        _ve_num = (_c_169 + _vs_n + _c_4);
    41504200        goto _block2;
    41514201      }
    41524202    _block2__branch1: {}
    4153       _ve_num = _c_168;
     4203      _ve_num = _c_170;
    41544204    }
    41554205  _block2: {}
    4156     RF_CALL (Arithm::_p_, (_vs_n, _c_164), _vs_n);
     4206    RF_CALL (Arithm::_p_, (_vs_n, _c_166), _vs_n);
    41574207    Expr _v_Rfp2Cpp1;
    41584208    RF_CALL (CppMangle::Rfp2Cpp, _vt_arg, _v_Rfp2Cpp1);
    41594209    _v_args__1 = _ve_rest;
    4160     _ve_pr_m_args = (_ve_pr_m_args + (_c_170 + _ve_num + _c_54 + _v_Rfp2Cpp1 + _c_169) ());
     4210    _ve_pr_m_args = (_ve_pr_m_args + (_c_172 + _ve_num + _c_54 + _v_Rfp2Cpp1 + _c_171) ());
    41614211  }
    41624212_exit__iter1: {}
     
    41654215RF_FUNC (Trace_m_Exit, (RF_ARG _ve_name, _ve_args;;), (RF_RES _v_res1;;))
    41664216  Expr _v_args__1 (_ve_args);
    4167   Expr _vs_n (_c_164);
     4217  Expr _vs_n (_c_166);
    41684218  Expr _ve_pr_m_args (empty);
    41694219  for ( ; ; )
     
    41744224        goto _iter1;
    41754225      }
    4176       _v_res1 = ((_c_171 + _ve_name + _c_165) () + _ve_pr_m_args);
     4226      _v_res1 = ((_c_173 + _ve_name + _c_167) () + _ve_pr_m_args);
    41774227      goto _exit__iter1;
    41784228    }
     
    41984248              goto _block3__branch1;
    41994249            }
    4200             uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_516_m_22 = (_v_len3 - _v_len4);
    4201             Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_516_m_22 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_516_m_22);
     4250            uintptr_t _v_len___e__e_tmp_m_rfp__asail__cpprf_m_527_m_22 = (_v_len3 - _v_len4);
     4251            Expr _vv__e__e_tmp_m_rfp__asail__cpprf_m_527_m_22 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__cpprf_m_527_m_22);
    42024252            goto _block3;
    42034253          }
    42044254        _block3__branch1: {}
    4205           if (!RF_CALL (Compare::_gt_, (_vs_n, _c_164), /*void*/))
     4255          if (!RF_CALL (Compare::_gt_, (_vs_n, _c_166), /*void*/))
    42064256          {
    42074257            goto _block2__branch1;
     
    42094259        }
    42104260      _block3: {}
    4211         _ve_num = (_c_167 + _vs_n + _c_4);
     4261        _ve_num = (_c_169 + _vs_n + _c_4);
    42124262        goto _block2;
    42134263      }
    42144264    _block2__branch1: {}
    4215       _ve_num = _c_168;
     4265      _ve_num = _c_170;
    42164266    }
    42174267  _block2: {}
    4218     RF_CALL (Arithm::_p_, (_vs_n, _c_164), _vs_n);
     4268    RF_CALL (Arithm::_p_, (_vs_n, _c_166), _vs_n);
    42194269    Expr _v_Rfp2Cpp1;
    42204270    RF_CALL (CppMangle::Rfp2Cpp, _vt_arg, _v_Rfp2Cpp1);
    42214271    _v_args__1 = _ve_rest;
    4222     _ve_pr_m_args = (_ve_pr_m_args + (_c_173 + _ve_num + _c_54 + _v_Rfp2Cpp1 + _c_172) ());
     4272    _ve_pr_m_args = (_ve_pr_m_args + (_c_175 + _ve_num + _c_54 + _v_Rfp2Cpp1 + _c_174) ());
    42234273  }
    42244274_exit__iter1: {}
     
    42264276
    42274277RF_FUNC (Trace_m_Fail, (RF_ARG _ve_name;;), (RF_RES _v_res1;;))
    4228   _v_res1 = (_c_174 + _ve_name + _c_165) ();
     4278  _v_res1 = (_c_176 + _ve_name + _c_167) ();
    42294279RF_END
    42304280
     
    42664316static void init_ ()
    42674317{
    4268   Int = Expr::create_sym< NamedObject<BoxContents> >(L"Int");
    4269   Module_m_Name = Expr::create_sym< NamedObject<BoxContents> >(L"Module-Name");
    4270   Current_m_Namespace = Expr::create_sym< NamedObject<BoxContents> >(L"Current-Namespace");
    4271   Current_m_Func = Expr::create_sym< NamedObject<BoxContents> >(L"Current-Func");
    4272   Current_m_Trace = Expr::create_sym< NamedObject<BoxContents> >(L"Current-Trace");
    4273   Entry = Expr::create_sym< NamedObject<BoxContents> >(L"Entry");
    4274   Entry_m_Name = Expr::create_sym< NamedObject<BoxContents> >(L"Entry-Name");
    4275   Const_m_Exprs = Expr::create_sym< NamedObject<BoxContents> >(L"Const-Exprs");
     4318  Int = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Int");
     4319  Module_m_Name = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Module-Name");
     4320  Current_m_Namespace = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Current-Namespace");
     4321  Current_m_Func = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Current-Func");
     4322  Current_m_Trace = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Current-Trace");
     4323  Entry = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Entry");
     4324  Entry_m_Name = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Entry-Name");
     4325  Const_m_Exprs = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"Const-Exprs");
    42764326  Externs = new rftype::StaticObject<rftype::Table>(L"Externs");
    42774327  _c_0 = Expr::create<Word>("INT");
    42784328  _c_1 = Expr::create<Word>("Integer");
    42794329  _c_2 = Expr::create<Word>("Main");
    4280   _c_175 = Char::create_expr ("static AtStart init_registrator_ (&init_);");
    4281   _c_32 = Char::create_expr (": {}");
     4330  _c_177 = Char::create_expr (L"static AtStart init_registrator_ (&init_);");
     4331  _c_32 = Char::create_expr (L": {}");
    42824332  _c_6 = Expr (_c_32, 3, 1);
    4283   _c_8 = (_c_175) () + (_c_6) ();
     4333  _c_8 = (_c_177) () + (_c_6) ();
    42844334  _c_3 = Expr (_c_8, 1, 1);
    4285   _c_4 = Expr (_c_175, 40, 2);
    4286   _c_5 = Char::create_expr ("rfrt::Entry rf_entry (");
    4287   _c_7 = Char::create_expr ("static void init_ ()\n{");
     4335  _c_4 = Expr (_c_177, 40, 2);
     4336  _c_5 = Char::create_expr (L"rfrt::Entry rf_entry (");
     4337  _c_7 = Char::create_expr (L"static void init_ ()\n{");
    42884338  _c_9 = Expr (_c_4, 1, 1);
    4289   _c_10 = Char::create_expr (" = ");
    4290   _c_176 = Char::create_expr ("using namespace rfrt;");
    4291   _c_11 = (Char::create_expr ("namespace refal\n{")) () + (_c_176) ();
     4339  _c_10 = Char::create_expr (L" = ");
     4340  _c_178 = Char::create_expr (L"using namespace rfrt;");
     4341  _c_11 = (Char::create_expr (L"namespace refal\n{")) () + (_c_178) ();
    42924342  _c_12 = Expr::create<Word>("FUNC");
    42934343  _c_13 = Expr (_c_7, 7, 4);
    42944344  _c_14 = Expr::create<Word>("FUNC?");
    4295   _c_15 = Char::create_expr ("boolean");
    4296   _c_16 = (Char::create_expr ("return true;")) ();
     4345  _c_15 = Char::create_expr (L"boolean");
     4346  _c_16 = (Char::create_expr (L"return true;")) ();
    42974347  _c_17 = Expr::create<Word>("TRACEALL");
    4298   _c_59 = Char::create_expr (".drop ();");
    4299   _c_18 = Expr (_c_59, 0, 1);
    4300   _c_19 = Char::create_expr ("RF_ARG ");
    4301   _c_159 = (empty) () + Expr::create<Word>("Vars");
    4302   _c_20 = Expr (_c_159, 1, 1);
    4303   _c_21 = Char::create_expr ("RF_RES ");
    4304   _c_22 = Char::create_expr ("RF_END");
     4348  _c_58 = Char::create_expr (L".drop ();");
     4349  _c_18 = Expr (_c_58, 0, 1);
     4350  _c_19 = Char::create_expr (L"RF_ARG ");
     4351  _c_161 = (empty) () + Expr::create<Word>("Vars");
     4352  _c_20 = Expr (_c_161, 1, 1);
     4353  _c_21 = Char::create_expr (L"RF_RES ");
     4354  _c_22 = Char::create_expr (L"RF_END");
    43054355  _c_23 = Expr (_c_4, 0, 1);
    4306   _c_165 = Char::create_expr (" <<<\\n\", rfrt::stack->get_depth());");
    4307   _c_24 = Expr (_c_165, 7, 2);
    4308   _c_25 = Char::create_expr ("RF_FUNC (");
     4356  _c_167 = Char::create_expr (L" <<<\\n\", rfrt::stack->get_depth());");
     4357  _c_24 = Expr (_c_167, 7, 2);
     4358  _c_25 = Char::create_expr (L"RF_FUNC (");
    43094359  _c_26 = Expr::create<Word>("TRACE");
    43104360  _c_27 = Expr::create<Word>("IF");
    4311   _c_83 = Char::create_expr ("if (RF_CALL (");
    4312   _c_28 = Expr (_c_83, 0, 4);
     4361  _c_82 = Char::create_expr (L"if (RF_CALL (");
     4362  _c_28 = Expr (_c_82, 0, 4);
    43134363  _c_29 = Expr (_c_7, 21, 1);
    43144364  _c_30 = Expr::create<Word>("FOR");
    43154365  _c_31 = Expr::create<Word>("LABEL");
    4316   _c_34 = Char::create_expr ("for ( ; ");
     4366  _c_34 = Char::create_expr (L"for ( ; ");
    43174367  _c_33 = Expr (_c_34, 6, 2);
    43184368  _c_35 = Expr::create<Word>("TRY");
    4319   _c_36 = (Char::create_expr ("RF_TRAP")) ();
     4369  _c_36 = (Char::create_expr (L"RF_TRAP")) ();
    43204370  _c_37 = Expr::create<Word>("CATCH-ERROR");
    4321   _c_38 = (Char::create_expr ("RF_CLEANUP;")) ();
    4322   _c_39 = (Char::create_expr ("RF_WITH")) ();
     4371  _c_38 = (Char::create_expr (L"RF_CLEANUP;")) ();
     4372  _c_39 = (Char::create_expr (L"RF_WITH")) ();
    43234373  _c_40 = Expr::create<Word>("RETURN");
    43244374  _c_41 = Expr::create<Word>("RETFAIL");
    4325   _c_177 = Char::create_expr ("else RF_RETFAIL;");
    4326   _c_42 = (Expr (_c_177, 5, 11)) ();
     4375  _c_179 = Char::create_expr (L"else RF_RETFAIL;");
     4376  _c_42 = (Expr (_c_179, 5, 11)) ();
    43274377  _c_43 = Expr::create<Word>("FATAL");
    4328   _c_44 = (Char::create_expr ("RF_FUNC_ERROR (unexpected_fail);")) ();
     4378  _c_44 = (Char::create_expr (L"RF_FUNC_ERROR (unexpected_fail);")) ();
    43294379  _c_45 = Expr::create<Word>("LSPLIT");
    4330   _c_46 = Char::create_expr ("RF_lsplit (");
     4380  _c_46 = Char::create_expr (L"RF_lsplit (");
    43314381  _c_47 = Expr::create<Word>("RSPLIT");
    4332   _c_48 = Char::create_expr ("RF_rsplit (");
     4382  _c_48 = Char::create_expr (L"RF_rsplit (");
    43334383  _c_49 = Expr::create<Word>("ASSIGN");
    43344384  _c_50 = Expr::create<Word>("DECL");
    4335   _c_51 = Expr (_c_33, 1, 1);
    4336   _c_52 = Char::create_expr ("uintptr_t ");
     4385  _c_75 = Char::create_expr (L"extern Expr ");
     4386  _c_51 = Expr (_c_75, 7, 5);
     4387  _c_52 = Char::create_expr (L"uintptr_t ");
    43374388  _c_53 = Expr::create<Word>("EXPR");
    43384389  _c_54 = Expr (_c_28, 2, 2);
    4339   _c_76 = Char::create_expr ("extern Expr ");
    4340   _c_55 = Expr (_c_76, 7, 5);
    4341   _c_56 = Expr::create<Word>("DEREF");
    4342   _c_57 = Expr::create<Word>("SUBEXPR");
    4343   _c_58 = Expr::create<Word>("DROP");
    4344   _c_60 = Expr::create<Word>("CONTINUE");
    4345   _c_61 = Char::create_expr ("goto ");
    4346   _c_62 = Expr::create<Word>("BREAK");
    4347   _c_63 = Expr::create<Word>("ERROR");
    4348   _c_64 = Char::create_expr ("RF_ERROR (");
    4349   _c_65 = Expr::create<Word>("CONSTEXPR");
    4350   _c_66 = Expr::create<Word>("LOCAL");
    4351   _c_67 = Expr (_c_7, 0, 7);
    4352   _c_68 = Expr::create<Word>("STATIC");
    4353   _c_69 = Expr::create<Word>("OBJ");
    4354   _c_70 = Expr::create<Word>("BOX");
    4355   _c_168 = Char::create_expr ("printf(\"  : \");");
    4356   _c_71 = Expr (_c_168, 12, 2);
    4357   _c_72 = Char::create_expr ("Expr::create_sym< NamedObject<BoxContents> >(L\"");
    4358   _c_73 = Expr (_c_72, 43, 4);
    4359   _c_74 = Char::create_expr ("new rftype::StaticObject<rftype::");
    4360   _c_75 = Expr::create<Word>("DECL-OBJ");
    4361   _c_77 = Expr::create<Word>("DECL-FUNC");
    4362   _c_78 = Char::create_expr ("RF_DECL (");
    4363   _c_79 = Expr::create<Word>("EXTERN");
    4364   _c_80 = Expr::create<Word>("CALL");
    4365   _c_81 = Expr::create<Word>("Exprs");
    4366   _c_82 = Expr (_c_165, 32, 2);
    4367   _c_84 = (_c_177) ();
    4368   _c_85 = Expr::create<Word>("TAILCALL?");
    4369   _c_86 = Expr::create<Word>("TAILCALL");
    4370   _c_87 = Expr (_c_22, 0, 3);
    4371   _c_88 = Expr::create<Word>("PAREN");
    4372   _c_89 = Expr::create<Word>("LENGTH");
    4373   _c_90 = Expr::create<Word>("MAX");
    4374   _c_91 = Expr::create<Word>("MIN");
    4375   _c_92 = Expr::create<Word>("INFIX");
    4376   _c_93 = Char::create_expr ("empty");
    4377   _c_94 = Expr::create_sym<Func> (Term_m_Ref_m_To_m_CPP);
    4378   _c_95 = Expr::create<Word>("+");
    4379   _c_96 = Expr (_c_54, 1, 1);
    4380   _c_97 = Expr (_c_59, 5, 3);
    4381   _c_98 = Char::create_expr ("Expr (");
    4382   _c_99 = Expr::create<Word>("REF");
    4383   _c_100 = Expr::create<Word>("ERROR-EXPR");
    4384   _c_101 = Char::create_expr ("err");
    4385   _c_102 = Expr (_c_74, 10, 2);
    4386   _c_103 = Expr::create<Word>("Illegal type int-symbol: ");
    4387   _c_104 = Char::create_expr (".get_len ()");
    4388   _c_105 = Expr::create<Word>("Ints");
    4389   _c_106 = Char::create_expr ("pxx_max (");
    4390   _c_107 = Char::create_expr ("pxx_min (");
    4391   _c_108 = Expr::create_sym<Func> (Expr_m_Int_m_To_m_CPP);
    4392   _c_109 = Expr (_c_83, 4, 9);
    4393   _c_110 = Expr::create<Word>("SYMBOL?");
    4394   _c_111 = Char::create_expr (".symbol_at (");
    4395   _c_112 = Expr::create<Word>("FLAT-SUBEXPR?");
    4396   _c_113 = Char::create_expr (".flat_at (");
    4397   _c_114 = Expr::create<Word>("CHECK-ITER");
    4398   _c_115 = Char::create_expr ("RF_iter(");
    4399   _c_116 = Expr::create<Word>("EQ");
    4400   _c_117 = Char::create_expr (".eq (");
    4401   _c_118 = Expr::create<Word>("TERM-EQ");
    4402   _c_119 = Char::create_expr (".term_eq (");
    4403   _c_120 = Expr::create<Word>("NOT");
    4404   _c_121 = Char::create_expr ("!");
    4405   _c_122 = Expr::create_sym<Func> (Cond_m_To_m_CPP);
    4406   _c_123 = Expr::create<Word>("&&");
     4390  _c_55 = Expr::create<Word>("DEREF");
     4391  _c_56 = Expr::create<Word>("SUBEXPR");
     4392  _c_57 = Expr::create<Word>("DROP");
     4393  _c_59 = Expr::create<Word>("CONTINUE");
     4394  _c_60 = Char::create_expr (L"goto ");
     4395  _c_61 = Expr::create<Word>("BREAK");
     4396  _c_62 = Expr::create<Word>("ERROR");
     4397  _c_63 = Char::create_expr (L"RF_ERROR (");
     4398  _c_64 = Expr::create<Word>("CONSTEXPR");
     4399  _c_65 = Expr::create<Word>("LOCAL");
     4400  _c_66 = Expr (_c_7, 0, 7);
     4401  _c_67 = Expr::create<Word>("STATIC");
     4402  _c_68 = Expr::create<Word>("OBJ");
     4403  _c_69 = Expr::create<Word>("BOX");
     4404  _c_170 = Char::create_expr (L"printf(\"  : \");");
     4405  _c_70 = Expr (_c_170, 12, 2);
     4406  _c_71 = Char::create_expr (L"Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L\"");
     4407  _c_72 = Expr (_c_71, 59, 4);
     4408  _c_73 = Char::create_expr (L"new rftype::StaticObject<rftype::");
     4409  _c_74 = Expr::create<Word>("DECL-OBJ");
     4410  _c_76 = Expr::create<Word>("DECL-FUNC");
     4411  _c_77 = Char::create_expr (L"RF_DECL (");
     4412  _c_78 = Expr::create<Word>("EXTERN");
     4413  _c_79 = Expr::create<Word>("CALL");
     4414  _c_80 = Expr::create<Word>("Exprs");
     4415  _c_81 = Expr (_c_167, 32, 2);
     4416  _c_83 = (_c_179) ();
     4417  _c_84 = Expr::create<Word>("TAILCALL?");
     4418  _c_85 = Expr::create<Word>("TAILCALL");
     4419  _c_86 = Expr (_c_22, 0, 3);
     4420  _c_87 = Expr::create<Word>("PAREN");
     4421  _c_88 = Expr::create<Word>("LENGTH");
     4422  _c_89 = Expr::create<Word>("MAX");
     4423  _c_90 = Expr::create<Word>("MIN");
     4424  _c_91 = Expr::create<Word>("INFIX");
     4425  _c_92 = Char::create_expr (L"empty");
     4426  _c_93 = Expr::create_sym<Func> (Term_m_Ref_m_To_m_CPP);
     4427  _c_94 = Expr::create<Word>("+");
     4428  _c_95 = Expr (_c_54, 1, 1);
     4429  _c_96 = Expr (_c_58, 5, 3);
     4430  _c_97 = Char::create_expr (L"Expr (");
     4431  _c_98 = Expr::create<Word>("REF");
     4432  _c_99 = Expr::create<Word>("ERROR-EXPR");
     4433  _c_100 = Char::create_expr (L"err");
     4434  _c_101 = Expr (_c_73, 10, 2);
     4435  _c_102 = Expr::create<Word>("Illegal type int-symbol: ");
     4436  _c_103 = Char::create_expr (L".get_len ()");
     4437  _c_104 = Expr::create<Word>("Ints");
     4438  _c_105 = Char::create_expr (L"pxx_max (");
     4439  _c_106 = Char::create_expr (L"pxx_min (");
     4440  _c_107 = Expr::create_sym<Func> (Expr_m_Int_m_To_m_CPP);
     4441  _c_108 = Expr (_c_82, 4, 9);
     4442  _c_109 = Expr::create<Word>("SYMBOL?");
     4443  _c_110 = Char::create_expr (L".symbol_at (");
     4444  _c_111 = Expr::create<Word>("FLAT-SUBEXPR?");
     4445  _c_112 = Char::create_expr (L".flat_at (");
     4446  _c_113 = Expr::create<Word>("CHECK-ITER");
     4447  _c_114 = Char::create_expr (L"RF_iter(");
     4448  _c_115 = Expr::create<Word>("EQ");
     4449  _c_116 = Char::create_expr (L".eq (");
     4450  _c_117 = Expr::create<Word>("TERM-EQ");
     4451  _c_118 = Char::create_expr (L".term_eq (");
     4452  _c_119 = Expr::create<Word>("NOT");
     4453  _c_120 = Char::create_expr (L"!");
     4454  _c_121 = Expr::create_sym<Func> (Cond_m_To_m_CPP);
     4455  _c_122 = Expr::create<Word>("&&");
     4456  _c_123 = Expr (_c_54, 0, 1);
    44074457  _c_124 = Expr::create<Word>("||");
    44084458  _c_125 = Expr::create<Word>("<");
     
    44174467  _c_134 = Expr::create<Word>("/");
    44184468  _c_135 = Expr::create<Word>("INC-ITER");
    4419   _c_136 = Char::create_expr (")++");
     4469  _c_136 = Char::create_expr (L")++");
    44204470  _c_137 = Expr::create<Word>("DEC-ITER");
    4421   _c_138 = Char::create_expr (")--");
    4422   _c_139 = Expr (_c_159, 0, 1);
    4423   _c_141 = Char::create_expr (" + Char::create_expr (\"");
    4424   _c_140 = Expr (_c_141, 0, 3);
    4425   _c_142 = Char::create_expr (") ()");
    4426   _c_143 = Char::create_expr (" + (");
    4427   _c_144 = Char::create_expr (" + Expr::create_sym<Func> (");
    4428   _c_147 = Char::create_expr (" + Expr::create<Word>(\"");
    4429   _c_145 = Expr (_c_147, 20, 3);
    4430   _c_146 = Expr (_c_147, 0, 16);
    4431   _c_149 = Char::create_expr ("\\\\");
    4432   _c_148 = Expr (_c_149, 0, 1);
    4433   _c_150 = Expr (_c_7, 20, 1);
    4434   _c_151 = Expr (_c_165, 4, 2);
    4435   _c_152 = Char::create_expr ("\t");
    4436   _c_153 = Char::create_expr ("\\t");
    4437   _c_154 = Char::create_expr ("\r");
    4438   _c_155 = Char::create_expr ("\\r");
    4439   _c_156 = Expr (_c_71, 0, 1);
    4440   _c_157 = Char::create_expr ("\\\"");
    4441   _c_158 = Char::create_expr ("RF_VOID");
    4442   _c_160 = Char::create_expr ("/*void*/");
    4443   _c_161 = Char::create_expr (";;)");
    4444   _c_162 = Expr (_c_7, 20, 2);
    4445   _c_163 = Expr (_c_176, 6, 10);
    4446   _c_164 = Expr::create<Integer>("1");
    4447   _c_166 = Char::create_expr ("printf (\"+ %5u: enter >>> ");
    4448   _c_167 = Char::create_expr ("printf(\"%2d: \", ");
    4449   _c_172 = Char::create_expr (").to_Expr().writeln(stdout);");
    4450   _c_169 = Expr (_c_172, 10, 18);
    4451   _c_170 = Char::create_expr ("printf (\"           argument \"); ");
    4452   _c_171 = Char::create_expr ("printf (\"- %5u: exit  >>> ");
    4453   _c_173 = Char::create_expr ("printf (\"           result   \"); ");
    4454   _c_174 = Char::create_expr ("printf (\"- %5u: fail  >>> ");
     4471  _c_138 = Char::create_expr (L")--");
     4472  _c_139 = Expr (_c_161, 0, 1);
     4473  _c_142 = Char::create_expr (L" + Char::create_expr (\"");
     4474  _c_140 = Expr (_c_142, 0, 3);
     4475  _c_141 = Expr::create<Integer>("127");
     4476  _c_143 = Char::create_expr (L" + Char::create_expr (L\"");
     4477  _c_144 = Char::create_expr (L") ()");
     4478  _c_145 = Char::create_expr (L" + (");
     4479  _c_146 = Char::create_expr (L" + Expr::create_sym<Func> (");
     4480  _c_149 = Char::create_expr (L" + Expr::create<Word>(\"");
     4481  _c_147 = Expr (_c_149, 20, 3);
     4482  _c_148 = Expr (_c_149, 0, 16);
     4483  _c_151 = Char::create_expr (L"\\\\");
     4484  _c_150 = Expr (_c_151, 0, 1);
     4485  _c_152 = Expr (_c_7, 20, 1);
     4486  _c_153 = Expr (_c_167, 4, 2);
     4487  _c_154 = Char::create_expr (L"\t");
     4488  _c_155 = Char::create_expr (L"\\t");
     4489  _c_156 = Char::create_expr (L"\r");
     4490  _c_157 = Char::create_expr (L"\\r");
     4491  _c_158 = Expr (_c_70, 0, 1);
     4492  _c_159 = Char::create_expr (L"\\\"");
     4493  _c_160 = Char::create_expr (L"RF_VOID");
     4494  _c_162 = Char::create_expr (L"/*void*/");
     4495  _c_163 = Char::create_expr (L";;)");
     4496  _c_164 = Expr (_c_7, 20, 2);
     4497  _c_165 = Expr (_c_178, 6, 10);
     4498  _c_166 = Expr::create<Integer>("1");
     4499  _c_168 = Char::create_expr (L"printf (\"+ %5u: enter >>> ");
     4500  _c_169 = Char::create_expr (L"printf(\"%2d: \", ");
     4501  _c_174 = Char::create_expr (L").to_Expr().writeln(stdout);");
     4502  _c_171 = Expr (_c_174, 10, 18);
     4503  _c_172 = Char::create_expr (L"printf (\"           argument \"); ");
     4504  _c_173 = Char::create_expr (L"printf (\"- %5u: exit  >>> ");
     4505  _c_175 = Char::create_expr (L"printf (\"           result   \"); ");
     4506  _c_176 = Char::create_expr (L"printf (\"- %5u: fail  >>> ");
    44554507}
    44564508
  • to-imperative/trunk/bootstrap/compiler/rfp_asail_java.cc

    r1996 r2012  
    11#include <rf_core.hh>
     2#include <refal/Access.hh>
    23#include <refal/Apply.hh>
    34#include <refal/Box.hh>
    45#include <refal/Arithm.hh>
     6#include <refal/Compare.hh>
    57#include <refal/Convert.hh>
    6 #include <refal/Compare.hh>
    78#include <refal/List.hh>
    89#include <refal/JavaMangle.hh>
     
    3940static Expr Ress;
    4041
     42static Expr Result;
     43
     44static Expr Res_m_Assigns;
     45
    4146static Expr Iter_m_Vars;
    4247
     
    4752RF_DECL (ASAIL_m_To_m_Java);
    4853
    49 RF_DECL (Copy_m_Args);
     54RF_DECL (Declare_m_Results);
    5055
    5156RF_DECL (Expr_m_To_m_Java);
     
    7984RF_DECL (Name_m_To_m_Java);
    8085
     86RF_DECL (Var_m_To_m_Java);
     87
    8188RF_DECL (Access_m_Mode);
    8289
     
    95102static Expr _c_2;
    96103
     104static Expr _c_5;
     105
     106static Expr _c_3;
     107
     108static Expr _c_4;
     109
     110static Expr _c_6;
     111
     112static Expr _c_181;
     113
     114static Expr _c_182;
     115
     116static Expr _c_7;
     117
     118static Expr _c_8;
     119
     120static Expr _c_9;
     121
     122static Expr _c_10;
     123
     124static Expr _c_11;
     125
     126static Expr _c_12;
     127
     128static Expr _c_13;
     129
     130static Expr _c_14;
     131
     132static Expr _c_15;
     133
     134static Expr _c_16;
     135
     136static Expr _c_159;
     137
     138static Expr _c_17;
     139
     140static Expr _c_183;
     141
     142static Expr _c_18;
     143
     144static Expr _c_19;
     145
     146static Expr _c_20;
     147
     148static Expr _c_21;
     149
     150static Expr _c_22;
     151
     152static Expr _c_23;
     153
     154static Expr _c_24;
     155
     156static Expr _c_25;
     157
     158static Expr _c_26;
     159
     160static Expr _c_27;
     161
     162static Expr _c_28;
     163
     164static Expr _c_29;
     165
     166static Expr _c_30;
     167
     168static Expr _c_48;
     169
     170static Expr _c_31;
     171
     172static Expr _c_32;
     173
     174static Expr _c_33;
     175
     176static Expr _c_34;
     177
     178static Expr _c_35;
     179
     180static Expr _c_36;
     181
     182static Expr _c_37;
     183
     184static Expr _c_184;
     185
     186static Expr _c_38;
     187
     188static Expr _c_39;
     189
     190static Expr _c_40;
     191
     192static Expr _c_42;
     193
     194static Expr _c_41;
     195
     196static Expr _c_43;
     197
     198static Expr _c_44;
     199
     200static Expr _c_45;
     201
     202static Expr _c_46;
     203
     204static Expr _c_47;
     205
     206static Expr _c_49;
     207
     208static Expr _c_50;
     209
     210static Expr _c_51;
     211
     212static Expr _c_52;
     213
     214static Expr _c_53;
     215
     216static Expr _c_185;
     217
     218static Expr _c_99;
     219
     220static Expr _c_54;
     221
     222static Expr _c_55;
     223
     224static Expr _c_56;
     225
     226static Expr _c_57;
     227
     228static Expr _c_58;
     229
     230static Expr _c_59;
     231
     232static Expr _c_60;
     233
     234static Expr _c_61;
     235
     236static Expr _c_62;
     237
     238static Expr _c_63;
     239
     240static Expr _c_64;
     241
     242static Expr _c_65;
     243
     244static Expr _c_66;
     245
     246static Expr _c_67;
     247
     248static Expr _c_68;
     249
     250static Expr _c_69;
     251
     252static Expr _c_70;
     253
     254static Expr _c_71;
     255
     256static Expr _c_72;
     257
     258static Expr _c_73;
     259
     260static Expr _c_74;
     261
     262static Expr _c_75;
     263
     264static Expr _c_76;
     265
     266static Expr _c_77;
     267
     268static Expr _c_95;
     269
     270static Expr _c_78;
     271
     272static Expr _c_79;
     273
     274static Expr _c_80;
     275
     276static Expr _c_81;
     277
     278static Expr _c_82;
     279
     280static Expr _c_83;
     281
     282static Expr _c_84;
     283
     284static Expr _c_85;
     285
     286static Expr _c_86;
     287
     288static Expr _c_87;
     289
     290static Expr _c_88;
     291
     292static Expr _c_89;
     293
     294static Expr _c_90;
     295
     296static Expr _c_91;
     297
     298static Expr _c_92;
     299
     300static Expr _c_93;
     301
     302static Expr _c_94;
     303
     304static Expr _c_96;
     305
     306static Expr _c_97;
     307
     308static Expr _c_98;
     309
     310static Expr _c_100;
     311
     312static Expr _c_101;
     313
     314static Expr _c_102;
     315
     316static Expr _c_103;
     317
     318static Expr _c_104;
     319
     320static Expr _c_105;
     321
     322static Expr _c_106;
     323
     324static Expr _c_107;
     325
     326static Expr _c_108;
     327
     328static Expr _c_109;
     329
     330static Expr _c_110;
     331
     332static Expr _c_111;
     333
     334static Expr _c_112;
     335
     336static Expr _c_113;
     337
     338static Expr _c_154;
     339
     340static Expr _c_114;
     341
     342static Expr _c_115;
     343
     344static Expr _c_116;
     345
     346static Expr _c_117;
     347
     348static Expr _c_118;
     349
     350static Expr _c_119;
     351
     352static Expr _c_120;
     353
     354static Expr _c_121;
     355
     356static Expr _c_122;
     357
     358static Expr _c_123;
     359
     360static Expr _c_124;
     361
     362static Expr _c_125;
     363
     364static Expr _c_126;
     365
     366static Expr _c_127;
     367
     368static Expr _c_128;
     369
     370static Expr _c_129;
     371
     372static Expr _c_130;
     373
     374static Expr _c_131;
     375
     376static Expr _c_132;
     377
     378static Expr _c_133;
     379
     380static Expr _c_134;
     381
     382static Expr _c_135;
     383
     384static Expr _c_136;
     385
     386static Expr _c_137;
     387
     388static Expr _c_138;
     389
     390static Expr _c_139;
     391
     392static Expr _c_140;
     393
     394static Expr _c_141;
     395
     396static Expr _c_142;
     397
     398static Expr _c_143;
     399
     400static Expr _c_144;
     401
     402static Expr _c_145;
     403
     404static Expr _c_146;
     405
     406static Expr _c_147;
     407
     408static Expr _c_148;
     409
     410static Expr _c_149;
     411
     412static Expr _c_150;
     413
     414static Expr _c_151;
     415
     416static Expr _c_152;
     417
     418static Expr _c_153;
     419
     420static Expr _c_155;
     421
     422static Expr _c_156;
     423
     424static Expr _c_157;
     425
     426static Expr _c_158;
     427
     428static Expr _c_160;
     429
     430static Expr _c_161;
     431
     432static Expr _c_162;
     433
     434static Expr _c_163;
     435
     436static Expr _c_164;
     437
     438static Expr _c_165;
     439
     440static Expr _c_167;
     441
     442static Expr _c_166;
     443
     444static Expr _c_168;
     445
    97446static Expr _c_169;
    98447
    99 static Expr _c_3;
    100 
    101 static Expr _c_4;
    102 
    103448static Expr _c_170;
    104449
    105 static Expr _c_5;
    106 
    107 static Expr _c_6;
    108 
    109 static Expr _c_7;
    110 
    111 static Expr _c_8;
    112 
    113 static Expr _c_9;
    114 
    115 static Expr _c_10;
    116 
    117 static Expr _c_11;
    118 
    119 static Expr _c_12;
    120 
    121 static Expr _c_13;
    122 
    123 static Expr _c_14;
    124 
    125 static Expr _c_148;
    126 
    127 static Expr _c_15;
    128 
    129450static Expr _c_171;
    130451
    131 static Expr _c_16;
    132 
    133 static Expr _c_17;
    134 
    135 static Expr _c_18;
    136 
    137 static Expr _c_19;
    138 
    139 static Expr _c_20;
    140 
    141 static Expr _c_21;
    142 
    143 static Expr _c_22;
    144 
    145 static Expr _c_23;
    146 
    147 static Expr _c_24;
    148 
    149 static Expr _c_87;
    150 
    151 static Expr _c_25;
    152 
    153 static Expr _c_26;
    154 
    155 static Expr _c_27;
    156 
    157 static Expr _c_28;
    158 
    159 static Expr _c_30;
    160 
    161 static Expr _c_29;
    162 
    163 static Expr _c_31;
    164 
    165 static Expr _c_32;
    166 
    167 static Expr _c_33;
    168 
    169 static Expr _c_34;
    170 
    171452static Expr _c_172;
    172453
    173 static Expr _c_35;
    174 
    175 static Expr _c_36;
    176 
    177454static Expr _c_173;
    178455
    179 static Expr _c_86;
    180 
    181 static Expr _c_37;
    182 
    183 static Expr _c_38;
    184 
    185 static Expr _c_39;
    186 
    187 static Expr _c_40;
    188 
    189 static Expr _c_41;
    190 
    191 static Expr _c_42;
    192 
    193 static Expr _c_43;
    194 
    195 static Expr _c_44;
    196 
    197 static Expr _c_45;
    198 
    199 static Expr _c_46;
    200 
    201 static Expr _c_47;
    202 
    203 static Expr _c_48;
    204 
    205 static Expr _c_49;
    206 
    207 static Expr _c_50;
    208 
    209 static Expr _c_51;
    210 
    211 static Expr _c_52;
    212 
    213 static Expr _c_53;
    214 
    215 static Expr _c_54;
    216 
    217 static Expr _c_55;
    218 
    219 static Expr _c_56;
    220 
    221 static Expr _c_57;
    222 
    223 static Expr _c_58;
    224 
    225 static Expr _c_59;
    226 
    227 static Expr _c_60;
    228 
    229 static Expr _c_61;
    230 
    231 static Expr _c_62;
    232 
    233 static Expr _c_63;
    234 
    235 static Expr _c_64;
    236 
    237 static Expr _c_65;
    238 
    239 static Expr _c_66;
    240 
    241 static Expr _c_67;
    242 
    243 static Expr _c_68;
    244 
    245 static Expr _c_69;
    246 
    247 static Expr _c_70;
    248 
    249 static Expr _c_71;
    250 
    251 static Expr _c_72;
    252 
    253 static Expr _c_73;
    254 
    255 static Expr _c_74;
    256 
    257 static Expr _c_75;
    258 
    259 static Expr _c_76;
    260 
    261 static Expr _c_77;
    262 
    263 static Expr _c_78;
    264 
    265 static Expr _c_79;
    266 
    267 static Expr _c_80;
    268 
    269 static Expr _c_81;
    270 
    271 static Expr _c_82;
    272 
    273 static Expr _c_83;
    274 
    275 static Expr _c_84;
    276 
    277 static Expr _c_85;
    278 
    279 static Expr _c_88;
    280 
    281 static Expr _c_89;
    282 
    283 static Expr _c_90;
    284 
    285 static Expr _c_91;
    286 
    287 static Expr _c_92;
    288 
    289 static Expr _c_93;
    290 
    291 static Expr _c_94;
    292 
    293 static Expr _c_95;
    294 
    295 static Expr _c_96;
    296 
    297 static Expr _c_97;
    298 
    299 static Expr _c_98;
    300 
    301 static Expr _c_99;
    302 
    303 static Expr _c_100;
    304 
    305 static Expr _c_143;
    306 
    307 static Expr _c_101;
    308 
    309 static Expr _c_102;
    310 
    311 static Expr _c_103;
    312 
    313 static Expr _c_104;
    314 
    315 static Expr _c_105;
    316 
    317 static Expr _c_106;
    318 
    319 static Expr _c_107;
    320 
    321 static Expr _c_108;
    322 
    323 static Expr _c_109;
    324 
    325 static Expr _c_110;
    326 
    327 static Expr _c_111;
    328 
    329 static Expr _c_112;
    330 
    331 static Expr _c_113;
    332 
    333 static Expr _c_114;
    334 
    335 static Expr _c_115;
    336 
    337 static Expr _c_116;
    338 
    339 static Expr _c_117;
    340 
    341 static Expr _c_118;
    342 
    343 static Expr _c_119;
    344 
    345 static Expr _c_120;
    346 
    347 static Expr _c_121;
    348 
    349 static Expr _c_122;
    350 
    351 static Expr _c_123;
    352 
    353 static Expr _c_124;
    354 
    355 static Expr _c_125;
    356 
    357 static Expr _c_126;
    358 
    359 static Expr _c_127;
    360 
    361 static Expr _c_128;
    362 
    363 static Expr _c_129;
    364 
    365 static Expr _c_130;
    366 
    367 static Expr _c_131;
    368 
    369 static Expr _c_132;
    370 
    371 static Expr _c_133;
    372 
    373 static Expr _c_134;
    374 
    375 static Expr _c_135;
    376 
    377 static Expr _c_136;
    378 
    379 static Expr _c_137;
    380 
    381 static Expr _c_138;
    382 
    383 static Expr _c_139;
    384 
    385 static Expr _c_140;
    386 
    387 static Expr _c_141;
    388 
    389 static Expr _c_142;
    390 
    391 static Expr _c_144;
    392 
    393 static Expr _c_145;
    394 
    395 static Expr _c_146;
    396 
    397 static Expr _c_147;
    398 
    399 static Expr _c_149;
    400 
    401 static Expr _c_150;
    402 
    403 static Expr _c_151;
    404 
    405 static Expr _c_152;
    406 
    407 static Expr _c_153;
    408 
    409 static Expr _c_154;
    410 
    411 static Expr _c_156;
    412 
    413 static Expr _c_155;
    414 
    415 static Expr _c_157;
    416 
    417 static Expr _c_158;
    418 
    419 static Expr _c_159;
    420 
    421 static Expr _c_160;
    422 
    423 static Expr _c_161;
    424 
    425 static Expr _c_162;
    426 
    427 static Expr _c_163;
    428 
    429 static Expr _c_164;
    430 
    431 static Expr _c_165;
    432 
    433 static Expr _c_166;
    434 
    435 static Expr _c_167;
    436 
    437 static Expr _c_168;
     456static Expr _c_174;
     457
     458static Expr _c_175;
     459
     460static Expr _c_176;
     461
     462static Expr _c_177;
     463
     464static Expr _c_178;
     465
     466static Expr _c_179;
     467
     468static Expr _c_180;
    438469
    439470RF_FUNC (RFP_m_ASAIL_m_To_m_Java, (RF_ARG _v_arg1, _v_arg2, _v_arg3;;), (RF_RES _v_res1, _v_res2, _v_res3;;))
     
    524555          uintptr_t _v_len__name = (_v_len9 - _v_len10);
    525556          Expr _vv_name (_v__q_1, 0, _v_len__name);
    526           _ve_entry = (_c_9 + (_c_8 + ((_c_6 + (_vv_name + _c_4) () + _c_5) () + _c_7) () + _c_5) ());
     557          _ve_entry = (_c_11 + (_c_10 + ((_c_5 + _ve_java_m_module_m_name + _c_4) () + (_c_8 + (_vv_name + _c_6) () + _c_7) () + _c_9) () + _c_7) ());
    527558          goto _block3;
    528559        }
     
    531562      }
    532563    _block3: {}
    533       if (!RF_CALL (Table::Domain, Inputs, _v_res2))
    534       {
    535         goto _block2__branch1;
    536       }
     564      RF_CALL (Table::Domain, Inputs, _v_res2);
    537565      _v_res1 = _ve_java_m_module_m_name;
    538       _v_res3 = (_c_11 + _ve_java_m_module_m_name + _c_10 + (_vv_java + _ve_entry) () + _c_5) ();
     566      _v_res3 = (_c_13 + _ve_java_m_module_m_name + _c_12 + (_vv_java + _ve_entry) () + _c_7) ();
    539567      goto _block2;
    540568    }
     
    611639          {
    612640            {
    613               if (!_vs_tag.term_eq (_c_12, 0))
     641              if (!_vs_tag.term_eq (_c_14, 0))
    614642              {
    615643                goto _block3__branch1;
    616644              }
    617               _ve_return_m_type = _c_13;
     645              _ve_return_m_type = _c_15;
    618646              _ve_return = empty;
    619647              goto _block3;
    620648            }
    621649          _block3__branch1: {}
    622             if (!_vs_tag.term_eq (_c_14, 0))
     650            if (!_vs_tag.term_eq (_c_16, 0))
    623651            {
    624652              goto _block2__branch1;
    625653            }
    626             _ve_return_m_type = _c_15;
    627             _ve_return = _c_16;
     654            _ve_return_m_type = _c_17;
     655            _ve_return = _c_18;
    628656          }
    629657        _block3: {}
    630658          RF_CALL (Box::Store, (Ress, _ve_ress), /*void*/);
     659          RF_CALL (rfp__helper::RFP_m_Clear_m_Table, Result, /*void*/);
    631660          {
    632661            {
     
    657686          RF_CALL (Box::_q_, Func_m_Name, _v__q_2);
    658687          Expr _v_Var_m_Args_m_To_m_Java1;
    659           RF_CALL (Var_m_Args_m_To_m_Java, (_ve_args + _ve_ress), _v_Var_m_Args_m_To_m_Java1);
     688          RF_CALL (Var_m_Args_m_To_m_Java, (_c_20 + _ve_args + _c_19 + _ve_ress), _v_Var_m_Args_m_To_m_Java1);
    660689          Expr _v_ASAIL_m_To_m_Java1;
    661690          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java1);
    662           _ve_java_m_item = (_c_9 + (_c_20 + _v_Access_m_Mode1 + _c_19 + _ve_return_m_type + _c_19 + _v__q_2 + _c_18 + _v_Var_m_Args_m_To_m_Java1 + _c_17) () + (_c_21 + (_v_ASAIL_m_To_m_Java1 + _ve_return) () + _c_5) ());
     691          _ve_java_m_item = (_c_11 + (_c_24 + _v_Access_m_Mode1 + _c_23 + _ve_return_m_type + _c_23 + _v__q_2 + _c_22 + _v_Var_m_Args_m_To_m_Java1 + _c_21) () + (_c_25 + (_v_ASAIL_m_To_m_Java1 + _ve_return) () + _c_7) ());
    663692          goto _block2;
    664693        }
     
    674703            goto _block2__branch2;
    675704          }
    676           if (!_c_22.term_eq (_v_deref__item2, 0))
     705          if (!_c_26.term_eq (_v_deref__item2, 0))
    677706          {
    678707            goto _block2__branch2;
     
    709738          }
    710739          uintptr_t _v_len__cond = (_v_len11 - _v_len12);
    711           if (!_c_23.term_eq (_v_deref__item3, 0))
     740          if (!_c_27.term_eq (_v_deref__item3, 0))
    712741          {
    713742            goto _block2__branch3;
     
    717746          Expr _vs_acc;
    718747          RF_CALL (Box::Box, empty, _vs_acc);
    719           RF_CALL (Cond_m_To_m_Java, (_vs_acc, _ve_cond), _ve_cond);
     748          Expr _ve_j_m_cond;
     749          RF_CALL (Cond_m_To_m_Java, (_vs_acc, _ve_cond), _ve_j_m_cond);
     750          Expr _ve_if_m_yes_m_assigns;
     751          Expr _ve_if_m_not_m_assigns;
     752          {
     753            {
     754              if ((_v_len__cond != 1))
     755              {
     756                goto _block5__branch1;
     757              }
     758              if (_ve_cond.symbol_at (0))
     759              {
     760                goto _block5__branch1;
     761              }
     762              Expr _v_deref__cond (_ve_cond, 0);
     763              if ((_v_deref__cond.get_len () != 2))
     764              {
     765                goto _block5__branch1;
     766              }
     767              if (_v_deref__cond.symbol_at (1))
     768              {
     769                goto _block5__branch1;
     770              }
     771              Expr _v_deref__deref__cond (_v_deref__cond, 1);
     772              uintptr_t _v_len13 = _v_deref__deref__cond.get_len ();
     773              uintptr_t _v_len14 = 1;
     774              if ((_v_len13 < _v_len14))
     775              {
     776                goto _block5__branch1;
     777              }
     778              uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_123_m_30 = (_v_len13 - _v_len14);
     779              if (!_c_29.term_eq (_v_deref__cond, 0))
     780              {
     781                goto _block5__branch1;
     782              }
     783              if (!_c_28.term_eq (_v_deref__deref__cond, 0))
     784              {
     785                goto _block5__branch1;
     786              }
     787              Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_123_m_30 (_v_deref__deref__cond, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_123_m_30);
     788              RF_CALL (Box::_q_, Res_m_Assigns, _ve_if_m_not_m_assigns);
     789              RF_CALL (Box::Store, (Res_m_Assigns, empty), /*void*/);
     790              _ve_if_m_yes_m_assigns = empty;
     791              goto _block5;
     792            }
     793          _block5__branch1: {}
     794            RF_CALL (Box::_q_, Res_m_Assigns, _ve_if_m_yes_m_assigns);
     795            RF_CALL (Box::Store, (Res_m_Assigns, empty), /*void*/);
     796            _ve_if_m_not_m_assigns = empty;
     797          }
     798        _block5: {}
    720799          Expr _v__q_3;
    721800          RF_CALL (Box::_q_, _vs_acc, _v__q_3);
    722801          Expr _v_ASAIL_m_To_m_Java2;
    723802          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java2);
    724           _ve_java_m_item = (_v__q_3 + (_c_25 + _ve_cond + _c_24) () + (_c_21 + _v_ASAIL_m_To_m_Java2 () + _c_5) ());
     803          _ve_java_m_item = (_v__q_3 + (_c_31 + _ve_j_m_cond + _c_30) () + (_c_25 + (_ve_if_m_yes_m_assigns + _v_ASAIL_m_To_m_Java2) () + _c_7) () + _ve_if_m_not_m_assigns);
    725804          goto _block2;
    726805        }
     
    732811          }
    733812          Expr _v_deref__item4 (_vt_item, 0);
    734           uintptr_t _v_len13 = _v_deref__item4.get_len ();
    735           uintptr_t _v_len14 = 5;
    736           if ((_v_len13 < _v_len14))
     813          uintptr_t _v_len15 = _v_deref__item4.get_len ();
     814          uintptr_t _v_len16 = 5;
     815          if ((_v_len15 < _v_len16))
    737816          {
    738817            goto _block2__branch4;
    739818          }
    740           uintptr_t _v_len__body3 = (_v_len13 - _v_len14);
     819          uintptr_t _v_len__body3 = (_v_len15 - _v_len16);
    741820          if (_v_deref__item4.symbol_at (1))
    742821          {
     
    759838          Expr _v_deref__deref__item43 (_v_deref__item4, 3);
    760839          Expr _v_deref__deref__item44 (_v_deref__item4, 4);
    761           uintptr_t _v_len15 = _v_deref__deref__item4.get_len ();
    762           uintptr_t _v_len16 = 0;
    763           if ((_v_len15 < _v_len16))
    764           {
    765             goto _block2__branch4;
    766           }
    767           uintptr_t _v_len__cont_m_label = (_v_len15 - _v_len16);
    768           uintptr_t _v_len17 = _v_deref__deref__item42.get_len ();
     840          uintptr_t _v_len17 = _v_deref__deref__item4.get_len ();
    769841          uintptr_t _v_len18 = 0;
    770842          if ((_v_len17 < _v_len18))
     
    772844            goto _block2__branch4;
    773845          }
    774           uintptr_t _v_len__break_m_label = (_v_len17 - _v_len18);
    775           uintptr_t _v_len19 = _v_deref__deref__item44.get_len ();
     846          uintptr_t _v_len__cont_m_label = (_v_len17 - _v_len18);
     847          uintptr_t _v_len19 = _v_deref__deref__item42.get_len ();
    776848          uintptr_t _v_len20 = 0;
    777849          if ((_v_len19 < _v_len20))
     
    779851            goto _block2__branch4;
    780852          }
    781           uintptr_t _v_len__step = (_v_len19 - _v_len20);
    782           uintptr_t _v_len21 = _v_deref__deref__item43.get_len ();
     853          uintptr_t _v_len__break_m_label = (_v_len19 - _v_len20);
     854          uintptr_t _v_len21 = _v_deref__deref__item44.get_len ();
    783855          uintptr_t _v_len22 = 0;
    784856          if ((_v_len21 < _v_len22))
     
    786858            goto _block2__branch4;
    787859          }
    788           uintptr_t _v_len__cond2 = (_v_len21 - _v_len22);
    789           if (!_c_26.term_eq (_v_deref__item4, 0))
     860          uintptr_t _v_len__step = (_v_len21 - _v_len22);
     861          uintptr_t _v_len23 = _v_deref__deref__item43.get_len ();
     862          uintptr_t _v_len24 = 0;
     863          if ((_v_len23 < _v_len24))
     864          {
     865            goto _block2__branch4;
     866          }
     867          uintptr_t _v_len__cond2 = (_v_len23 - _v_len24);
     868          if (!_c_32.term_eq (_v_deref__item4, 0))
    790869          {
    791870            goto _block2__branch4;
     
    801880              if ((_v_len__cont_m_label != 1))
    802881              {
    803                 goto _block5__branch1;
     882                goto _block6__branch1;
    804883              }
    805               Expr _vt__e__e_tmp_m_rfp__asail__javarf_m_121_m_25 (_ve_cont_m_label, 0, 1);
     884              Expr _vt__e__e_tmp_m_rfp__asail__javarf_m_136_m_25 (_ve_cont_m_label, 0, 1);
    806885              Expr _v_Rfp2Java2;
    807               RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _ve_cont_m_label) (), _v_Rfp2Java2);
    808               _ve_cont = (_v_Rfp2Java2 + _c_28);
    809               goto _block5;
     886              RF_CALL (JavaMangle::Rfp2Java, (_c_33 + _ve_cont_m_label) (), _v_Rfp2Java2);
     887              _ve_cont = (_v_Rfp2Java2 + _c_34);
     888              goto _block6;
    810889            }
    811           _block5__branch1: {}
     890          _block6__branch1: {}
    812891            _ve_cont = empty;
    813892          }
    814         _block5: {}
     893        _block6: {}
    815894          Expr _ve_break;
    816895          {
     
    818897              if ((_v_len__break_m_label != 1))
    819898              {
    820                 goto _block6__branch1;
     899                goto _block7__branch1;
    821900              }
    822               Expr _vt__e__e_tmp_m_rfp__asail__javarf_m_124_m_26 (_ve_break_m_label, 0, 1);
     901              Expr _vt__e__e_tmp_m_rfp__asail__javarf_m_139_m_26 (_ve_break_m_label, 0, 1);
    823902              Expr _v_Rfp2Java3;
    824               RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _ve_break_m_label) (), _v_Rfp2Java3);
    825               _ve_break = (_v_Rfp2Java3 + _c_28);
    826               goto _block6;
     903              RF_CALL (JavaMangle::Rfp2Java, (_c_33 + _ve_break_m_label) (), _v_Rfp2Java3);
     904              _ve_break = (_v_Rfp2Java3 + _c_34);
     905              goto _block7;
    827906            }
    828           _block6__branch1: {}
     907          _block7__branch1: {}
    829908            _ve_break = empty;
    830909          }
    831         _block6: {}
     910        _block7: {}
    832911          Expr _vs_acc;
    833912          RF_CALL (Box::Box, empty, _vs_acc);
    834913          RF_CALL (Cond_m_To_m_Java, (_vs_acc, _ve_cond), _ve_cond);
     914          Expr _ve_split_m_vars;
     915          {
     916            {
     917              if ((_v_len__step != 1))
     918              {
     919                goto _block8__branch1;
     920              }
     921              if (_ve_step.symbol_at (0))
     922              {
     923                goto _block8__branch1;
     924              }
     925              Expr _v_deref__step (_ve_step, 0);
     926              uintptr_t _v_len25 = _v_deref__step.get_len ();
     927              uintptr_t _v_len26 = 1;
     928              if ((_v_len25 < _v_len26))
     929              {
     930                goto _block8__branch1;
     931              }
     932              uintptr_t _v_len__var = (_v_len25 - _v_len26);
     933              if (!_v_deref__step.symbol_at (0))
     934              {
     935                goto _block8__branch1;
     936              }
     937              Expr _vs_d (_v_deref__step, 0, 1);
     938              Expr _ve_var (_v_deref__step, 1, _v_len__var);
     939              {
     940                {
     941                  if (!_vs_d.term_eq (_c_35, 0))
     942                  {
     943                    goto _block9__branch1;
     944                  }
     945                  goto _block9;
     946                }
     947              _block9__branch1: {}
     948                if (!_vs_d.term_eq (_c_36, 0))
     949                {
     950                  goto _block8__branch1;
     951                }
     952              }
     953            _block9: {}
     954              Expr _v_Lookup1;
     955              if (!RF_CALL (Table::Lookup, (Iter_m_Vars, _ve_var), _v_Lookup1))
     956              {
     957                goto _block1__branch1;
     958              }
     959              uintptr_t _v_len27 = _v_Lookup1.get_len ();
     960              uintptr_t _v_len28 = 2;
     961              if ((_v_len27 < _v_len28))
     962              {
     963                goto _block1__branch1;
     964              }
     965              uintptr_t _v_len__new_m_var = (_v_len27 - _v_len28);
     966              Expr _ve_new_m_var (_v_Lookup1, 0, _v_len__new_m_var);
     967              Expr _vt_var1 (_v_Lookup1, _v_len__new_m_var, 1);
     968              Expr _vt_var2 (_v_Lookup1, (_v_len__new_m_var + 1), 1);
     969              Expr _v_Rfp2Java4;
     970              RF_CALL (JavaMangle::Rfp2Java, _vt_var1, _v_Rfp2Java4);
     971              Expr _v_Rfp2Java5;
     972              RF_CALL (JavaMangle::Rfp2Java, _vt_var2, _v_Rfp2Java5);
     973              _ve_split_m_vars = ((_c_39 + _v_Rfp2Java4 + _c_38 + _ve_new_m_var + _c_37) () + (_c_39 + _v_Rfp2Java5 + _c_38 + _ve_new_m_var + _c_40) ());
     974              goto _block8;
     975            }
     976          _block8__branch1: {}
     977            _ve_split_m_vars = empty;
     978          }
     979        _block8: {}
    835980          Expr _v__q_4;
    836981          RF_CALL (Box::_q_, _vs_acc, _v__q_4);
    837982          Expr _v_Step_m_To_m_Java1;
    838983          RF_CALL (Step_m_To_m_Java, _ve_step, _v_Step_m_To_m_Java1);
     984          Expr _v__q_5;
     985          RF_CALL (Box::_q_, Res_m_Assigns, _v__q_5);
     986          RF_CALL (Box::Store, (Res_m_Assigns, empty), /*void*/);
    839987          Expr _v_ASAIL_m_To_m_Java3;
    840988          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java3);
    841           _ve_java_m_item = (_v__q_4 + (_ve_break + _ve_cont + _c_30 + _ve_cond + _c_29 + _v_Step_m_To_m_Java1 + _c_24) () + (_c_21 + _v_ASAIL_m_To_m_Java3 () + _c_5) ());
     989          _ve_java_m_item = (_v__q_4 + (_ve_break + _ve_cont + _c_42 + _ve_cond + _c_41 + _v_Step_m_To_m_Java1 + _c_30) () + (_c_25 + (_ve_split_m_vars + _v__q_5 + _v_ASAIL_m_To_m_Java3) () + _c_7) ());
    842990          goto _block2;
    843991        }
     
    849997          }
    850998          Expr _v_deref__item5 (_vt_item, 0);
    851           uintptr_t _v_len23 = _v_deref__item5.get_len ();
    852           uintptr_t _v_len24 = 2;
    853           if ((_v_len23 < _v_len24))
     999          uintptr_t _v_len29 = _v_deref__item5.get_len ();
     1000          uintptr_t _v_len30 = 2;
     1001          if ((_v_len29 < _v_len30))
    8541002          {
    8551003            goto _block2__branch5;
    8561004          }
    857           uintptr_t _v_len__body4 = (_v_len23 - _v_len24);
     1005          uintptr_t _v_len__body4 = (_v_len29 - _v_len30);
    8581006          if (_v_deref__item5.symbol_at (1))
    8591007          {
     
    8611009          }
    8621010          Expr _v_deref__deref__item5 (_v_deref__item5, 1);
    863           uintptr_t _v_len25 = _v_deref__deref__item5.get_len ();
    864           uintptr_t _v_len26 = 0;
    865           if ((_v_len25 < _v_len26))
     1011          uintptr_t _v_len31 = _v_deref__deref__item5.get_len ();
     1012          uintptr_t _v_len32 = 0;
     1013          if ((_v_len31 < _v_len32))
    8661014          {
    8671015            goto _block2__branch5;
    8681016          }
    869           uintptr_t _v_len__label = (_v_len25 - _v_len26);
    870           if (!_c_27.term_eq (_v_deref__item5, 0))
     1017          uintptr_t _v_len__label = (_v_len31 - _v_len32);
     1018          if (!_c_33.term_eq (_v_deref__item5, 0))
    8711019          {
    8721020            goto _block2__branch5;
     
    8741022          Expr _ve_body (_v_deref__item5, 2, _v_len__body4);
    8751023          Expr _ve_label (_v_deref__deref__item5, 0, _v_len__label);
    876           Expr _v_Rfp2Java4;
    877           RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _ve_label) (), _v_Rfp2Java4);
     1024          Expr _v_Rfp2Java6;
     1025          RF_CALL (JavaMangle::Rfp2Java, (_c_33 + _ve_label) (), _v_Rfp2Java6);
    8781026          Expr _v_ASAIL_m_To_m_Java4;
    8791027          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java4);
    880           _ve_java_m_item = (_v_Rfp2Java4 + _c_31 + _v_ASAIL_m_To_m_Java4 () + _c_5) ();
     1028          _ve_java_m_item = (_v_Rfp2Java6 + _c_43 + _v_ASAIL_m_To_m_Java4 () + _c_7) ();
    8811029          goto _block2;
    8821030        }
     
    8881036          }
    8891037          Expr _v_deref__item6 (_vt_item, 0);
    890           uintptr_t _v_len27 = _v_deref__item6.get_len ();
    891           uintptr_t _v_len28 = 1;
    892           if ((_v_len27 < _v_len28))
     1038          uintptr_t _v_len33 = _v_deref__item6.get_len ();
     1039          uintptr_t _v_len34 = 1;
     1040          if ((_v_len33 < _v_len34))
    8931041          {
    8941042            goto _block2__branch6;
    8951043          }
    896           uintptr_t _v_len__body5 = (_v_len27 - _v_len28);
    897           if (!_c_32.term_eq (_v_deref__item6, 0))
     1044          uintptr_t _v_len__body5 = (_v_len33 - _v_len34);
     1045          if (!_c_44.term_eq (_v_deref__item6, 0))
    8981046          {
    8991047            goto _block2__branch6;
    9001048          }
    9011049          Expr _ve_body (_v_deref__item6, 1, _v_len__body5);
     1050          Expr _v__q_6;
     1051          RF_CALL (Box::_q_, Module_m_Name, _v__q_6);
     1052          Expr _v__q_7;
     1053          RF_CALL (Box::_q_, Func_m_Name, _v__q_7);
    9021054          Expr _v_ASAIL_m_To_m_Java5;
    9031055          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java5);
    904           _ve_java_m_item = (_c_33 + (_c_21 + _v_ASAIL_m_To_m_Java5 () + _c_5) ());
     1056          _ve_java_m_item = (_c_49 + (_c_25 + ((_c_48 + (_c_47 + _v__q_6 + _c_46 + _v__q_7 + _c_45) ()) () + _v_ASAIL_m_To_m_Java5) () + _c_7) ());
    9051057          goto _block2;
    9061058        }
     
    9121064          }
    9131065          Expr _v_deref__item7 (_vt_item, 0);
    914           uintptr_t _v_len29 = _v_deref__item7.get_len ();
    915           uintptr_t _v_len30 = 1;
    916           if ((_v_len29 < _v_len30))
     1066          uintptr_t _v_len35 = _v_deref__item7.get_len ();
     1067          uintptr_t _v_len36 = 1;
     1068          if ((_v_len35 < _v_len36))
    9171069          {
    9181070            goto _block2__branch7;
    9191071          }
    920           uintptr_t _v_len__body6 = (_v_len29 - _v_len30);
    921           if (!_c_34.term_eq (_v_deref__item7, 0))
     1072          uintptr_t _v_len__body6 = (_v_len35 - _v_len36);
     1073          if (!_c_50.term_eq (_v_deref__item7, 0))
    9221074          {
    9231075            goto _block2__branch7;
     
    9261078          Expr _v_ASAIL_m_To_m_Java6;
    9271079          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java6);
    928           _ve_java_m_item = (_c_35 + _v_ASAIL_m_To_m_Java6 () + _c_5) ();
     1080          _ve_java_m_item = (_c_52 + (_c_51 + _v_ASAIL_m_To_m_Java6 ()) () + _c_7) ();
    9291081          goto _block2;
    9301082        }
    9311083      _block2__branch7: {}
    9321084        {
    933           if (!_vt_item.term_eq (_c_36, 0))
     1085          if (!_vt_item.term_eq (_c_53, 0))
    9341086          {
    9351087            goto _block2__branch8;
    9361088          }
    937           _ve_java_m_item = _c_37;
     1089          _ve_java_m_item = _c_54;
    9381090          goto _block2;
    9391091        }
    9401092      _block2__branch8: {}
    9411093        {
    942           if (!_vt_item.term_eq (_c_38, 0))
     1094          if (!_vt_item.term_eq (_c_55, 0))
    9431095          {
    9441096            goto _block2__branch9;
    9451097          }
    946           Expr _v__q_5;
    947           RF_CALL (Box::_q_, Module_m_Name, _v__q_5);
    948           Expr _v__q_6;
    949           RF_CALL (Box::_q_, Func_m_Name, _v__q_6);
    950           _ve_java_m_item = (_c_41 + _v__q_5 + _c_40 + _v__q_6 + _c_39) ();
     1098          Expr _v__q_8;
     1099          RF_CALL (Box::_q_, Module_m_Name, _v__q_8);
     1100          Expr _v__q_9;
     1101          RF_CALL (Box::_q_, Func_m_Name, _v__q_9);
     1102          _ve_java_m_item = (_c_47 + _v__q_8 + _c_46 + _v__q_9 + _c_56) ();
    9511103          goto _block2;
    9521104        }
     
    9671119          }
    9681120          Expr _v_deref__deref__item8 (_v_deref__item8, 2);
    969           uintptr_t _v_len31 = _v_deref__deref__item8.get_len ();
    970           uintptr_t _v_len32 = 0;
    971           if ((_v_len31 < _v_len32))
     1121          uintptr_t _v_len37 = _v_deref__deref__item8.get_len ();
     1122          uintptr_t _v_len38 = 0;
     1123          if ((_v_len37 < _v_len38))
    9721124          {
    9731125            goto _block2__branch10;
    9741126          }
    975           uintptr_t _v_len__min = (_v_len31 - _v_len32);
    976           if (!_c_42.term_eq (_v_deref__item8, 0))
     1127          uintptr_t _v_len__min = (_v_len37 - _v_len38);
     1128          if (!_c_57.term_eq (_v_deref__item8, 0))
    9771129          {
    9781130            goto _block2__branch10;
     
    9821134          Expr _vt_var2 (_v_deref__item8, 4, 1);
    9831135          Expr _ve_min (_v_deref__deref__item8, 0, _v_len__min);
     1136          Expr _ve_a;
    9841137          Expr _ve_n;
    985           RF_CALL (JavaMangle::Rfp2Java, _vt_name, _ve_n);
     1138          RF_CALL (Expr_m_Ref_m_To_m_Java, _vt_name, (_ve_a, _ve_n));
    9861139          Expr _v_Free_m_Index1;
    9871140          RF_CALL (Free_m_Index, /*void*/, _v_Free_m_Index1);
    988           Expr _ve_new_m_var ((_c_43 + _v_Free_m_Index1));
    989           RF_CALL (Table::Bind, (Iter_m_Vars, _vt_name, _ve_new_m_var), /*void*/);
     1141          Expr _ve_new_m_var ((_c_58 + _v_Free_m_Index1));
     1142          RF_CALL (Table::Bind, (Iter_m_Vars, _vt_name, (_ve_new_m_var + _vt_var1 + _vt_var2)), /*void*/);
    9901143          Expr _vs_acc;
    9911144          RF_CALL (Box::Box, empty, _vs_acc);
    9921145          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_min), _ve_min);
    993           Expr _v__q_7;
    994           RF_CALL (Box::_q_, _vs_acc, _v__q_7);
    995           Expr _v_Rfp2Java5;
    996           RF_CALL (JavaMangle::Rfp2Java, _vt_var1, _v_Rfp2Java5);
    997           Expr _v_Rfp2Java6;
    998           RF_CALL (JavaMangle::Rfp2Java, _vt_var2, _v_Rfp2Java6);
    999           _ve_java_m_item = (_v__q_7 + (_c_47 + _ve_new_m_var + _c_46 + _ve_n + _c_45 + _ve_min + _c_44) () + (_c_49 + _v_Rfp2Java5 + _c_46 + _ve_new_m_var + _c_48) () + (_c_49 + _v_Rfp2Java6 + _c_46 + _ve_new_m_var + _c_50) ());
     1146          Expr _v__q_10;
     1147          RF_CALL (Box::_q_, _vs_acc, _v__q_10);
     1148          _ve_java_m_item = (_ve_a + _v__q_10 + (_c_61 + _ve_new_m_var + _c_38 + _ve_n + _c_60 + _ve_min + _c_59) ());
    10001149          goto _block2;
    10011150        }
     
    10161165          }
    10171166          Expr _v_deref__deref__item9 (_v_deref__item9, 2);
    1018           uintptr_t _v_len33 = _v_deref__deref__item9.get_len ();
    1019           uintptr_t _v_len34 = 0;
    1020           if ((_v_len33 < _v_len34))
     1167          uintptr_t _v_len39 = _v_deref__deref__item9.get_len ();
     1168          uintptr_t _v_len40 = 0;
     1169          if ((_v_len39 < _v_len40))
    10211170          {
    10221171            goto _block2__branch11;
    10231172          }
    1024           uintptr_t _v_len__min2 = (_v_len33 - _v_len34);
    1025           if (!_c_51.term_eq (_v_deref__item9, 0))
     1173          uintptr_t _v_len__min2 = (_v_len39 - _v_len40);
     1174          if (!_c_62.term_eq (_v_deref__item9, 0))
    10261175          {
    10271176            goto _block2__branch11;
     
    10311180          Expr _vt_var2 (_v_deref__item9, 4, 1);
    10321181          Expr _ve_min (_v_deref__deref__item9, 0, _v_len__min2);
     1182          Expr _ve_a;
    10331183          Expr _ve_n;
    1034           RF_CALL (JavaMangle::Rfp2Java, _vt_name, _ve_n);
     1184          RF_CALL (Expr_m_Ref_m_To_m_Java, _vt_name, (_ve_a, _ve_n));
    10351185          Expr _v_Free_m_Index2;
    10361186          RF_CALL (Free_m_Index, /*void*/, _v_Free_m_Index2);
    1037           Expr _ve_new_m_var ((_c_43 + _v_Free_m_Index2));
    1038           RF_CALL (Table::Bind, (Iter_m_Vars, _vt_name, _ve_new_m_var), /*void*/);
     1187          Expr _ve_new_m_var ((_c_58 + _v_Free_m_Index2));
     1188          RF_CALL (Table::Bind, (Iter_m_Vars, _vt_name, (_ve_new_m_var + _vt_var1 + _vt_var2)), /*void*/);
    10391189          Expr _vs_acc;
    10401190          RF_CALL (Box::Box, empty, _vs_acc);
    10411191          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_min), _ve_min);
    1042           Expr _v__q_8;
    1043           RF_CALL (Box::_q_, _vs_acc, _v__q_8);
    1044           Expr _v_Rfp2Java7;
    1045           RF_CALL (JavaMangle::Rfp2Java, _vt_var1, _v_Rfp2Java7);
    1046           Expr _v_Rfp2Java8;
    1047           RF_CALL (JavaMangle::Rfp2Java, _vt_var2, _v_Rfp2Java8);
    1048           _ve_java_m_item = (_v__q_8 + (_c_47 + _ve_new_m_var + _c_46 + _ve_n + _c_52 + _ve_min + _c_44) () + (_c_49 + _v_Rfp2Java7 + _c_46 + _ve_new_m_var + _c_48) () + (_c_49 + _v_Rfp2Java8 + _c_46 + _ve_new_m_var + _c_50) ());
     1192          Expr _v__q_11;
     1193          RF_CALL (Box::_q_, _vs_acc, _v__q_11);
     1194          _ve_java_m_item = (_ve_a + _v__q_11 + (_c_61 + _ve_new_m_var + _c_38 + _ve_n + _c_63 + _ve_min + _c_59) ());
    10491195          goto _block2;
    10501196        }
     
    10561202          }
    10571203          Expr _v_deref__item10 (_vt_item, 0);
    1058           uintptr_t _v_len35 = _v_deref__item10.get_len ();
    1059           uintptr_t _v_len36 = 2;
    1060           if ((_v_len35 < _v_len36))
     1204          uintptr_t _v_len41 = _v_deref__item10.get_len ();
     1205          uintptr_t _v_len42 = 2;
     1206          if ((_v_len41 < _v_len42))
    10611207          {
    10621208            goto _block2__branch12;
    10631209          }
    1064           uintptr_t _v_len__expr = (_v_len35 - _v_len36);
    1065           if (!_c_53.term_eq (_v_deref__item10, 0))
     1210          uintptr_t _v_len__expr = (_v_len41 - _v_len42);
     1211          if (!_c_64.term_eq (_v_deref__item10, 0))
    10661212          {
    10671213            goto _block2__branch12;
     
    10741220          {
    10751221            {
    1076               Expr _v__q_9;
    1077               RF_CALL (Box::_q_, Ress, _v__q_9);
    1078               if ((_v__q_9.get_len () < 1))
     1222              Expr _v__q_12;
     1223              RF_CALL (Box::_q_, Ress, _v__q_12);
     1224              if ((_v__q_12.get_len () < 1))
    10791225              {
    1080                 goto _block7__branch1;
     1226                goto _block10__branch1;
    10811227              }
    1082               RF_lsplit (_v__q_9, 0, _ve__e__e_tmp_m_rfp__asail__javarf_m_166_m_22, _v_lsplit___q_9);
    1083               for ( ; ; RF_iter(_v__q_9)++)
     1228              RF_lsplit (_v__q_12, 0, _ve__e__e_tmp_m_rfp__asail__javarf_m_192_m_22, _v_lsplit___q_12);
     1229              for ( ; ; RF_iter(_v__q_12)++)
    10841230              {
    10851231                {
    1086                   if (!RF_iter(_v__q_9))
     1232                  if (!RF_iter(_v__q_12))
    10871233                  {
    1088                     goto _block7__branch1;
     1234                    goto _block10__branch1;
    10891235                  }
    1090                   uintptr_t _v_len37 = _v_lsplit___q_9.get_len ();
    1091                   uintptr_t _v_len38 = 1;
    1092                   if ((_v_len37 < _v_len38))
     1236                  uintptr_t _v_len43 = _v_lsplit___q_12.get_len ();
     1237                  uintptr_t _v_len44 = 1;
     1238                  if ((_v_len43 < _v_len44))
    10931239                  {
    1094                     goto _block7__branch1;
     1240                    goto _block10__branch1;
    10951241                  }
    1096                   uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_166_m_30 = (_v_len37 - _v_len38);
    1097                   if (!_vt_var.term_eq (_v_lsplit___q_9, 0))
     1242                  uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_192_m_30 = (_v_len43 - _v_len44);
     1243                  if (!_vt_var.term_eq (_v_lsplit___q_12, 0))
    10981244                  {
    10991245                    goto _continue1;
    11001246                  }
    1101                   Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_166_m_30 (_v_lsplit___q_9, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_166_m_30);
    1102                   Expr _v_Rfp2Java9;
    1103                   RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java9);
    1104                   _ve_java_m_item = (_ve_a + (_v_Rfp2Java9 + _c_54 + _ve_j_m_expr + _c_44) ());
     1247                  Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_192_m_30 (_v_lsplit___q_12, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_192_m_30);
     1248                  Expr _v_Rfp2Java7;
     1249                  RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java7);
     1250                  _ve_java_m_item = (_ve_a + (_v_Rfp2Java7 + _c_65 + _ve_j_m_expr + _c_59) ());
    11051251                  goto _exit1;
    11061252                }
     
    11081254              }
    11091255            _exit1: {}
    1110               goto _block7;
     1256              goto _block10;
    11111257            }
    1112           _block7__branch1: {}
    1113             Expr _v_Rfp2Java10;
    1114             RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java10);
    1115             _ve_java_m_item = (_ve_a + (_v_Rfp2Java10 + _c_46 + _ve_j_m_expr + _c_55) ());
    1116           }
    1117         _block7: {}
     1258          _block10__branch1: {}
     1259            {
     1260              Expr _v_Lookup2;
     1261              if (!RF_CALL (Table::Lookup, (Result, _vt_var), _v_Lookup2))
     1262              {
     1263                goto _block10__branch2;
     1264              }
     1265              _ve_java_m_item = (_ve_a + (_v_Lookup2 + _c_65 + _ve_j_m_expr + _c_59) ());
     1266              goto _block10;
     1267            }
     1268          _block10__branch2: {}
     1269            Expr _v_Rfp2Java8;
     1270            RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java8);
     1271            _ve_java_m_item = (_ve_a + (_v_Rfp2Java8 + _c_38 + _ve_j_m_expr + _c_66) ());
     1272          }
     1273        _block10: {}
    11181274          goto _block2;
    11191275        }
     
    11291285            goto _block2__branch13;
    11301286          }
    1131           if (!_c_56.term_eq (_v_deref__item11, 0))
     1287          if (!_c_67.term_eq (_v_deref__item11, 0))
    11321288          {
    11331289            goto _block2__branch13;
     
    11391295          Expr _vs_type (_v_deref__item11, 1, 1);
    11401296          Expr _vt_var (_v_deref__item11, 2, 1);
    1141           Expr _v_Rfp2Java11;
    1142           RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java11);
    1143           _ve_java_m_item = (_vs_type + _c_19 + _v_Rfp2Java11 + _c_57) ();
     1297          Expr _ve_j_m_var;
     1298          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _ve_j_m_var);
     1299          {
     1300            {
     1301              if (!_vs_type.term_eq (_c_19, 0))
     1302              {
     1303                goto _block11__branch1;
     1304              }
     1305              RF_CALL (Table::Bind, (Result, _vt_var, _ve_j_m_var), /*void*/);
     1306              _ve_java_m_item = (_c_69 + _ve_j_m_var + _c_68) ();
     1307              goto _block11;
     1308            }
     1309          _block11__branch1: {}
     1310            RF_CALL (Table::Unbind, (Result, _vt_var), /*void*/);
     1311            _ve_java_m_item = (_c_39 + _ve_j_m_var + _c_70) ();
     1312          }
     1313        _block11: {}
    11441314          goto _block2;
    11451315        }
     
    11511321          }
    11521322          Expr _v_deref__item12 (_vt_item, 0);
    1153           uintptr_t _v_len39 = _v_deref__item12.get_len ();
    1154           uintptr_t _v_len40 = 2;
    1155           if ((_v_len39 < _v_len40))
     1323          uintptr_t _v_len45 = _v_deref__item12.get_len ();
     1324          uintptr_t _v_len46 = 2;
     1325          if ((_v_len45 < _v_len46))
    11561326          {
    11571327            goto _block2__branch14;
    11581328          }
    1159           uintptr_t _v_len__expr2 = (_v_len39 - _v_len40);
     1329          uintptr_t _v_len__expr2 = (_v_len45 - _v_len46);
    11601330          if (!_c_0.term_eq (_v_deref__item12, 0))
    11611331          {
     
    11671337          RF_CALL (Box::Box, empty, _vs_acc);
    11681338          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_expr), _ve_expr);
    1169           Expr _v__q_10;
    1170           RF_CALL (Box::_q_, _vs_acc, _v__q_10);
    1171           Expr _v_Rfp2Java12;
    1172           RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java12);
    1173           _ve_java_m_item = (_v__q_10 + (_c_58 + _v_Rfp2Java12 + _c_46 + _ve_expr + _c_55) ());
     1339          Expr _v__q_13;
     1340          RF_CALL (Box::_q_, _vs_acc, _v__q_13);
     1341          Expr _v_Rfp2Java9;
     1342          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java9);
     1343          _ve_java_m_item = (_v__q_13 + (_c_71 + _v_Rfp2Java9 + _c_38 + _ve_expr + _c_66) ());
    11741344          goto _block2;
    11751345        }
     
    11811351          }
    11821352          Expr _v_deref__item13 (_vt_item, 0);
    1183           uintptr_t _v_len41 = _v_deref__item13.get_len ();
    1184           uintptr_t _v_len42 = 2;
    1185           if ((_v_len41 < _v_len42))
     1353          uintptr_t _v_len47 = _v_deref__item13.get_len ();
     1354          uintptr_t _v_len48 = 2;
     1355          if ((_v_len47 < _v_len48))
    11861356          {
    11871357            goto _block2__branch15;
    11881358          }
    1189           uintptr_t _v_len__expr3 = (_v_len41 - _v_len42);
    1190           if (!_c_59.term_eq (_v_deref__item13, 0))
     1359          uintptr_t _v_len__expr3 = (_v_len47 - _v_len48);
     1360          if (!_c_72.term_eq (_v_deref__item13, 0))
    11911361          {
    11921362            goto _block2__branch15;
     
    11941364          Expr _vt_var (_v_deref__item13, 1, 1);
    11951365          Expr _ve_expr (_v_deref__item13, 2, _v_len__expr3);
     1366          RF_CALL (Table::Unbind, (Result, _vt_var), /*void*/);
    11961367          Expr _ve_a;
    11971368          Expr _ve_j_m_expr;
    11981369          RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
    1199           Expr _v_Rfp2Java13;
    1200           RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java13);
    1201           _ve_java_m_item = (_ve_a + (_c_49 + _v_Rfp2Java13 + _c_46 + _ve_j_m_expr + _c_55) ());
     1370          Expr _v_Rfp2Java10;
     1371          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java10);
     1372          _ve_java_m_item = (_ve_a + (_c_39 + _v_Rfp2Java10 + _c_38 + _ve_j_m_expr + _c_66) ());
    12021373          goto _block2;
    12031374        }
     
    12091380          }
    12101381          Expr _v_deref__item14 (_vt_item, 0);
    1211           uintptr_t _v_len43 = _v_deref__item14.get_len ();
    1212           uintptr_t _v_len44 = 3;
    1213           if ((_v_len43 < _v_len44))
     1382          uintptr_t _v_len49 = _v_deref__item14.get_len ();
     1383          uintptr_t _v_len50 = 3;
     1384          if ((_v_len49 < _v_len50))
    12141385          {
    12151386            goto _block2__branch16;
    12161387          }
    1217           uintptr_t _v_len__expr4 = (_v_len43 - _v_len44);
     1388          uintptr_t _v_len__expr4 = (_v_len49 - _v_len50);
    12181389          if (_v_deref__item14.symbol_at ((_v_len__expr4 + 2)))
    12191390          {
     
    12211392          }
    12221393          Expr _v_deref__deref__item14 (_v_deref__item14, (_v_len__expr4 + 2));
    1223           uintptr_t _v_len45 = _v_deref__deref__item14.get_len ();
    1224           uintptr_t _v_len46 = 0;
    1225           if ((_v_len45 < _v_len46))
     1394          uintptr_t _v_len51 = _v_deref__deref__item14.get_len ();
     1395          uintptr_t _v_len52 = 0;
     1396          if ((_v_len51 < _v_len52))
    12261397          {
    12271398            goto _block2__branch16;
    12281399          }
    1229           uintptr_t _v_len__pos = (_v_len45 - _v_len46);
    1230           if (!_c_60.term_eq (_v_deref__item14, 0))
     1400          uintptr_t _v_len__pos = (_v_len51 - _v_len52);
     1401          if (!_c_73.term_eq (_v_deref__item14, 0))
    12311402          {
    12321403            goto _block2__branch16;
     
    12351406          Expr _ve_expr (_v_deref__item14, 2, _v_len__expr4);
    12361407          Expr _ve_pos (_v_deref__deref__item14, 0, _v_len__pos);
     1408          RF_CALL (Table::Unbind, (Result, _vt_var), /*void*/);
    12371409          Expr _ve_a;
    12381410          Expr _ve_j_m_expr;
     
    12411413          RF_CALL (Box::Box, empty, _vs_acc);
    12421414          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_pos), _ve_pos);
    1243           Expr _v__q_11;
    1244           RF_CALL (Box::_q_, _vs_acc, _v__q_11);
    1245           Expr _v_Rfp2Java14;
    1246           RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java14);
    1247           _ve_java_m_item = (_ve_a + _v__q_11 + (_c_49 + _v_Rfp2Java14 + _c_62 + _ve_j_m_expr + _c_61 + _ve_pos + _c_44) ());
     1415          Expr _v__q_14;
     1416          RF_CALL (Box::_q_, _vs_acc, _v__q_14);
     1417          Expr _v_Rfp2Java11;
     1418          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java11);
     1419          _ve_java_m_item = (_ve_a + _v__q_14 + (_c_39 + _v_Rfp2Java11 + _c_75 + _ve_j_m_expr + _c_74 + _ve_pos + _c_59) ());
    12481420          goto _block2;
    12491421        }
     
    12551427          }
    12561428          Expr _v_deref__item15 (_vt_item, 0);
    1257           uintptr_t _v_len47 = _v_deref__item15.get_len ();
    1258           uintptr_t _v_len48 = 4;
    1259           if ((_v_len47 < _v_len48))
     1429          uintptr_t _v_len53 = _v_deref__item15.get_len ();
     1430          uintptr_t _v_len54 = 4;
     1431          if ((_v_len53 < _v_len54))
    12601432          {
    12611433            goto _block2__branch17;
    12621434          }
    1263           uintptr_t _v_len__expr5 = (_v_len47 - _v_len48);
     1435          uintptr_t _v_len__expr5 = (_v_len53 - _v_len54);
    12641436          if (_v_deref__item15.symbol_at ((_v_len__expr5 + 2)))
    12651437          {
     
    12721444          Expr _v_deref__deref__item15 (_v_deref__item15, (_v_len__expr5 + 2));
    12731445          Expr _v_deref__deref__item152 (_v_deref__item15, (_v_len__expr5 + 3));
    1274           uintptr_t _v_len49 = _v_deref__deref__item152.get_len ();
    1275           uintptr_t _v_len50 = 0;
    1276           if ((_v_len49 < _v_len50))
     1446          uintptr_t _v_len55 = _v_deref__deref__item152.get_len ();
     1447          uintptr_t _v_len56 = 0;
     1448          if ((_v_len55 < _v_len56))
    12771449          {
    12781450            goto _block2__branch17;
    12791451          }
    1280           uintptr_t _v_len__len = (_v_len49 - _v_len50);
    1281           uintptr_t _v_len51 = _v_deref__deref__item15.get_len ();
    1282           uintptr_t _v_len52 = 0;
    1283           if ((_v_len51 < _v_len52))
     1452          uintptr_t _v_len__len = (_v_len55 - _v_len56);
     1453          uintptr_t _v_len57 = _v_deref__deref__item15.get_len ();
     1454          uintptr_t _v_len58 = 0;
     1455          if ((_v_len57 < _v_len58))
    12841456          {
    12851457            goto _block2__branch17;
    12861458          }
    1287           uintptr_t _v_len__pos2 = (_v_len51 - _v_len52);
    1288           if (!_c_63.term_eq (_v_deref__item15, 0))
     1459          uintptr_t _v_len__pos2 = (_v_len57 - _v_len58);
     1460          if (!_c_76.term_eq (_v_deref__item15, 0))
    12891461          {
    12901462            goto _block2__branch17;
     
    12941466          Expr _ve_pos (_v_deref__deref__item15, 0, _v_len__pos2);
    12951467          Expr _ve_len (_v_deref__deref__item152, 0, _v_len__len);
     1468          RF_CALL (Table::Unbind, (Result, _vt_var), /*void*/);
    12961469          Expr _ve_a;
    12971470          Expr _ve_j_m_expr;
     
    13011474          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_pos), _ve_pos);
    13021475          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_len), _ve_len);
    1303           Expr _v__q_12;
    1304           RF_CALL (Box::_q_, _vs_acc, _v__q_12);
    1305           Expr _v_Rfp2Java15;
    1306           RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java15);
    1307           _ve_java_m_item = (_ve_a + _v__q_12 + (_c_49 + _v_Rfp2Java15 + _c_65 + _ve_j_m_expr + _c_64 + _ve_pos + _c_64 + _ve_len + _c_44) ());
     1476          Expr _v__q_15;
     1477          RF_CALL (Box::_q_, _vs_acc, _v__q_15);
     1478          Expr _v_Rfp2Java12;
     1479          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java12);
     1480          _ve_java_m_item = (_ve_a + _v__q_15 + (_c_39 + _v_Rfp2Java12 + _c_78 + _ve_j_m_expr + _c_77 + _ve_pos + _c_77 + _ve_len + _c_59) ());
    13081481          goto _block2;
    13091482        }
     
    13191492            goto _block2__branch18;
    13201493          }
    1321           if (!_c_66.term_eq (_v_deref__item16, 0))
     1494          if (!_c_79.term_eq (_v_deref__item16, 0))
    13221495          {
    13231496            goto _block2__branch18;
    13241497          }
    13251498          Expr _vt_var (_v_deref__item16, 1, 1);
    1326           Expr _v_Rfp2Java16;
    1327           RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java16);
    1328           _ve_java_m_item = (_v_Rfp2Java16 + _c_67) ();
     1499          Expr _v_Var_m_To_m_Java1;
     1500          RF_CALL (Var_m_To_m_Java, _vt_var, _v_Var_m_To_m_Java1);
     1501          _ve_java_m_item = (_v_Var_m_To_m_Java1 + _c_80) ();
    13291502          goto _block2;
    13301503        }
     
    13401513            goto _block2__branch19;
    13411514          }
    1342           if (!_c_68.term_eq (_v_deref__item17, 0))
     1515          if (!_c_81.term_eq (_v_deref__item17, 0))
    13431516          {
    13441517            goto _block2__branch19;
    13451518          }
    13461519          Expr _vt_label (_v_deref__item17, 1, 1);
    1347           Expr _v_Rfp2Java17;
    1348           RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _vt_label) (), _v_Rfp2Java17);
    1349           _ve_java_m_item = (_c_69 + _v_Rfp2Java17 + _c_55) ();
     1520          Expr _v_Rfp2Java13;
     1521          RF_CALL (JavaMangle::Rfp2Java, (_c_33 + _vt_label) (), _v_Rfp2Java13);
     1522          _ve_java_m_item = (_c_82 + _v_Rfp2Java13 + _c_66) ();
    13501523          goto _block2;
    13511524        }
     
    13611534            goto _block2__branch20;
    13621535          }
    1363           if (!_c_70.term_eq (_v_deref__item18, 0))
     1536          if (!_c_83.term_eq (_v_deref__item18, 0))
    13641537          {
    13651538            goto _block2__branch20;
    13661539          }
    13671540          Expr _vt_label (_v_deref__item18, 1, 1);
    1368           Expr _v_Rfp2Java18;
    1369           RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _vt_label) (), _v_Rfp2Java18);
    1370           _ve_java_m_item = (_c_71 + _v_Rfp2Java18 + _c_55) ();
     1541          Expr _v_Rfp2Java14;
     1542          RF_CALL (JavaMangle::Rfp2Java, (_c_33 + _vt_label) (), _v_Rfp2Java14);
     1543          _ve_java_m_item = (_c_84 + _v_Rfp2Java14 + _c_66) ();
    13711544          goto _block2;
    13721545        }
     
    13781551          }
    13791552          Expr _v_deref__item19 (_vt_item, 0);
    1380           uintptr_t _v_len53 = _v_deref__item19.get_len ();
    1381           uintptr_t _v_len54 = 1;
    1382           if ((_v_len53 < _v_len54))
     1553          uintptr_t _v_len59 = _v_deref__item19.get_len ();
     1554          uintptr_t _v_len60 = 1;
     1555          if ((_v_len59 < _v_len60))
    13831556          {
    13841557            goto _block2__branch21;
    13851558          }
    1386           uintptr_t _v_len__expr6 = (_v_len53 - _v_len54);
    1387           if (!_c_72.term_eq (_v_deref__item19, 0))
     1559          uintptr_t _v_len__expr6 = (_v_len59 - _v_len60);
     1560          if (!_c_85.term_eq (_v_deref__item19, 0))
    13881561          {
    13891562            goto _block2__branch21;
     
    13931566          Expr _ve_j_m_expr;
    13941567          RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
    1395           _ve_java_m_item = (_ve_a + (_c_73 + _ve_j_m_expr + _c_44) ());
     1568          _ve_java_m_item = (_ve_a + (_c_86 + _ve_j_m_expr + _c_59) ());
    13961569          goto _block2;
    13971570        }
     
    14031576          }
    14041577          Expr _v_deref__item20 (_vt_item, 0);
    1405           uintptr_t _v_len55 = _v_deref__item20.get_len ();
    1406           uintptr_t _v_len56 = 4;
    1407           if ((_v_len55 < _v_len56))
     1578          uintptr_t _v_len61 = _v_deref__item20.get_len ();
     1579          uintptr_t _v_len62 = 4;
     1580          if ((_v_len61 < _v_len62))
    14081581          {
    14091582            goto _block2__branch22;
    14101583          }
    1411           uintptr_t _v_len__expr7 = (_v_len55 - _v_len56);
     1584          uintptr_t _v_len__expr7 = (_v_len61 - _v_len62);
    14121585          if (_v_deref__item20.symbol_at (3))
    14131586          {
     
    14151588          }
    14161589          Expr _v_deref__deref__item20 (_v_deref__item20, 3);
    1417           uintptr_t _v_len57 = _v_deref__deref__item20.get_len ();
    1418           uintptr_t _v_len58 = 0;
    1419           if ((_v_len57 < _v_len58))
     1590          uintptr_t _v_len63 = _v_deref__deref__item20.get_len ();
     1591          uintptr_t _v_len64 = 0;
     1592          if ((_v_len63 < _v_len64))
    14201593          {
    14211594            goto _block2__branch22;
    14221595          }
    1423           uintptr_t _v_len__comment = (_v_len57 - _v_len58);
    1424           if (!_c_74.term_eq (_v_deref__item20, 0))
     1596          uintptr_t _v_len__comment = (_v_len63 - _v_len64);
     1597          if (!_c_87.term_eq (_v_deref__item20, 0))
    14251598          {
    14261599            goto _block2__branch22;
     
    14391612              if (_vt_name.symbol_at (0))
    14401613              {
    1441                 goto _block8__branch1;
     1614                goto _block12__branch1;
    14421615              }
    14431616              Expr _v_deref__name (_vt_name, 0);
    1444               uintptr_t _v_len59 = _v_deref__name.get_len ();
    1445               uintptr_t _v_len60 = 1;
    1446               if ((_v_len59 < _v_len60))
     1617              uintptr_t _v_len65 = _v_deref__name.get_len ();
     1618              uintptr_t _v_len66 = 1;
     1619              if ((_v_len65 < _v_len66))
    14471620              {
    1448                 goto _block8__branch1;
     1621                goto _block12__branch1;
    14491622              }
    1450               uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_201_m_27 = (_v_len59 - _v_len60);
    1451               if (!_c_75.term_eq (_v_deref__name, 0))
     1623              uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_238_m_27 = (_v_len65 - _v_len66);
     1624              if (!_c_88.term_eq (_v_deref__name, 0))
    14521625              {
    1453                 goto _block8__branch1;
     1626                goto _block12__branch1;
    14541627              }
    1455               Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_201_m_27 (_v_deref__name, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_201_m_27);
     1628              Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_238_m_27 (_v_deref__name, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_238_m_27);
    14561629              RF_CALL (JavaMangle::Rfp2Java, _vt_name, _ve_n);
    1457               goto _block8;
     1630              goto _block12;
    14581631            }
    1459           _block8__branch1: {}
     1632          _block12__branch1: {}
    14601633            RF_CALL (Name_m_To_m_Java, _vt_name, _ve_n);
    14611634          }
    1462         _block8: {}
     1635        _block12: {}
    14631636          Expr _ve_a;
    14641637          Expr _ve_j_m_expr;
     
    14661639          Expr _v_Access_m_Mode2;
    14671640          RF_CALL (Access_m_Mode, _vt_name, _v_Access_m_Mode2);
    1468           _ve_java_m_item = (_ve_a + (_c_20 + _v_Access_m_Mode2 + _c_76 + _ve_n + _c_46 + _ve_j_m_expr + _c_55) ());
     1641          _ve_java_m_item = (_ve_a + (_c_24 + _v_Access_m_Mode2 + _c_89 + _ve_n + _c_38 + _ve_j_m_expr + _c_66) ());
    14691642          goto _block2;
    14701643        }
     
    14801653            goto _block2__branch23;
    14811654          }
    1482           if (!_c_77.term_eq (_v_deref__item21, 0))
     1655          if (!_c_90.term_eq (_v_deref__item21, 0))
    14831656          {
    14841657            goto _block2__branch23;
     
    14971670          Expr _v_To_m_Chars1;
    14981671          RF_CALL (Convert::To_m_Chars, _vs_tag, _v_To_m_Chars1);
    1499           uintptr_t _v_len61 = _v_To_m_Chars1.get_len ();
    1500           uintptr_t _v_len62 = 1;
    1501           if ((_v_len61 < _v_len62))
     1672          uintptr_t _v_len67 = _v_To_m_Chars1.get_len ();
     1673          uintptr_t _v_len68 = 1;
     1674          if ((_v_len67 < _v_len68))
    15021675          {
    15031676            goto _block1__branch1;
    15041677          }
    1505           uintptr_t _v_len__2 = (_v_len61 - _v_len62);
     1678          uintptr_t _v_len__2 = (_v_len67 - _v_len68);
    15061679          if (!_v_To_m_Chars1.symbol_at (0))
    15071680          {
     
    15121685          Expr _v_To_m_Lower1;
    15131686          RF_CALL (Convert::To_m_Lower, _ve_2, _v_To_m_Lower1);
    1514           Expr _ve_class_m_name ((_c_78 + _vs_1 + _v_To_m_Lower1));
    1515           RF_CALL (Table::Bind, (Inputs, (_c_79 + _ve_class_m_name), empty), /*void*/);
     1687          Expr _ve_class_m_name ((_c_91 + _vs_1 + _v_To_m_Lower1));
     1688          RF_CALL (Table::Bind, (Inputs, (_c_92 + _ve_class_m_name), empty), /*void*/);
    15161689          Expr _ve_qualifiers;
    15171690          Expr _ve_n;
     
    15211694          Expr _v_Name_m_To_m_Java2;
    15221695          RF_CALL (Name_m_To_m_Java, _vt_name, _v_Name_m_To_m_Java2);
    1523           _ve_java_m_item = (_c_20 + _v_Access_m_Mode3 + _c_76 + _v_Name_m_To_m_Java2 + _c_82 + _ve_class_m_name + _c_81 + _ve_n + _c_80) ();
     1696          _ve_java_m_item = (_c_24 + _v_Access_m_Mode3 + _c_89 + _v_Name_m_To_m_Java2 + _c_95 + _ve_class_m_name + _c_94 + _ve_n + _c_93) ();
    15241697          goto _block2;
    15251698        }
     
    15351708            goto _block2__branch24;
    15361709          }
    1537           if (!_c_83.term_eq (_v_deref__item22, 0))
     1710          if (!_c_96.term_eq (_v_deref__item22, 0))
    15381711          {
    15391712            goto _block2__branch24;
     
    15541727            goto _block2__branch25;
    15551728          }
    1556           if (!_c_84.term_eq (_v_deref__item23, 0))
     1729          if (!_c_97.term_eq (_v_deref__item23, 0))
    15571730          {
    15581731            goto _block2__branch25;
     
    15821755        Expr _v_deref__deref__item24 (_v_deref__item24, 2);
    15831756        Expr _v_deref__deref__item242 (_v_deref__item24, 3);
    1584         uintptr_t _v_len63 = _v_deref__deref__item242.get_len ();
    1585         uintptr_t _v_len64 = 0;
    1586         if ((_v_len63 < _v_len64))
     1757        uintptr_t _v_len69 = _v_deref__deref__item242.get_len ();
     1758        uintptr_t _v_len70 = 0;
     1759        if ((_v_len69 < _v_len70))
    15871760        {
    15881761          RF_FUNC_ERROR (unexpected_fail);
    15891762        }
    1590         uintptr_t _v_len__ress2 = (_v_len63 - _v_len64);
    1591         uintptr_t _v_len65 = _v_deref__deref__item24.get_len ();
    1592         uintptr_t _v_len66 = 0;
    1593         if ((_v_len65 < _v_len66))
     1763        uintptr_t _v_len__ress2 = (_v_len69 - _v_len70);
     1764        uintptr_t _v_len71 = _v_deref__deref__item24.get_len ();
     1765        uintptr_t _v_len72 = 0;
     1766        if ((_v_len71 < _v_len72))
    15941767        {
    15951768          RF_FUNC_ERROR (unexpected_fail);
    15961769        }
    1597         uintptr_t _v_len__args2 = (_v_len65 - _v_len66);
     1770        uintptr_t _v_len__args2 = (_v_len71 - _v_len72);
    15981771        if (!_v_deref__item24.symbol_at (0))
    15991772        {
     
    16041777        Expr _ve_args (_v_deref__deref__item24, 0, _v_len__args2);
    16051778        Expr _ve_ress (_v_deref__deref__item242, 0, _v_len__ress2);
    1606         Expr _ve_subst;
    1607         RF_CALL (Copy_m_Args, (_ve_args, _ve_ress), (_ve_args, _ve_subst));
    1608         Expr _v_Paren1;
    1609         RF_CALL (List::Paren, _ve_ress, _v_Paren1);
     1779        Expr _ve_decls;
     1780        RF_CALL (Declare_m_Results, (_ve_ress, empty), (_ve_decls, _ve_ress));
    16101781        Expr _ve_arrays;
    1611         RF_CALL (Expr_m_Args_m_To_m_Java, (_ve_args + _v_Paren1), (_ve_arrays, _ve_args));
     1782        RF_CALL (Expr_m_Args_m_To_m_Java, (_ve_args + _c_19 + _ve_ress), (_ve_arrays, _ve_args));
    16121783        Expr _v_Name_m_To_m_Java3;
    16131784        RF_CALL (Name_m_To_m_Java, _vt_name, _v_Name_m_To_m_Java3);
    1614         Expr _ve_c ((_v_Name_m_To_m_Java3 + _c_18 + _ve_args + _c_24));
    1615         {
    1616           {
    1617             if (!_vs_call.term_eq (_c_85, 0))
     1785        Expr _ve_c ((_v_Name_m_To_m_Java3 + _c_22 + _ve_args + _c_30));
     1786        {
     1787          {
     1788            if (!_vs_call.term_eq (_c_98, 0))
    16181789            {
    1619               goto _block9__branch1;
     1790              goto _block13__branch1;
    16201791            }
    1621             _ve_java_m_item = (_ve_subst + _ve_arrays + (_c_87 + _ve_c + _c_86) ());
    1622             goto _block9;
    1623           }
    1624         _block9__branch1: {}
    1625           _ve_java_m_item = (_ve_subst + _ve_arrays + (_ve_c + _c_55) ());
    1626         }
    1627       _block9: {}
     1792            _ve_java_m_item = (_ve_arrays + _ve_decls + (_c_100 + _ve_c + _c_99) ());
     1793            goto _block13;
     1794          }
     1795        _block13__branch1: {}
     1796          Expr _v__q_16;
     1797          RF_CALL (Box::_q_, Res_m_Assigns, _v__q_16);
     1798          RF_CALL (Box::Store, (Res_m_Assigns, empty), /*void*/);
     1799          _ve_java_m_item = (_ve_arrays + _ve_decls + (_ve_c + _c_66) () + _v__q_16);
     1800        }
     1801      _block13: {}
    16281802      }
    16291803    _block2: {}
     
    16321806          if ((_ve_java_m_item.get_len () != 1))
    16331807          {
    1634             goto _block10__branch1;
     1808            goto _block14__branch1;
    16351809          }
    16361810          if (_ve_java_m_item.symbol_at (0))
    16371811          {
    1638             goto _block10__branch1;
     1812            goto _block14__branch1;
    16391813          }
    16401814          Expr _v_deref__java_m_item (_ve_java_m_item, 0);
    1641           uintptr_t _v_len67 = _v_deref__java_m_item.get_len ();
    1642           uintptr_t _v_len68 = 6;
    1643           if ((_v_len67 < _v_len68))
    1644           {
    1645             goto _block10__branch1;
    1646           }
    1647           uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_230_m_32 = (_v_len67 - _v_len68);
    1648           if (!_c_71.eq (_v_deref__java_m_item, 0))
    1649           {
    1650             goto _block10__branch1;
    1651           }
    1652           Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_230_m_32 (_v_deref__java_m_item, 6, _v_len___e__e_tmp_m_rfp__asail__javarf_m_230_m_32);
     1815          uintptr_t _v_len73 = _v_deref__java_m_item.get_len ();
     1816          uintptr_t _v_len74 = 6;
     1817          if ((_v_len73 < _v_len74))
     1818          {
     1819            goto _block14__branch1;
     1820          }
     1821          uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_268_m_32 = (_v_len73 - _v_len74);
     1822          if (!_c_84.eq (_v_deref__java_m_item, 0))
     1823          {
     1824            goto _block14__branch1;
     1825          }
     1826          Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_268_m_32 (_v_deref__java_m_item, 6, _v_len___e__e_tmp_m_rfp__asail__javarf_m_268_m_32);
    16531827          _v_res1 = _ve_java_m_item;
    1654           goto _block10;
    1655         }
    1656       _block10__branch1: {}
     1828          goto _block14;
     1829        }
     1830      _block14__branch1: {}
    16571831        Expr _v_ASAIL_m_To_m_Java7;
    16581832        RF_CALL (ASAIL_m_To_m_Java, _ve_rest, _v_ASAIL_m_To_m_Java7);
    16591833        _v_res1 = (_ve_java_m_item + _v_ASAIL_m_To_m_Java7);
    16601834      }
    1661     _block10: {}
     1835    _block14: {}
    16621836      goto _block1;
    16631837    }
     
    16681842RF_END
    16691843
    1670 RF_FUNC (Copy_m_Args, (RF_ARG _ve_args, _ve_ress;;), (RF_RES _v_res1, _v_res2;;))
    1671   Expr _v_args__1 (_ve_args);
    1672   Expr _ve_valid_m_args (empty);
    1673   Expr _ve_subst (empty);
    1674   for ( ; ; )
     1844RF_FUNC (Declare_m_Results, (RF_ARG _v_arg1, _v_arg2;;), (RF_RES _v_res1, _v_res2;;))
    16751845  {
    16761846    {
    1677       if ((_v_args__1.get_len () != 0))
    1678       {
    1679         goto _iter1;
    1680       }
    1681       _v_res1 = _ve_valid_m_args;
    1682       _v_res2 = _ve_subst;
    1683       goto _exit__iter1;
    1684     }
    1685   _iter1: {}
    1686     uintptr_t _v_len1 = _v_args__1.get_len ();
    1687     uintptr_t _v_len2 = 1;
    1688     if ((_v_len1 < _v_len2))
     1847      uintptr_t _v_len1 = (_v_arg2.get_len () + 1);
     1848      uintptr_t _v_len2 = 1;
     1849      if ((_v_len1 < _v_len2))
     1850      {
     1851        goto _block1__branch1;
     1852      }
     1853      uintptr_t _v_len__ress = (_v_len1 - _v_len2);
     1854      Expr _v_compose1 ((_v_arg1 () + _v_arg2));
     1855      if (_v_compose1.symbol_at (0))
     1856      {
     1857        goto _block1__branch1;
     1858      }
     1859      Expr _v_deref__compose1 (_v_compose1, 0);
     1860      uintptr_t _v_len3 = _v_deref__compose1.get_len ();
     1861      uintptr_t _v_len4 = 1;
     1862      if ((_v_len3 < _v_len4))
     1863      {
     1864        goto _block1__branch1;
     1865      }
     1866      uintptr_t _v_len__r = (_v_len3 - _v_len4);
     1867      Expr _ve_ress (_v_compose1, 1, _v_len__ress);
     1868      Expr _vt_var (_v_deref__compose1, 0, 1);
     1869      Expr _ve_r (_v_deref__compose1, 1, _v_len__r);
     1870      {
     1871        {
     1872          if (!RF_CALL (Table::In_m_Table_q_, (Result, _vt_var), /*void*/))
     1873          {
     1874            goto _block2__branch1;
     1875          }
     1876          Expr _v_Rfp2Java1;
     1877          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java1);
     1878          RF_TAILCALL (Declare_m_Results, (_ve_r, (_ve_ress + _v_Rfp2Java1 ())), (_v_res1, _v_res2));
     1879          goto _block2;
     1880        }
     1881      _block2__branch1: {}
     1882        {
     1883          Expr _v__q_1;
     1884          RF_CALL (Box::_q_, Ress, _v__q_1);
     1885          if ((_v__q_1.get_len () < 1))
     1886          {
     1887            goto _block2__branch2;
     1888          }
     1889          RF_lsplit (_v__q_1, 0, _ve__e__e_tmp_m_rfp__asail__javarf_m_277_m_18, _v_lsplit___q_1);
     1890          for ( ; ; RF_iter(_v__q_1)++)
     1891          {
     1892            {
     1893              if (!RF_iter(_v__q_1))
     1894              {
     1895                goto _block2__branch2;
     1896              }
     1897              uintptr_t _v_len5 = _v_lsplit___q_1.get_len ();
     1898              uintptr_t _v_len6 = 1;
     1899              if ((_v_len5 < _v_len6))
     1900              {
     1901                goto _block2__branch2;
     1902              }
     1903              uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_277_m_26 = (_v_len5 - _v_len6);
     1904              if (!_vt_var.term_eq (_v_lsplit___q_1, 0))
     1905              {
     1906                goto _continue1;
     1907              }
     1908              Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_277_m_26 (_v_lsplit___q_1, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_277_m_26);
     1909              Expr _v_Rfp2Java2;
     1910              RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java2);
     1911              RF_TAILCALL (Declare_m_Results, (_ve_r, (_ve_ress + _v_Rfp2Java2 ())), (_v_res1, _v_res2));
     1912              goto _exit1;
     1913            }
     1914        _continue1: {}
     1915          }
     1916        _exit1: {}
     1917          goto _block2;
     1918        }
     1919      _block2__branch2: {}
     1920        Expr _v_Free_m_Index1;
     1921        RF_CALL (Free_m_Index, /*void*/, _v_Free_m_Index1);
     1922        Expr _ve_new_m_var ((_c_58 + _v_Free_m_Index1));
     1923        Expr _v_Rfp2Java3;
     1924        RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java3);
     1925        RF_CALL (Box::Put, (Res_m_Assigns, (_v_Rfp2Java3 + _c_38 + _ve_new_m_var + _c_101) ()), /*void*/);
     1926        Expr _v_Declare_m_Results1;
     1927        RF_CALL (Declare_m_Results, (_ve_r, (_ve_ress + _ve_new_m_var ())), (_v_Declare_m_Results1, _v_res2));
     1928        _v_res1 = ((_c_69 + _ve_new_m_var + _c_68) () + _v_Declare_m_Results1);
     1929      }
     1930    _block2: {}
     1931      goto _block1;
     1932    }
     1933  _block1__branch1: {}
     1934    uintptr_t _v_len7 = (_v_arg2.get_len () + 1);
     1935    uintptr_t _v_len8 = 1;
     1936    if ((_v_len7 < _v_len8))
    16891937    {
    16901938      RF_FUNC_ERROR (unexpected_fail);
    16911939    }
    1692     uintptr_t _v_len__2 = (_v_len1 - _v_len2);
    1693     if (_v_args__1.symbol_at (0))
     1940    uintptr_t _v_len__ress2 = (_v_len7 - _v_len8);
     1941    Expr _v_compose2 ((_v_arg1 () + _v_arg2));
     1942    if (!_c_11.term_eq (_v_compose2, 0))
    16941943    {
    16951944      RF_FUNC_ERROR (unexpected_fail);
    16961945    }
    1697     Expr _v_deref__args__1 (_v_args__1, 0);
    1698     uintptr_t _v_len3 = _v_deref__args__1.get_len ();
    1699     uintptr_t _v_len4 = 0;
    1700     if ((_v_len3 < _v_len4))
    1701     {
    1702       RF_FUNC_ERROR (unexpected_fail);
    1703     }
    1704     uintptr_t _v_len__1 = (_v_len3 - _v_len4);
    1705     Expr _ve_2 (_v_args__1, 1, _v_len__2);
    1706     Expr _ve_1 (_v_deref__args__1, 0, _v_len__1);
    1707     {
    1708       {
    1709         if ((_ve_ress.get_len () < 1))
    1710         {
    1711           goto _block2__branch1;
    1712         }
    1713         RF_lsplit (_ve_ress, 0, _ve__e__e_tmp_m_rfp__asail__javarf_m_239_m_17, _v_lsplit__ress);
    1714         for ( ; ; RF_iter(_ve_ress)++)
    1715         {
    1716           {
    1717             if (!RF_iter(_ve_ress))
    1718             {
    1719               goto _block2__branch1;
    1720             }
    1721             uintptr_t _v_len5 = _v_lsplit__ress.get_len ();
    1722             uintptr_t _v_len6 = 1;
    1723             if ((_v_len5 < _v_len6))
    1724             {
    1725               goto _block2__branch1;
    1726             }
    1727             uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_239_m_24 = (_v_len5 - _v_len6);
    1728             if (_v_lsplit__ress.symbol_at (0))
    1729             {
    1730               goto _continue1;
    1731             }
    1732             Expr _v_deref__lsplit__ress (_v_lsplit__ress, 0);
    1733             if ((_v_deref__lsplit__ress.get_len () != _v_len__1))
    1734             {
    1735               goto _continue1;
    1736             }
    1737             if (!_ve_1.eq (_v_deref__lsplit__ress, 0))
    1738             {
    1739               goto _continue1;
    1740             }
    1741             Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_239_m_24 (_v_lsplit__ress, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_239_m_24);
    1742             Expr _v_Free_m_Index1;
    1743             RF_CALL (Free_m_Index, /*void*/, _v_Free_m_Index1);
    1744             Expr _ve_new_m_var ((_c_43 + _v_Free_m_Index1));
    1745             Expr _v_Rfp2Java1;
    1746             RF_CALL (JavaMangle::Rfp2Java, _ve_1, _v_Rfp2Java1);
    1747             _v_args__1 = _ve_2;
    1748             _ve_valid_m_args = (_ve_valid_m_args + _ve_new_m_var ());
    1749             _ve_subst = (_ve_subst + (_c_49 + _ve_new_m_var + _c_88 + _v_Rfp2Java1 + _c_44) ());
    1750             goto _exit1;
    1751           }
    1752       _continue1: {}
    1753         }
    1754       _exit1: {}
    1755         goto _block2;
    1756       }
    1757     _block2__branch1: {}
    1758       _v_args__1 = _ve_2;
    1759       _ve_valid_m_args = (_ve_valid_m_args + _ve_1 ());
    1760     }
    1761   _block2: {}
     1946    Expr _ve_ress (_v_compose2, 1, _v_len__ress2);
     1947    _v_res1 = empty;
     1948    _v_res2 = _ve_ress;
    17621949  }
    1763 _exit__iter1: {}