Changeset 2340


Ignore:
Timestamp:
Feb 6, 2007, 12:01:49 AM (14 years ago)
Author:
orlov
Message:
  • Fresh-generated compiler sources in Java.
Location:
to-imperative/trunk/java/org/refal/plus/compiler
Files:
2 edited

Legend:

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

    r2327 r2340  
    77import org.refal.plus.library.Class;
    88import org.refal.plus.wrappers.org.objectweb.asm.ClassWriter;
     9import org.refal.plus.wrappers.org.objectweb.asm.FieldVisitor;
     10import org.refal.plus.library.Convert;
    911import org.refal.plus.library.Box;
    10 import org.refal.plus.wrappers.java.io.FileOutputStream;
     12import org.refal.plus.library.Java;
    1113import org.refal.plus.library.JavaMangle;
    12 import org.refal.plus.library.Java;
    13 import org.refal.plus.library.StdIO;
     14import org.refal.plus.wrappers.org.objectweb.asm.MethodVisitor;
    1415import org.refal.plus.library.Table;
    1516import org.refal.plus.library.List;
    16 import org.refal.plus.library.Convert;
     17import org.refal.plus.library.File;
    1718import java.math.BigInteger;
    1819import org.refal.plus.library.NamedTable;
     
    3839  static private final Expr _c_2 = new Expr (new Word ("ENTRIES"));
    3940  static private final Expr _c_3 = new Expr (new Word ("Main"));
    40   static private final Expr _c_8 = Expr.fromSequence ("RefalRuntime.setArgs (\"");
    41   static private final Expr _c_4 = new Expr (_c_8, 12, 1);
    42   static private final Expr _c_5 = new Expr (new BigInteger ("1"));
    43   static private final Expr _c_6 = new Expr (new BigInteger ("2"));
    44   static private final Expr _c_7 = Expr.fromSequence ("\", args);");
    45   static private final Expr _c_9 = Expr.fromSequence (" (new Result ());");
    46   static private final Expr _c_185 = Expr.fromSequence ("java.lang.System.out.println (\"$error: \" + e);");
    47   static private final Expr[] _va_1 = { Expr.fromSequence ("catch (RefalException e) {"), new Expr (new Expr (new Expr (_c_185), new Expr (Expr.fromSequence ("java.lang.System.exit (100);")))), Expr.fromSequence ("}") };
    48   static private final Expr _c_186 = Expr.concat (_va_1);
    49   static private final Expr _c_10 = new Expr (_c_186, 27, 1);
    50   static private final Expr _c_11 = Expr.fromSequence ("try {");
    51   static private final Expr _c_12 = new Expr (_c_186);
    52   static private final Expr _c_13 = Expr.fromSequence ("public static void main (java.lang.String[] args) {");
    53   static private final Expr _c_14 = new Expr (Expr.empty);
    54   static private final Expr _c_15 = new Expr (new BigInteger ("46"));
    55   static private final Expr _c_16 = new Expr (new Word ("java/lang/Object"));
    56   static private final Expr _c_17 = new Expr (new Word ("jbc-test.class"));
    57   static private final Expr _c_18 = Expr.fromSequence ("\n{");
    58   static private final Expr _c_19 = Expr.fromSequence ("public class ");
    59   static private final Expr _c_20 = new Expr (new Word ("FUNC"));
    60   static private final Expr _c_21 = new Expr (_c_13, 14, 4);
    61   static private final Expr _c_22 = new Expr (new Word ("FUNC?"));
    62   static private final Expr _c_164 = Expr.fromSequence ("public boolean eval (Expr arg, Result res) throws RefalException {");
    63   static private final Expr _c_23 = new Expr (_c_164, 7, 7);
    64   static private final Expr _c_24 = new Expr (Expr.fromSequence ("return true;"));
    65   static private final Expr _c_25 = new Expr (new Word ("Result"));
    66   static private final Expr _c_26 = new Expr (new Word ("Expr"));
    67   static private final Expr _c_27 = new Expr (_c_164, 41, 23);
    68   static private final Expr _c_28 = new Expr (_c_186, 5, 2);
    69   static private final Expr _c_29 = new Expr (_c_28, 0, 1);
    70   static private final Expr _c_30 = new Expr (_c_13, 7, 7);
    71   static private final Expr _c_31 = new Expr (_c_18, 1, 1);
    72   static private final Expr _c_32 = new Expr (new Word ("TRACE"));
    73   static private final Expr _c_33 = new Expr (new Word ("IF"));
    74   static private final Expr _c_34 = new Expr (new Word ("CALL"));
    75   static private final Expr _c_35 = new Expr (new Word ("NOT"));
    76   static private final Expr _c_36 = new Expr (_c_7, 7, 1);
    77   static private final Expr _c_54 = Expr.fromSequence ("if (false)");
    78   static private final Expr _c_37 = new Expr (_c_54, 0, 4);
    79   static private final Expr _c_38 = new Expr (new Word ("FOR"));
    80   static private final Expr _c_39 = new Expr (new Word ("LABEL"));
    81   static private final Expr _c_40 = new Expr (_c_185, 37, 2);
    82   static private final Expr _c_41 = new Expr (new Word ("INC-ITER"));
    83   static private final Expr _c_42 = new Expr (new Word ("DEC-ITER"));
    84   static private final Expr _c_43 = Expr.fromSequence (".getLeft();");
     41  static private final Expr _c_29 = Expr.fromSequence ("org.refal.plus.library.");
     42  static private final Expr _c_4 = new Expr (_c_29, 3, 1);
     43  static private final Expr _c_5 = new Expr (new Func () {
     44    public boolean eval (Expr arg, Result res) throws RefalException {
     45      return To_m_Word__0 (arg, res);
     46    }
     47  });
     48  static private final Expr _c_6 = new Expr (new BigInteger ("1"));
     49  static private final Expr _c_7 = new Expr (new BigInteger ("2"));
     50  static private final Expr _c_8 = Expr.fromSequence ("/");
     51  static private final Expr _c_9 = new Expr (new BigInteger ("46"));
     52  static private final Expr _c_10 = new Expr (new Word ("java/lang/Object"));
     53  static private final Expr _c_11 = new Expr (new Word ("FUNC"));
     54  static private final Expr _c_141 = Expr.fromSequence (".isValid ()");
     55  static private final Expr _c_12 = new Expr (_c_141, 3, 1);
     56  static private final Expr _c_13 = new Expr (new Word ("FUNC?"));
     57  static private final Expr _c_14 = Expr.fromSequence ("Z");
     58  static private final Expr _c_15 = new Expr (new BigInteger ("8"));
     59  static private final Expr _c_16 = new Expr (new Word ("Lorg/refal/plus/Expr;"));
     60  static private final Expr _c_17 = new Expr (new Word ("Lorg/refal/plus/Result;"));
     61  static private final Expr _c_167 = Expr.fromSequence ("public boolean eval (Expr arg, Result res) throws RefalException {");
     62  static private final Expr _c_37 = new Expr (_c_167, 41, 23);
     63  static private final Expr _c_18 = new Expr (_c_37, 0, 1);
     64  static private final Expr _c_65 = Expr.fromSequence ("if (false)");
     65  static private final Expr _c_48 = new Expr (_c_65, 0, 4);
     66  static private final Expr _c_38 = new Expr (_c_48, 2, 2);
     67  static private final Expr _c_19 = new Expr (_c_38, 1, 1);
     68  static private final Expr _c_20 = new Expr (new Word ("org/refal/plus/RefalException"));
     69  static private final Expr _c_21 = new Expr (new BigInteger ("177"));
     70  static private final Expr _c_22 = new Expr (new BigInteger ("4"));
     71  static private final Expr _c_23 = new Expr (new BigInteger ("172"));
     72  static private final Expr _c_24 = new Expr (new Word ("CONSTEXPR"));
     73  static private final Expr _c_25 = new Expr (new BigInteger ("16"));
     74  static private final Expr _c_26 = new Expr (new Word ("STATIC"));
     75  static private final Expr _c_27 = new Expr (new Word ("OBJ"));
     76  static private final Expr _c_28 = Expr.fromSequence ("Named");
     77  static private final Expr _c_30 = new Expr (new Word ("DECL-OBJ"));
     78  static private final Expr _c_31 = new Expr (new Word ("DECL-FUNC"));
     79  static private final Expr _c_62 = Expr.fromSequence ("\", \"This is for avoiding 'Unreachable code' errors\");");
     80  static private final Expr _c_32 = new Expr (_c_62, 17, 4);
     81  static private final Expr _c_33 = new Expr (_c_167, 7, 7);
     82  static private final Expr _c_34 = new Expr (Expr.fromSequence ("return true;"));
     83  static private final Expr _c_35 = new Expr (new Word ("Result"));
     84  static private final Expr _c_36 = new Expr (new Word ("Expr"));
     85  static private final Expr _c_39 = new Expr (_c_38, 0, 1);
     86  static private final Expr _c_162 = Expr.fromSequence ("static private final Expr[] ");
     87  static private final Expr _c_40 = new Expr (_c_162, 0, 7);
     88  static private final Expr _c_186 = Expr.fromSequence ("return false;");
     89  static private final Expr[] _va_1 = { Expr.fromSequence (") {"), new Expr (_c_186), Expr.fromSequence ("}") };
     90  static private final Expr _c_109 = Expr.concat (_va_1);
     91  static private final Expr _c_41 = new Expr (_c_109, 4, 1);
     92  static private final Expr _c_60 = Expr.fromSequence (": {");
     93  static private final Expr _c_42 = new Expr (_c_60, 2, 1);
     94  static private final Expr _c_43 = new Expr (Expr.empty);
     95  static private final Expr _c_44 = new Expr (new Word ("TRACE"));
     96  static private final Expr _c_45 = new Expr (new Word ("IF"));
     97  static private final Expr _c_46 = new Expr (new Word ("CALL"));
     98  static private final Expr _c_47 = new Expr (new Word ("NOT"));
     99  static private final Expr _c_49 = new Expr (new Word ("FOR"));
     100  static private final Expr _c_50 = new Expr (new Word ("LABEL"));
     101  static private final Expr _c_51 = new Expr (_c_60, 0, 2);
     102  static private final Expr _c_52 = new Expr (new Word ("INC-ITER"));
     103  static private final Expr _c_53 = new Expr (new Word ("DEC-ITER"));
     104  static private final Expr _c_54 = Expr.fromSequence (".getLeft();");
    85105  static private final Expr _c_187 = Expr.fromSequence ("Expr err = error.getExpr ();");
    86   static private final Expr _c_44 = new Expr (_c_187, 8, 3);
    87   static private final Expr _c_45 = new Expr (_c_187, 0, 5);
    88   static private final Expr _c_46 = Expr.fromSequence (".getRight();");
    89   static private final Expr _c_48 = Expr.fromSequence ("for ( ; ");
    90   static private final Expr _c_47 = new Expr (_c_48, 6, 2);
    91   static private final Expr _c_49 = Expr.fromSequence (": {");
    92   static private final Expr _c_50 = new Expr (new Word ("TRY"));
    93   static private final Expr _c_51 = Expr.fromSequence ("\", \"This is for avoiding 'Unreachable code' errors\");");
    94   static private final Expr _c_52 = new Expr (_c_51, 0, 4);
    95   static private final Expr _c_53 = Expr.fromSequence ("throw new RefalException (\"");
    96   static private final Expr _c_55 = new Expr (new Expr (_c_11, 0, 3));
    97   static private final Expr _c_56 = new Expr (new Word ("CATCH-ERROR"));
    98   static private final Expr _c_57 = new Expr (_c_187);
    99   static private final Expr _c_58 = Expr.fromSequence ("catch (RefalException error) {");
    100   static private final Expr _c_59 = new Expr (new Word ("RETFAIL"));
    101   static private final Expr _c_188 = Expr.fromSequence ("return false;");
    102   static private final Expr[] _va_2 = { Expr.fromSequence (") {"), new Expr (_c_188), Expr.fromSequence ("}") };
    103   static private final Expr _c_105 = Expr.concat (_va_2);
    104   static private final Expr _c_60 = new Expr (_c_105, 3, 1);
    105   static private final Expr _c_61 = new Expr (new Word ("FATAL"));
    106   static private final Expr _c_62 = Expr.fromSequence ("\", \"Unexpected fail\");");
    107   static private final Expr _c_63 = new Expr (new Word ("LSPLIT"));
    108   static private final Expr _c_64 = Expr.fromSequence ("_va_");
    109   static private final Expr _c_65 = new Expr (_c_46, 10, 2);
    110   static private final Expr _c_66 = Expr.fromSequence (".leftSplit(");
    111   static private final Expr _c_67 = Expr.fromSequence ("Expr.SplitIterator ");
    112   static private final Expr _c_68 = new Expr (new Word ("RSPLIT"));
    113   static private final Expr _c_69 = Expr.fromSequence (".rightSplit(");
    114   static private final Expr _c_70 = new Expr (new Word ("ASSIGN"));
    115   static private final Expr _c_71 = Expr.fromSequence (".assign (");
    116   static private final Expr _c_72 = new Expr (_c_65, 1, 1);
    117   static private final Expr _c_73 = new Expr (new Word ("DECL"));
    118   static private final Expr _c_74 = Expr.fromSequence (" = new Result ();");
    119   static private final Expr _c_75 = new Expr (_c_74, 7, 7);
    120   static private final Expr _c_76 = Expr.fromSequence (" = Expr.empty;");
    121   static private final Expr _c_77 = Expr.fromSequence ("int ");
    122   static private final Expr _c_78 = new Expr (new Word ("EXPR"));
    123   static private final Expr _c_79 = new Expr (new Word ("DEREF"));
    124   static private final Expr _c_80 = Expr.fromSequence (".at (");
    125   static private final Expr _c_81 = Expr.fromSequence (" = (Expr) ");
    126   static private final Expr _c_82 = new Expr (new Word ("SUBEXPR"));
    127   static private final Expr _c_83 = new Expr (_c_52, 1, 2);
    128   static private final Expr _c_101 = Expr.fromSequence (" = new Expr (new ");
    129   static private final Expr _c_84 = new Expr (_c_101, 0, 13);
    130   static private final Expr _c_85 = new Expr (new Word ("DROP"));
    131   static private final Expr _c_86 = Expr.fromSequence (".drop ();");
    132   static private final Expr _c_87 = new Expr (new Word ("CONTINUE"));
    133   static private final Expr _c_88 = Expr.fromSequence ("continue ");
    134   static private final Expr _c_89 = new Expr (new Word ("BREAK"));
    135   static private final Expr _c_90 = Expr.fromSequence ("break ");
    136   static private final Expr _c_91 = new Expr (new Word ("ERROR"));
    137   static private final Expr _c_92 = new Expr (_c_53, 0, 26);
    138   static private final Expr _c_93 = new Expr (new Word ("CONSTEXPR"));
    139   static private final Expr _c_94 = new Expr (new Word ("STATIC"));
    140   static private final Expr _c_95 = Expr.fromSequence (" final Expr ");
    141   static private final Expr _c_96 = new Expr (new Word ("OBJ"));
    142   static private final Expr _c_97 = Expr.fromSequence ("Named");
    143   static private final Expr _c_98 = Expr.fromSequence ("org.refal.plus.library.");
    144   static private final Expr _c_99 = Expr.fromSequence ("\"));");
    145   static private final Expr _c_100 = new Expr (_c_53, 24, 3);
    146   static private final Expr _c_102 = new Expr (new Word ("DECL-OBJ"));
    147   static private final Expr _c_103 = new Expr (new Word ("DECL-FUNC"));
    148   static private final Expr _c_104 = new Expr (new Word ("TAILCALL?"));
    149   static private final Expr _c_106 = Expr.fromSequence ("if (!");
    150   static private final Expr _c_107 = new Expr (_c_187, 16, 12);
    151   static private final Expr _c_108 = new Expr (new Word ("PAREN"));
    152   static private final Expr _c_109 = new Expr (new Word ("LENGTH"));
    153   static private final Expr _c_110 = new Expr (new Word ("XXX"));
    154   static private final Expr _c_111 = new Expr (new Word ("MAX"));
    155   static private final Expr _c_112 = new Expr (new Word ("MIN"));
    156   static private final Expr _c_113 = new Expr (new Word ("INFIX"));
    157   static private final Expr _c_114 = new Expr (_c_76, 3, 10);
    158   static private final Expr _c_115 = new Expr (_c_84, 3, 10);
    159   static private final Expr _c_116 = new Expr (new Func () {
     106  static private final Expr _c_55 = new Expr (_c_187, 8, 3);
     107  static private final Expr _c_56 = new Expr (_c_187, 0, 5);
     108  static private final Expr _c_57 = Expr.fromSequence (".getRight();");
     109  static private final Expr _c_59 = Expr.fromSequence ("for ( ; ");
     110  static private final Expr _c_58 = new Expr (_c_59, 6, 2);
     111  static private final Expr _c_61 = new Expr (new Word ("TRY"));
     112  static private final Expr _c_63 = new Expr (_c_62, 0, 4);
     113  static private final Expr _c_64 = Expr.fromSequence ("throw new RefalException (\"");
     114  static private final Expr _c_66 = new Expr (Expr.fromSequence ("try"));
     115  static private final Expr _c_67 = new Expr (new Word ("CATCH-ERROR"));
     116  static private final Expr _c_68 = new Expr (_c_187);
     117  static private final Expr _c_69 = Expr.fromSequence ("catch (RefalException error) {");
     118  static private final Expr _c_70 = new Expr (new Word ("RETFAIL"));
     119  static private final Expr _c_71 = new Expr (_c_109, 3, 1);
     120  static private final Expr _c_72 = new Expr (new Word ("FATAL"));
     121  static private final Expr _c_73 = Expr.fromSequence ("\", \"Unexpected fail\");");
     122  static private final Expr _c_74 = new Expr (new Word ("LSPLIT"));
     123  static private final Expr _c_75 = Expr.fromSequence ("_va_");
     124  static private final Expr _c_76 = new Expr (_c_57, 10, 2);
     125  static private final Expr _c_77 = Expr.fromSequence (".leftSplit(");
     126  static private final Expr _c_78 = Expr.fromSequence ("Expr.SplitIterator ");
     127  static private final Expr _c_79 = new Expr (new Word ("RSPLIT"));
     128  static private final Expr _c_80 = Expr.fromSequence (".rightSplit(");
     129  static private final Expr _c_81 = new Expr (new Word ("ASSIGN"));
     130  static private final Expr _c_82 = Expr.fromSequence (".assign (");
     131  static private final Expr _c_83 = new Expr (_c_76, 1, 1);
     132  static private final Expr _c_84 = new Expr (new Word ("DECL"));
     133  static private final Expr _c_85 = Expr.fromSequence (" = new Result ();");
     134  static private final Expr _c_86 = new Expr (_c_85, 7, 7);
     135  static private final Expr _c_87 = Expr.fromSequence (" = Expr.empty;");
     136  static private final Expr _c_88 = Expr.fromSequence ("int ");
     137  static private final Expr _c_89 = new Expr (new Word ("EXPR"));
     138  static private final Expr _c_90 = new Expr (new Word ("DEREF"));
     139  static private final Expr _c_91 = Expr.fromSequence (".at (");
     140  static private final Expr _c_92 = Expr.fromSequence (" = (Expr) ");
     141  static private final Expr _c_93 = new Expr (new Word ("SUBEXPR"));
     142  static private final Expr _c_94 = new Expr (_c_63, 1, 2);
     143  static private final Expr _c_107 = Expr.fromSequence (" = new Expr (new ");
     144  static private final Expr _c_95 = new Expr (_c_107, 0, 13);
     145  static private final Expr _c_96 = new Expr (new Word ("DROP"));
     146  static private final Expr _c_97 = Expr.fromSequence (".drop ();");
     147  static private final Expr _c_98 = new Expr (new Word ("CONTINUE"));
     148  static private final Expr _c_99 = Expr.fromSequence ("continue ");
     149  static private final Expr _c_100 = new Expr (new Word ("BREAK"));
     150  static private final Expr _c_101 = Expr.fromSequence ("break ");
     151  static private final Expr _c_102 = new Expr (new Word ("ERROR"));
     152  static private final Expr _c_103 = new Expr (_c_64, 0, 26);
     153  static private final Expr _c_104 = Expr.fromSequence (" final Expr ");
     154  static private final Expr _c_105 = Expr.fromSequence ("\"));");
     155  static private final Expr _c_106 = new Expr (_c_64, 24, 3);
     156  static private final Expr _c_108 = new Expr (new Word ("TAILCALL?"));
     157  static private final Expr _c_110 = Expr.fromSequence ("if (!");
     158  static private final Expr _c_111 = new Expr (_c_187, 16, 12);
     159  static private final Expr _c_112 = new Expr (new Word ("PAREN"));
     160  static private final Expr _c_113 = new Expr (new Word ("LENGTH"));
     161  static private final Expr _c_114 = new Expr (new Word ("XXX"));
     162  static private final Expr _c_115 = new Expr (new Word ("MAX"));
     163  static private final Expr _c_116 = new Expr (new Word ("MIN"));
     164  static private final Expr _c_117 = new Expr (new Word ("INFIX"));
     165  static private final Expr _c_118 = new Expr (_c_87, 3, 10);
     166  static private final Expr _c_119 = new Expr (_c_95, 3, 10);
     167  static private final Expr _c_120 = new Expr (new Func () {
    160168    public boolean eval (Expr arg, Result res) throws RefalException {
    161169      return Term_m_Ref_m_To_m_JBC__0 (arg, res);
    162170    }
    163171  });
    164   static private final Expr _c_117 = new Expr (new Word (","));
    165   static private final Expr _c_118 = Expr.fromSequence (" };");
    166   static private final Expr _c_119 = Expr.fromSequence (" = { ");
    167   static private final Expr _c_159 = Expr.fromSequence ("static private final Expr[] ");
    168   static private final Expr _c_120 = new Expr (_c_159, 21, 7);
    169   static private final Expr _c_121 = Expr.fromSequence ("Expr.concat (");
    170   static private final Expr _c_122 = Expr.fromSequence ("new Expr(");
    171   static private final Expr _c_123 = new Expr (_c_81, 3, 7);
    172   static private final Expr _c_124 = new Expr (new Word ("REF"));
    173   static private final Expr _c_125 = new Expr (new Word ("ERROR-EXPR"));
    174   static private final Expr _c_126 = new Expr (_c_187, 5, 3);
    175   static private final Expr _c_127 = new Expr (new Word ("Illegal int-symbol: "));
    176   static private final Expr _c_128 = Expr.fromSequence (".getLen ()");
    177   static private final Expr _c_129 = Expr.fromSequence ("java.lang.Math.max (");
    178   static private final Expr _c_130 = Expr.fromSequence ("java.lang.Math.min (");
    179   static private final Expr _c_131 = new Expr (new Func () {
     172  static private final Expr _c_121 = new Expr (new Word (","));
     173  static private final Expr _c_122 = Expr.fromSequence (" };");
     174  static private final Expr _c_123 = Expr.fromSequence (" = { ");
     175  static private final Expr _c_124 = new Expr (_c_162, 21, 7);
     176  static private final Expr _c_125 = Expr.fromSequence ("Expr.concat (");
     177  static private final Expr _c_126 = Expr.fromSequence ("new Expr(");
     178  static private final Expr _c_127 = new Expr (_c_92, 3, 7);
     179  static private final Expr _c_128 = new Expr (new Word ("REF"));
     180  static private final Expr _c_129 = new Expr (new Word ("ERROR-EXPR"));
     181  static private final Expr _c_130 = new Expr (_c_69, 22, 3);
     182  static private final Expr _c_131 = new Expr (new Word ("Illegal int-symbol: "));
     183  static private final Expr _c_132 = Expr.fromSequence (".getLen ()");
     184  static private final Expr _c_133 = Expr.fromSequence ("java.lang.Math.max (");
     185  static private final Expr _c_134 = Expr.fromSequence ("java.lang.Math.min (");
     186  static private final Expr _c_135 = new Expr (new Func () {
    180187    public boolean eval (Expr arg, Result res) throws RefalException {
    181188      return Expr_m_Int_m_To_m_JBC__0 (arg, res);
    182189    }
    183190  });
    184   static private final Expr _c_132 = new Expr (_c_28, 1, 1);
    185   static private final Expr _c_133 = new Expr (new Word ("+"));
    186   static private final Expr _c_134 = new Expr (new Word ("SYMBOL?"));
    187   static private final Expr _c_135 = Expr.fromSequence (".symbolAt (");
    188   static private final Expr _c_136 = new Expr (new Word ("CHECK-ITER"));
    189   static private final Expr _c_137 = new Expr (new BigInteger ("0"));
    190   static private final Expr _c_138 = Expr.fromSequence (".isValid ()");
    191   static private final Expr _c_139 = new Expr (new Word ("EQ"));
    192   static private final Expr _c_140 = Expr.fromSequence (".eq (");
    193   static private final Expr _c_141 = new Expr (new Word ("TERM-EQ"));
    194   static private final Expr _c_142 = new Expr (_c_106, 4, 1);
    195   static private final Expr _c_143 = new Expr (new Word ("-"));
    196   static private final Expr _c_144 = new Expr (new Word ("%"));
    197   static private final Expr _c_145 = new Expr (new Word ("*"));
    198   static private final Expr _c_146 = new Expr (new Word ("/"));
    199   static private final Expr _c_147 = Expr.fromSequence (" != 0");
    200   static private final Expr _c_148 = new Expr (new Func () {
     191  static private final Expr _c_136 = new Expr (new Word ("+"));
     192  static private final Expr _c_137 = new Expr (new Word ("SYMBOL?"));
     193  static private final Expr _c_138 = Expr.fromSequence (".symbolAt (");
     194  static private final Expr _c_139 = new Expr (new Word ("CHECK-ITER"));
     195  static private final Expr _c_140 = new Expr (new BigInteger ("0"));
     196  static private final Expr _c_142 = new Expr (new Word ("EQ"));
     197  static private final Expr _c_143 = Expr.fromSequence (".eq (");
     198  static private final Expr _c_144 = new Expr (new Word ("TERM-EQ"));
     199  static private final Expr _c_145 = new Expr (_c_110, 4, 1);
     200  static private final Expr _c_146 = new Expr (new Word ("-"));
     201  static private final Expr _c_147 = new Expr (new Word ("%"));
     202  static private final Expr _c_148 = new Expr (new Word ("*"));
     203  static private final Expr _c_149 = new Expr (new Word ("/"));
     204  static private final Expr _c_150 = Expr.fromSequence (" != 0");
     205  static private final Expr _c_151 = new Expr (new Func () {
    201206    public boolean eval (Expr arg, Result res) throws RefalException {
    202207      return Cond_m_To_m_JBC__0 (arg, res);
    203208    }
    204209  });
    205   static private final Expr _c_149 = new Expr (new Word ("&&"));
    206   static private final Expr _c_150 = new Expr (new Word ("||"));
    207   static private final Expr _c_151 = new Expr (new Word ("<"));
    208   static private final Expr _c_152 = new Expr (new Word (">"));
    209   static private final Expr _c_153 = new Expr (new Word ("<="));
    210   static private final Expr _c_154 = new Expr (new Word (">="));
    211   static private final Expr _c_155 = new Expr (new Word ("=="));
    212   static private final Expr _c_156 = new Expr (new Word ("!="));
    213   static private final Expr _c_157 = Expr.fromSequence (".next ()");
    214   static private final Expr _c_158 = Expr.fromSequence (".prev ()");
    215   static private final Expr _c_160 = new Expr (_c_99, 0, 2);
    216   static private final Expr _c_161 = Expr.fromSequence ("Expr.fromSequence (\"");
    217   static private final Expr _c_162 = Expr.fromSequence (" (arg, res);");
    218   static private final Expr _c_163 = new Expr (_c_188, 0, 7);
    219   static private final Expr _c_165 = Expr.fromSequence ("})");
    220   static private final Expr _c_166 = Expr.fromSequence ("new Expr (new Func () {");
    221   static private final Expr _c_167 = Expr.fromSequence ("java.math.BigInteger");
    222   static private final Expr _c_168 = new Expr (_c_99, 0, 3);
    223   static private final Expr _c_169 = new Expr (_c_101, 3, 14);
    224   static private final Expr _c_170 = Expr.fromSequence ("new Expr (new Word (\"");
    225   static private final Expr _c_172 = Expr.fromSequence ("\\\\");
    226   static private final Expr _c_171 = new Expr (_c_172, 0, 1);
    227   static private final Expr _c_173 = new Expr (_c_18, 0, 1);
    228   static private final Expr _c_174 = Expr.fromSequence ("\\n");
    229   static private final Expr _c_175 = Expr.fromSequence ("\t");
    230   static private final Expr _c_176 = Expr.fromSequence ("\\t");
    231   static private final Expr _c_177 = Expr.fromSequence ("\r");
    232   static private final Expr _c_178 = Expr.fromSequence ("\\r");
    233   static private final Expr _c_179 = new Expr (_c_160, 0, 1);
    234   static private final Expr _c_180 = Expr.fromSequence ("\\\"");
    235   static private final Expr _c_181 = new Expr (_c_107, 0, 11);
    236   static private final Expr _c_182 = new Expr (_c_19, 0, 6);
    237   static private final Expr _c_183 = new Expr (_c_159, 7, 7);
    238   static private final Expr[] _va_3 = { new Expr (new Word ("Apply")), new Expr (new Word ("Apply")), new Expr (new Word ("Unexpected fail")) };
    239   static private final Expr _c_184 = Expr.concat (_va_3);
     210  static private final Expr _c_152 = new Expr (new Word ("&&"));
     211  static private final Expr _c_153 = new Expr (new Word ("||"));
     212  static private final Expr _c_154 = new Expr (new Word ("<"));
     213  static private final Expr _c_155 = new Expr (new Word (">"));
     214  static private final Expr _c_156 = new Expr (new Word ("<="));
     215  static private final Expr _c_157 = new Expr (new Word (">="));
     216  static private final Expr _c_158 = new Expr (new Word ("=="));
     217  static private final Expr _c_159 = new Expr (new Word ("!="));
     218  static private final Expr _c_160 = Expr.fromSequence (".next ()");
     219  static private final Expr _c_161 = Expr.fromSequence (".prev ()");
     220  static private final Expr _c_163 = new Expr (_c_105, 0, 2);
     221  static private final Expr _c_164 = Expr.fromSequence ("Expr.fromSequence (\"");
     222  static private final Expr _c_165 = Expr.fromSequence (" (arg, res);");
     223  static private final Expr _c_166 = new Expr (_c_186, 0, 7);
     224  static private final Expr _c_168 = Expr.fromSequence ("})");
     225  static private final Expr _c_169 = Expr.fromSequence ("new Expr (new Func () {");
     226  static private final Expr _c_170 = Expr.fromSequence ("java.math.BigInteger");
     227  static private final Expr _c_171 = new Expr (_c_105, 0, 3);
     228  static private final Expr _c_172 = new Expr (_c_107, 3, 14);
     229  static private final Expr _c_173 = Expr.fromSequence ("new Expr (new Word (\"");
     230  static private final Expr _c_175 = Expr.fromSequence ("\\\\");
     231  static private final Expr _c_174 = new Expr (_c_175, 0, 1);
     232  static private final Expr _c_176 = Expr.fromSequence ("\n");
     233  static private final Expr _c_177 = Expr.fromSequence ("\\n");
     234  static private final Expr _c_178 = Expr.fromSequence ("\t");
     235  static private final Expr _c_179 = Expr.fromSequence ("\\t");
     236  static private final Expr _c_180 = Expr.fromSequence ("\r");
     237  static private final Expr _c_181 = Expr.fromSequence ("\\r");
     238  static private final Expr _c_182 = new Expr (_c_163, 0, 1);
     239  static private final Expr _c_183 = Expr.fromSequence ("\\\"");
     240  static private final Expr _c_184 = new Expr (_c_111, 0, 11);
     241  static private final Expr[] _va_2 = { new Expr (new Word ("Apply")), new Expr (new Word ("Apply")), new Expr (new Word ("Unexpected fail")) };
     242  static private final Expr _c_185 = Expr.concat (_va_2);
    240243
    241   static public void RFP_m_ASAIL_m_To_m_JBC (Expr _gt_arg1, Expr _ge_arg2, Expr _ge_arg3, Result _v_res1, Result _v_res2, Result _v_res3) throws RefalException
     244  static public void RFP_m_ASAIL_m_To_m_JBC (Expr _gt_arg1, Expr _ge_arg2, Expr _ge_arg3, Expr _ge_arg4, Result _v_res1, Result _v_res2) throws RefalException
    242245  {
    243     int _v_len1 = (_ge_arg3.getLen () + 2);
    244     int _v_len2 = 2;
     246    int _v_len1 = (_ge_arg4.getLen () + 3);
     247    int _v_len2 = 3;
    245248    if ((_v_len1 < _v_len2))
    246249    {
    247250      throw new RefalException ("rfp_asail_jbc", "RFP_m_ASAIL_m_To_m_JBC", "Unexpected fail");
    248251    }
    249     int _v_len__asail = (_v_len1 - _v_len2);
    250     Expr[] _va_4 = { _gt_arg1 , new Expr(_ge_arg2) , _ge_arg3 };
    251     Expr _v_compose1 = Expr.concat (_va_4);
     252    int _v_len__module = (_v_len1 - _v_len2);
     253    Expr[] _va_3 = { _gt_arg1 , new Expr(_ge_arg2) , new Expr(_ge_arg3) , _ge_arg4 };
     254    Expr _v_compose1 = Expr.concat (_va_3);
    252255    if (_v_compose1.symbolAt (0))
    253256    {
     
    258261      throw new RefalException ("rfp_asail_jbc", "RFP_m_ASAIL_m_To_m_JBC", "Unexpected fail");
    259262    }
     263    if (_v_compose1.symbolAt ((0 + 1 + 1)))
     264    {
     265      throw new RefalException ("rfp_asail_jbc", "RFP_m_ASAIL_m_To_m_JBC", "Unexpected fail");
     266    }
    260267    Expr _v_deref__compose1 = (Expr) _v_compose1.at (0);
    261268    Expr _v_deref__compose12 = (Expr) _v_compose1.at ((0 + 1));
    262     int _v_len3 = _v_deref__compose12.getLen ();
     269    Expr _v_deref__compose13 = (Expr) _v_compose1.at ((0 + 1 + 1));
     270    int _v_len3 = _v_deref__compose1.getLen ();
    263271    int _v_len4 = 0;
    264272    if ((_v_len3 < _v_len4))
     
    266274      throw new RefalException ("rfp_asail_jbc", "RFP_m_ASAIL_m_To_m_JBC", "Unexpected fail");
    267275    }
    268     int _v_len__exports = (_v_len3 - _v_len4);
    269     int _v_len5 = _v_deref__compose1.getLen ();
     276    int _v_len__module_m_name = (_v_len3 - _v_len4);
     277    int _v_len5 = _v_deref__compose13.getLen ();
    270278    int _v_len6 = 0;
    271279    if ((_v_len5 < _v_len6))
     
    273281      throw new RefalException ("rfp_asail_jbc", "RFP_m_ASAIL_m_To_m_JBC", "Unexpected fail");
    274282    }
    275     int _v_len__ModuleName = (_v_len5 - _v_len6);
    276     Expr _ve_asail = new Expr (_v_compose1, (0 + 1 + 1), _v_len__asail);
    277     Expr _ve_ModuleName = new Expr (_v_deref__compose1, 0, _v_len__ModuleName);
    278     Expr _ve_exports = new Expr (_v_deref__compose12, 0, _v_len__exports);
     283    int _v_len__exports = (_v_len5 - _v_len6);
     284    int _v_len7 = _v_deref__compose12.getLen ();
     285    int _v_len8 = 0;
     286    if ((_v_len7 < _v_len8))
     287    {
     288      throw new RefalException ("rfp_asail_jbc", "RFP_m_ASAIL_m_To_m_JBC", "Unexpected fail");
     289    }
     290    int _v_len__package = (_v_len7 - _v_len8);
     291    Expr _ve_module = new Expr (_v_compose1, (0 + 1 + 1 + 1), _v_len__module);
     292    Expr _ve_module_m_name = new Expr (_v_deref__compose1, 0, _v_len__module_m_name);
     293    Expr _ve_package = new Expr (_v_deref__compose12, 0, _v_len__package);
     294    Expr _ve_exports = new Expr (_v_deref__compose13, 0, _v_len__exports);
    279295    Box.Store (Free_m_Idx, Expr.empty);
    280296    rfp__helper.RFP_m_Clear_m_Table (Iter_m_Vars);
     
    293309    }
    294310    Box.Store (Exports, _ve_exports);
    295     Box.Store (Current_m_Namespace, _ve_ModuleName);
     311    Box.Store (Current_m_Namespace, _ve_module_m_name);
    296312    _block2: {
    297313      _block2__branch1: {
     
    304320        break _block2;
    305321      }
    306       Box.Store (Entry, new Expr(new Expr (_ve_ModuleName, _c_3)));
     322      Box.Store (Entry, new Expr(new Expr (_ve_module_m_name, _c_3)));
    307323    }
    308324    Box.Store (Entry_m_Name, Expr.empty);
    309325    Result _ge_auxcall3 = new Result ();
    310     List.Intersperse (_c_4, _ve_ModuleName, _ge_auxcall3);
    311     Box.Store (Module_m_Name, _ge_auxcall3.getExpr ());
     326    Box._q_ (File.Dir_m_Separator, _ge_auxcall3);
     327    Result _ge_auxcall4 = new Result ();
     328    List.Separate (_ge_auxcall3.getExpr (), _ve_package, _ge_auxcall4);
     329    Result _ge_auxcall5 = new Result ();
     330    JavaMangle.Rfp2Java (_ve_module_m_name, _ge_auxcall5);
     331    Result _ge_auxcall6 = new Result ();
     332    List.Separate (_c_4, _ge_auxcall5.getExpr (), _ge_auxcall6);
     333    Result _ge_auxcall7 = new Result ();
     334    if (!List.Map_e_ (_c_5, Expr.empty, new Expr (_ge_auxcall4.getExpr (), _ge_auxcall6.getExpr ()), _ge_auxcall7))
     335    {
     336      throw new RefalException ("rfp_asail_jbc", "RFP_m_ASAIL_m_To_m_JBC", "Unexpected fail");
     337    }
    312338    Result _ve_java_m_module_m_name = new Result ();
    313     JavaMangle.Rfp2Java (_ve_ModuleName, _ve_java_m_module_m_name);
    314     _block3: {
    315       _block3__branch1: {
    316         Result _gs_auxcall4 = new Result ();
    317         Arithm._p_ (_c_5, _c_6, _gs_auxcall4);
    318         Result _vs_cw = new Result ();
    319         ClassWriter.ClassWriter (_gs_auxcall4.getExpr (), _vs_cw);
    320         StdIO.PrintLN (_vs_cw.getExpr ());
    321         Result _v_ASAIL_m_To_m_JBC1 = new Result ();
    322         ASAIL_m_To_m_JBC (_ve_asail, _v_ASAIL_m_To_m_JBC1);
    323         int _v_len7 = _v_ASAIL_m_To_m_JBC1.getExpr ().getLen ();
    324         int _v_len8 = 0;
    325         if ((_v_len7 < (_v_len8 + 1)))
    326         {
    327           break _block3__branch1;
    328         }
    329         int _v_len__java = (_v_len7 - _v_len8);
    330         Expr _vv_java = new Expr (_v_ASAIL_m_To_m_JBC1.getExpr (), 0, _v_len__java);
    331         Expr _ve_entry = Expr.empty;
    332         _block4: {
    333           _block4__branch1: {
    334             Result _v__q_1 = new Result ();
    335             Box._q_ (Entry_m_Name, _v__q_1);
    336             int _v_len9 = _v__q_1.getExpr ().getLen ();
    337             int _v_len10 = 0;
    338             if ((_v_len9 < (_v_len10 + 1)))
    339             {
    340               break _block4__branch1;
    341             }
    342             int _v_len__name = (_v_len9 - _v_len10);
    343             Expr _vv_name = new Expr (_v__q_1.getExpr (), 0, _v_len__name);
    344             Expr[] _va_7 = { _c_8 , _ve_java_m_module_m_name.getExpr () , _c_7 };
    345             Expr[] _va_8 = { _c_11 , new Expr(new Expr (_vv_name, _c_9)) , _c_10 };
    346             Expr[] _va_6 = { new Expr(Expr.concat (_va_7)) , new Expr(Expr.concat (_va_8)) , _c_12 };
    347             Expr[] _va_5 = { _c_13 , new Expr(Expr.concat (_va_6)) , _c_10 };
    348             _ve_entry = new Expr (_c_14, new Expr(Expr.concat (_va_5)));
    349             break _block4;
    350           }
    351           _ve_entry = Expr.empty;
    352         }
    353         Result _gs_auxcall5 = new Result ();
    354         Convert.To_m_Word (_ve_java_m_module_m_name.getExpr (), _gs_auxcall5);
    355         Result _gs_auxcall6 = new Result ();
    356         Java.Null (_gs_auxcall6);
    357         ClassWriter.visit (_vs_cw.getExpr (), _c_15, _c_5, _gs_auxcall5.getExpr (), _gs_auxcall6.getExpr (), _c_16, Expr.empty);
    358         ClassWriter.visitEnd (_vs_cw.getExpr ());
    359         Result _gs_auxcall7 = new Result ();
    360         FileOutputStream.FileOutputStream (_c_17, _gs_auxcall7);
    361         Result _gs_auxcall8 = new Result ();
    362         ClassWriter.toByteArray (_vs_cw.getExpr (), _gs_auxcall8);
    363         FileOutputStream.WriteToStream (_gs_auxcall7.getExpr (), _gs_auxcall8.getExpr ());
    364         Result _ge_auxcall9 = new Result ();
    365         Table.Domain (Inputs, _ge_auxcall9);
    366         _v_res1.assign (_ve_java_m_module_m_name.getExpr ());
    367         _v_res2.assign (_ge_auxcall9.getExpr ());
    368         Expr[] _va_9 = { _c_19 , _ve_java_m_module_m_name.getExpr () , _c_18 , new Expr(new Expr (_vv_java, _ve_entry)) , _c_10 };
    369         _v_res3.assign (new Expr(Expr.concat (_va_9)));
    370         break _block3;
    371       }
    372       _v_res1.assign (_ve_java_m_module_m_name.getExpr ());
    373       _v_res2.assign (Expr.empty);
    374       _v_res3.assign (Expr.empty);
    375     }
     339    List.Concat (_ge_auxcall7.getExpr (), _ve_java_m_module_m_name);
     340    Result _ge_auxcall8 = new Result ();
     341    List.Intersperse (_c_4, _ve_java_m_module_m_name.getExpr (), _ge_auxcall8);
     342    Box.Store (Module_m_Name, _ge_auxcall8.getExpr ());
     343    Result _gs_auxcall9 = new Result ();
     344    Arithm._p_ (_c_6, _c_7, _gs_auxcall9);
     345    Result _vs_cw = new Result ();
     346    ClassWriter.ClassWriter (_gs_auxcall9.getExpr (), _vs_cw);
     347    Result _ge_auxcall10 = new Result ();
     348    List.Intersperse (_c_8, _ve_java_m_module_m_name.getExpr (), _ge_auxcall10);
     349    Result _gs_auxcall11 = new Result ();
     350    Convert.To_m_Word (_ge_auxcall10.getExpr (), _gs_auxcall11);
     351    Result _gs_auxcall12 = new Result ();
     352    Java.Null (_gs_auxcall12);
     353    ClassWriter.visit (_vs_cw.getExpr (), _c_9, _c_6, _gs_auxcall11.getExpr (), _gs_auxcall12.getExpr (), _c_10, Expr.empty);
     354    Module_m_To_m_JBC (_vs_cw.getExpr (), _ve_module);
     355    ClassWriter.visitEnd (_vs_cw.getExpr ());
     356    Result _gs_auxcall13 = new Result ();
     357    ClassWriter.toByteArray (_vs_cw.getExpr (), _gs_auxcall13);
     358    _v_res1.assign (_gs_auxcall13.getExpr ());
     359    _v_res2.assign (_ve_java_m_module_m_name.getExpr ());
    376360  }
    377361
    378   static private void ASAIL_m_To_m_JBC (Expr _ve_asail, Result _v_res1) throws RefalException
     362  static private void Module_m_To_m_JBC (Expr _vs_cw, Expr _ve_module) throws RefalException
    379363  {
    380     _block1: {
    381       _block1__branch1: {
    382         int _v_len1 = _ve_asail.getLen ();
     364    _block1__branch1: {
     365      if ((_ve_module.getLen () < 1))
     366      {
     367        break _block1__branch1;
     368      }
     369      Expr.SplitIterator _va_4 = _ve_module.leftSplit(0);
     370      _exit1: _continue1: for ( ; ; _va_4.next ())
     371      {
     372        Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_112_m_15 = _va_4.getLeft();
     373        Expr _v_lsplit__module = _va_4.getRight();
     374        if (!_va_4.isValid ())
     375        {
     376          break _block1__branch1;
     377        }
     378        int _v_len1 = _v_lsplit__module.getLen ();
    383379        int _v_len2 = 1;
    384380        if ((_v_len1 < _v_len2))
     
    386382          break _block1__branch1;
    387383        }
    388         int _v_len__rest = (_v_len1 - _v_len2);
    389         Expr _vt_item = new Expr (_ve_asail, 0, 1);
    390         Expr _ve_rest = new Expr (_ve_asail, (0 + 1), _v_len__rest);
    391         Expr _ve_java_m_item = Expr.empty;
     384        int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_112_m_24 = (_v_len1 - _v_len2);
     385        Expr _vt_item = new Expr (_v_lsplit__module, 0, 1);
     386        Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_112_m_24 = new Expr (_v_lsplit__module, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_112_m_24);
    392387        _block2: {
    393388          _block2__branch1: {
     
    432427            }
    433428            int _v_len__args = (_v_len7 - _v_len8);
     429            if (!_v_deref__item.symbolAt (0))
     430            {
     431              break _block2__branch1;
     432            }
     433            Expr _vs_tag = new Expr (_v_deref__item, 0, 1);
     434            Expr _vt_name = new Expr (_v_deref__item, (0 + 1), 1);
     435            Expr _ve_body = new Expr (_v_deref__item, (0 + 1 + 1 + 1 + 1), _v_len__body);
     436            Expr _ve_args = new Expr (_v_deref__deref__item, 0, _v_len__args);
     437            Expr _ve_ress = new Expr (_v_deref__deref__item2, 0, _v_len__ress);
     438            Expr _gs_auxalt1 = Expr.empty;
     439            _block3: {
     440              _block3__branch1: {
     441                if ((1 != 1))
     442                {
     443                  break _block3__branch1;
     444                }
     445                if (!_vs_tag.eq (_c_11, 0))
     446                {
     447                  break _block3__branch1;
     448                }
     449                _gs_auxalt1 = _c_12;
     450                break _block3;
     451              }
     452              if ((1 != 1))
     453              {
     454                break _block2__branch1;
     455              }
     456              if (!_vs_tag.eq (_c_13, 0))
     457              {
     458                break _block2__branch1;
     459              }
     460              _gs_auxalt1 = _c_14;
     461            }
     462            if ((1 != 1))
     463            {
     464              break _block2__branch1;
     465            }
     466            if (!_gs_auxalt1.symbolAt (0))
     467            {
     468              break _block2__branch1;
     469            }
     470            Expr _vs_retType = new Expr (_gs_auxalt1, 0, 1);
     471            Result _gs_auxcall2 = new Result ();
     472            Access_m_Mode (_vt_name, _gs_auxcall2);
     473            Result _vs_accessMode = new Result ();
     474            Arithm._p_ (_c_15, _gs_auxcall2.getExpr (), _vs_accessMode);
     475            Result _ge_auxcall3 = new Result ();
     476            Name_m_To_m_JBC (_vt_name, _ge_auxcall3);
     477            Result _vs_funcName = new Result ();
     478            Convert.To_m_Word (_ge_auxcall3.getExpr (), _vs_funcName);
     479            Result _gs_auxcall4 = new Result ();
     480            Access.Length (_ve_args, _gs_auxcall4);
     481            Result _ge_auxcall5 = new Result ();
     482            List.Replicate (_gs_auxcall4.getExpr (), _c_16, _ge_auxcall5);
     483            Result _gs_auxcall6 = new Result ();
     484            Access.Length (_ve_ress, _gs_auxcall6);
     485            Result _ge_auxcall7 = new Result ();
     486            List.Replicate (_gs_auxcall6.getExpr (), _c_17, _ge_auxcall7);
     487            Result _vs_desc = new Result ();
     488            Expr[] _va_5 = { _c_19 , _ge_auxcall5.getExpr () , _ge_auxcall7.getExpr () , _c_18 , _vs_retType };
     489            Convert.To_m_Word (Expr.concat (_va_5), _vs_desc);
     490            Result _gs_auxcall8 = new Result ();
     491            Java.Null (_gs_auxcall8);
     492            Result _vs_mv = new Result ();
     493            ClassWriter.visitMethod (_vs_cw, _vs_accessMode.getExpr (), _vs_funcName.getExpr (), _vs_desc.getExpr (), _gs_auxcall8.getExpr (), _c_20, _vs_mv);
     494            _block4: {
     495              _block4__branch1: {
     496                if ((1 != 1))
     497                {
     498                  break _block4__branch1;
     499                }
     500                if (!_vs_tag.eq (_c_11, 0))
     501                {
     502                  break _block4__branch1;
     503                }
     504                MethodVisitor.MVvisitInsn (_vs_mv.getExpr (), _c_21);
     505                break _block4;
     506              }
     507              if ((1 != 1))
     508              {
     509                throw new RefalException ("rfp_asail_jbc", "Module_m_To_m_JBC", "Unexpected fail");
     510              }
     511              if (!_vs_tag.eq (_c_13, 0))
     512              {
     513                throw new RefalException ("rfp_asail_jbc", "Module_m_To_m_JBC", "Unexpected fail");
     514              }
     515              MethodVisitor.MVvisitInsn (_vs_mv.getExpr (), _c_22);
     516              MethodVisitor.MVvisitInsn (_vs_mv.getExpr (), _c_23);
     517            }
     518            MethodVisitor.MVvisitEnd (_vs_mv.getExpr ());
     519            break _block2;
     520          }
     521          _block2__branch2: {
     522            if ((1 != 1))
     523            {
     524              break _block2__branch2;
     525            }
     526            if (_vt_item.symbolAt (0))
     527            {
     528              break _block2__branch2;
     529            }
     530            Expr _v_deref__item2 = (Expr) _vt_item.at (0);
     531            int _v_len9 = _v_deref__item2.getLen ();
     532            int _v_len10 = 4;
     533            if ((_v_len9 < _v_len10))
     534            {
     535              break _block2__branch2;
     536            }
     537            int _v_len__expr = (_v_len9 - _v_len10);
     538            if (_v_deref__item2.symbolAt ((0 + 1 + 1 + 1)))
     539            {
     540              break _block2__branch2;
     541            }
     542            Expr _v_deref__deref__item22 = (Expr) _v_deref__item2.at ((0 + 1 + 1 + 1));
     543            int _v_len11 = _v_deref__deref__item22.getLen ();
     544            int _v_len12 = 0;
     545            if ((_v_len11 < _v_len12))
     546            {
     547              break _block2__branch2;
     548            }
     549            int _v_len__comment = (_v_len11 - _v_len12);
     550            if (!_c_24.eq (_v_deref__item2, 0))
     551            {
     552              break _block2__branch2;
     553            }
     554            if (!_v_deref__item2.symbolAt ((0 + 1)))
     555            {
     556              break _block2__branch2;
     557            }
     558            Expr _vs_linkage = new Expr (_v_deref__item2, (0 + 1), 1);
     559            Expr _vt_name = new Expr (_v_deref__item2, (0 + 1 + 1), 1);
     560            Expr _ve_expr = new Expr (_v_deref__item2, (0 + 1 + 1 + 1 + 1), _v_len__expr);
     561            Expr _ve_comment = new Expr (_v_deref__deref__item22, 0, _v_len__comment);
     562            Result _gs_auxcall9 = new Result ();
     563            Access_m_Mode (_vt_name, _gs_auxcall9);
     564            Result _gs_auxcall10 = new Result ();
     565            Arithm._p_ (_c_25, _gs_auxcall9.getExpr (), _gs_auxcall10);
     566            Result _vs_accessMode = new Result ();
     567            Arithm._p_ (_c_15, _gs_auxcall10.getExpr (), _vs_accessMode);
     568            Expr _ve_n = Expr.empty;
     569            _block5: {
     570              _block5__branch1: {
     571                if ((1 != 1))
     572                {
     573                  break _block5__branch1;
     574                }
     575                if (_vt_name.symbolAt (0))
     576                {
     577                  break _block5__branch1;
     578                }
     579                Expr _v_deref__name = (Expr) _vt_name.at (0);
     580                int _v_len13 = _v_deref__name.getLen ();
     581                int _v_len14 = 1;
     582                if ((_v_len13 < _v_len14))
     583                {
     584                  break _block5__branch1;
     585                }
     586                int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_131_m_27 = (_v_len13 - _v_len14);
     587                if (!_c_26.eq (_v_deref__name, 0))
     588                {
     589                  break _block5__branch1;
     590                }
     591                Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_131_m_27 = new Expr (_v_deref__name, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_131_m_27);
     592                Result _va_6 = new Result ();
     593                JavaMangle.Rfp2Java (_vt_name, _va_6);
     594                _ve_n = _va_6.getExpr ();
     595                break _block5;
     596              }
     597              Result _va_7 = new Result ();
     598              Name_m_To_m_JBC (_vt_name, _va_7);
     599              _ve_n = _va_7.getExpr ();
     600            }
     601            Result _gs_auxcall11 = new Result ();
     602            Convert.To_m_Word (_ve_n, _gs_auxcall11);
     603            Result _gs_auxcall12 = new Result ();
     604            Java.Null (_gs_auxcall12);
     605            Result _gs_auxcall13 = new Result ();
     606            Java.Null (_gs_auxcall13);
     607            Result _vs_fv = new Result ();
     608            ClassWriter.visitField (_vs_cw, _vs_accessMode.getExpr (), _gs_auxcall11.getExpr (), _c_16, _gs_auxcall12.getExpr (), _gs_auxcall13.getExpr (), _vs_fv);
     609            FieldVisitor.FVvisitEnd (_vs_fv.getExpr ());
     610            break _block2;
     611          }
     612          _block2__branch3: {
     613            if ((1 != 1))
     614            {
     615              break _block2__branch3;
     616            }
     617            if (_vt_item.symbolAt (0))
     618            {
     619              break _block2__branch3;
     620            }
     621            Expr _v_deref__item3 = (Expr) _vt_item.at (0);
     622            if ((_v_deref__item3.getLen () != 4))
     623            {
     624              break _block2__branch3;
     625            }
     626            if (!_c_27.eq (_v_deref__item3, 0))
     627            {
     628              break _block2__branch3;
     629            }
     630            if (!_v_deref__item3.symbolAt ((0 + 1)))
     631            {
     632              break _block2__branch3;
     633            }
     634            if (!_v_deref__item3.symbolAt ((0 + 1 + 1)))
     635            {
     636              break _block2__branch3;
     637            }
     638            Expr _vs_linkage = new Expr (_v_deref__item3, (0 + 1), 1);
     639            Expr _vs_tag = new Expr (_v_deref__item3, (0 + 1 + 1), 1);
     640            Expr _vt_name = new Expr (_v_deref__item3, (0 + 1 + 1 + 1), 1);
     641            Result _v_To_m_Chars1 = new Result ();
     642            Convert.To_m_Chars (_vs_tag, _v_To_m_Chars1);
     643            int _v_len15 = _v_To_m_Chars1.getExpr ().getLen ();
     644            int _v_len16 = 1;
     645            if ((_v_len15 < _v_len16))
     646            {
     647              continue _continue1;
     648            }
     649            int _v_len__2 = (_v_len15 - _v_len16);
     650            if (!_v_To_m_Chars1.getExpr ().symbolAt (0))
     651            {
     652              continue _continue1;
     653            }
     654            Expr _vs_1 = new Expr (_v_To_m_Chars1.getExpr (), 0, 1);
     655            Expr _ve_2 = new Expr (_v_To_m_Chars1.getExpr (), (0 + 1), _v_len__2);
     656            Result _v_To_m_Lower1 = new Result ();
     657            Convert.To_m_Lower (_ve_2, _v_To_m_Lower1);
     658            Expr[] _va_8 = { _c_28 , _vs_1 , _v_To_m_Lower1.getExpr () };
     659            Expr _ve_class_m_name = Expr.concat (_va_8);
     660            Table.Bind (Inputs, new Expr (_c_29, _ve_class_m_name), Expr.empty);
     661            Result _gs_auxcall14 = new Result ();
     662            Access_m_Mode (_vt_name, _gs_auxcall14);
     663            Result _gs_auxcall15 = new Result ();
     664            Arithm._p_ (_c_25, _gs_auxcall14.getExpr (), _gs_auxcall15);
     665            Result _vs_accessMode = new Result ();
     666            Arithm._p_ (_c_15, _gs_auxcall15.getExpr (), _vs_accessMode);
     667            Result _ge_auxcall16 = new Result ();
     668            Name_m_To_m_JBC (_vt_name, _ge_auxcall16);
     669            Result _gs_auxcall17 = new Result ();
     670            Convert.To_m_Word (_ge_auxcall16.getExpr (), _gs_auxcall17);
     671            Result _gs_auxcall18 = new Result ();
     672            Java.Null (_gs_auxcall18);
     673            Result _gs_auxcall19 = new Result ();
     674            Java.Null (_gs_auxcall19);
     675            Result _vs_fv = new Result ();
     676            ClassWriter.visitField (_vs_cw, _vs_accessMode.getExpr (), _gs_auxcall17.getExpr (), _c_16, _gs_auxcall18.getExpr (), _gs_auxcall19.getExpr (), _vs_fv);
     677            FieldVisitor.FVvisitEnd (_vs_fv.getExpr ());
     678            break _block2;
     679          }
     680          _block2__branch4: {
     681            if ((1 != 1))
     682            {
     683              break _block2__branch4;
     684            }
     685            if (_vt_item.symbolAt (0))
     686            {
     687              break _block2__branch4;
     688            }
     689            Expr _v_deref__item4 = (Expr) _vt_item.at (0);
     690            if ((_v_deref__item4.getLen () != 2))
     691            {
     692              break _block2__branch4;
     693            }
     694            if (!_c_30.eq (_v_deref__item4, 0))
     695            {
     696              break _block2__branch4;
     697            }
     698            Expr _vt_name = new Expr (_v_deref__item4, (0 + 1), 1);
     699            break _block2;
     700          }
     701          if ((1 != 1))
     702          {
     703            throw new RefalException ("rfp_asail_jbc", "Module_m_To_m_JBC", "Unexpected fail");
     704          }
     705          if (_vt_item.symbolAt (0))
     706          {
     707            throw new RefalException ("rfp_asail_jbc", "Module_m_To_m_JBC", "Unexpected fail");
     708          }
     709          Expr _v_deref__item5 = (Expr) _vt_item.at (0);
     710          if ((_v_deref__item5.getLen () != 2))
     711          {
     712            throw new RefalException ("rfp_asail_jbc", "Module_m_To_m_JBC", "Unexpected fail");
     713          }
     714          if (!_c_31.eq (_v_deref__item5, 0))
     715          {
     716            throw new RefalException ("rfp_asail_jbc", "Module_m_To_m_JBC", "Unexpected fail");
     717          }
     718          Expr _vt_name = new Expr (_v_deref__item5, (0 + 1), 1);
     719        }
     720      }
     721    }
     722  }
     723
     724  static private void ASAIL_m_To_m_JBC (Expr _ge_arg1, Result _v_res1) throws RefalException
     725  {
     726    int _v_len1 = _ge_arg1.getLen ();
     727    int _v_len2 = 1;
     728    if ((_v_len1 < _v_len2))
     729    {
     730      throw new RefalException ("rfp_asail_jbc", "ASAIL_m_To_m_JBC", "Unexpected fail");
     731    }
     732    int _v_len__module = (_v_len1 - _v_len2);
     733    if (!_ge_arg1.symbolAt (0))
     734    {
     735      throw new RefalException ("rfp_asail_jbc", "ASAIL_m_To_m_JBC", "Unexpected fail");
     736    }
     737    Expr _vs_cw = new Expr (_ge_arg1, 0, 1);
     738    Expr _ve_module = new Expr (_ge_arg1, (0 + 1), _v_len__module);
     739    _block1: {
     740      _block1__branch1: {
     741        int _v_len3 = _v_len__module;
     742        int _v_len4 = 1;
     743        if ((_v_len3 < _v_len4))
     744        {
     745          break _block1__branch1;
     746        }
     747        int _v_len__rest = (_v_len3 - _v_len4);
     748        Expr _vt_item = new Expr (_ve_module, 0, 1);
     749        Expr _ve_rest = new Expr (_ve_module, (0 + 1), _v_len__rest);
     750        Expr _ve_java_m_item = Expr.empty;
     751        _block2: {
     752          _block2__branch1: {
     753            if ((1 != 1))
     754            {
     755              break _block2__branch1;
     756            }
     757            if (_vt_item.symbolAt (0))
     758            {
     759              break _block2__branch1;
     760            }
     761            Expr _v_deref__item = (Expr) _vt_item.at (0);
     762            int _v_len5 = _v_deref__item.getLen ();
     763            int _v_len6 = 4;
     764            if ((_v_len5 < _v_len6))
     765            {
     766              break _block2__branch1;
     767            }
     768            int _v_len__body = (_v_len5 - _v_len6);
     769            if (_v_deref__item.symbolAt ((0 + 1 + 1)))
     770            {
     771              break _block2__branch1;
     772            }
     773            if (_v_deref__item.symbolAt ((0 + 1 + 1 + 1)))
     774            {
     775              break _block2__branch1;
     776            }
     777            Expr _v_deref__deref__item = (Expr) _v_deref__item.at ((0 + 1 + 1));
     778            Expr _v_deref__deref__item2 = (Expr) _v_deref__item.at ((0 + 1 + 1 + 1));
     779            int _v_len7 = _v_deref__deref__item2.getLen ();
     780            int _v_len8 = 0;
     781            if ((_v_len7 < _v_len8))
     782            {
     783              break _block2__branch1;
     784            }
     785            int _v_len__ress = (_v_len7 - _v_len8);
     786            int _v_len9 = _v_deref__deref__item.getLen ();
     787            int _v_len10 = 0;
     788            if ((_v_len9 < _v_len10))
     789            {
     790              break _block2__branch1;
     791            }
     792            int _v_len__args = (_v_len9 - _v_len10);
    434793            if (!_v_deref__item.symbolAt (0))
    435794            {
     
    449808                  break _block3__branch1;
    450809                }
    451                 if (!_vs_tag.eq (_c_20, 0))
     810                if (!_vs_tag.eq (_c_11, 0))
    452811                {
    453812                  break _block3__branch1;
    454813                }
    455                 _ve_return_m_type = _c_21;
     814                _ve_return_m_type = _c_32;
    456815                _ve_return = Expr.empty;
    457816                break _block3;
     
    461820                break _block2__branch1;
    462821              }
    463               if (!_vs_tag.eq (_c_22, 0))
     822              if (!_vs_tag.eq (_c_13, 0))
    464823              {
    465824                break _block2__branch1;
    466825              }
    467               _ve_return_m_type = _c_23;
    468               _ve_return = _c_24;
     826              _ve_return_m_type = _c_33;
     827              _ve_return = _c_34;
    469828            }
    470829            Box.Store (Ress, _ve_ress);
     
    478837                  break _block4__branch1;
    479838                }
    480                 Expr.SplitIterator _va_10 = _v__q_1.getExpr ().leftSplit(0);
    481                 _exit1: _continue1: for ( ; ; _va_10.next ())
     839                Expr.SplitIterator _va_9 = _v__q_1.getExpr ().leftSplit(0);
     840                _exit1: _continue1: for ( ; ; _va_9.next ())
    482841                {
    483                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_124_m_23 = _va_10.getLeft();
    484                   Expr _v_lsplit___q_1 = _va_10.getRight();
    485                   if (!_va_10.isValid ())
     842                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_164_m_23 = _va_9.getLeft();
     843                  Expr _v_lsplit___q_1 = _va_9.getRight();
     844                  if (!_va_9.isValid ())
    486845                  {
    487846                    break _block4__branch1;
    488847                  }
    489                   int _v_len9 = _v_lsplit___q_1.getLen ();
    490                   int _v_len10 = 1;
    491                   if ((_v_len9 < _v_len10))
     848                  int _v_len11 = _v_lsplit___q_1.getLen ();
     849                  int _v_len12 = 1;
     850                  if ((_v_len11 < _v_len12))
    492851                  {
    493852                    break _block4__branch1;
    494853                  }
    495                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_124_m_32 = (_v_len9 - _v_len10);
     854                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_164_m_32 = (_v_len11 - _v_len12);
    496855                  if (!_vt_name.eq (_v_lsplit___q_1, 0))
    497856                  {
    498857                    continue _continue1;
    499858                  }
    500                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_124_m_32 = new Expr (_v_lsplit___q_1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_124_m_32);
     859                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_164_m_32 = new Expr (_v_lsplit___q_1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_164_m_32);
    501860                  Result _ge_auxcall1 = new Result ();
    502861                  JavaMangle.Rfp2Java (_vt_name, _ge_auxcall1);
     
    510869            Name_m_To_m_JBC (_vt_name, _ge_auxcall2);
    511870            Box.Store (Func_m_Name, _ge_auxcall2.getExpr ());
    512             Result _ge_auxcall3 = new Result ();
    513             Access_m_Mode (_vt_name, _ge_auxcall3);
     871            Result _gs_auxcall3 = new Result ();
     872            Access_m_Mode (_vt_name, _gs_auxcall3);
    514873            Result _ge_auxcall4 = new Result ();
    515874            Box._q_ (Func_m_Name, _ge_auxcall4);
    516875            Result _ge_auxcall5 = new Result ();
    517             Expr[] _va_11 = { _c_26 , _ve_args , _c_25 , _ve_ress };
    518             Var_m_Args_m_To_m_JBC (Expr.concat (_va_11), _ge_auxcall5);
     876            Expr[] _va_10 = { _c_36 , _ve_args , _c_35 , _ve_ress };
     877            Var_m_Args_m_To_m_JBC (Expr.concat (_va_10), _ge_auxcall5);
    519878            Result _ge_auxcall6 = new Result ();
    520879            ASAIL_m_To_m_JBC (_ve_body, _ge_auxcall6);
    521             Expr[] _va_13 = { _c_30 , _ge_auxcall3.getExpr () , _c_29 , _ve_return_m_type , _c_29 , _ge_auxcall4.getExpr () , _c_28 , _ge_auxcall5.getExpr () , _c_27 };
    522             Expr[] _va_14 = { _c_31 , new Expr(new Expr (_ge_auxcall6.getExpr (), _ve_return)) , _c_10 };
    523             Expr[] _va_12 = { _c_14 , new Expr(Expr.concat (_va_13)) , new Expr(Expr.concat (_va_14)) };
    524             _ve_java_m_item = Expr.concat (_va_12);
     880            Expr[] _va_12 = { _c_40 , _gs_auxcall3.getExpr () , _c_39 , _ve_return_m_type , _c_39 , _ge_auxcall4.getExpr () , _c_38 , _ge_auxcall5.getExpr () , _c_37 };
     881            Expr[] _va_13 = { _c_42 , new Expr(new Expr (_ge_auxcall6.getExpr (), _ve_return)) , _c_41 };
     882            Expr[] _va_11 = { _c_43 , new Expr(Expr.concat (_va_12)) , new Expr(Expr.concat (_va_13)) };
     883            _ve_java_m_item = Expr.concat (_va_11);
    525884            break _block2;
    526885          }
     
    539898              break _block2__branch2;
    540899            }
    541             if (!_c_32.eq (_v_deref__item2, 0))
     900            if (!_c_44.eq (_v_deref__item2, 0))
    542901            {
    543902              break _block2__branch2;
     
    558917            }
    559918            Expr _v_deref__item3 = (Expr) _vt_item.at (0);
    560             int _v_len11 = _v_deref__item3.getLen ();
    561             int _v_len12 = 2;
    562             if ((_v_len11 < _v_len12))
     919            int _v_len13 = _v_deref__item3.getLen ();
     920            int _v_len14 = 2;
     921            if ((_v_len13 < _v_len14))
    563922            {
    564923              break _block2__branch3;
    565924            }
    566             int _v_len__body2 = (_v_len11 - _v_len12);
     925            int _v_len__body2 = (_v_len13 - _v_len14);
    567926            if (_v_deref__item3.symbolAt ((0 + 1)))
    568927            {
     
    570929            }
    571930            Expr _v_deref__deref__item3 = (Expr) _v_deref__item3.at ((0 + 1));
    572             int _v_len13 = _v_deref__deref__item3.getLen ();
    573             int _v_len14 = 0;
    574             if ((_v_len13 < _v_len14))
     931            int _v_len15 = _v_deref__deref__item3.getLen ();
     932            int _v_len16 = 0;
     933            if ((_v_len15 < _v_len16))
    575934            {
    576935              break _block2__branch3;
    577936            }
    578             int _v_len__cond = (_v_len13 - _v_len14);
    579             if (!_c_33.eq (_v_deref__item3, 0))
     937            int _v_len__cond = (_v_len15 - _v_len16);
     938            if (!_c_45.eq (_v_deref__item3, 0))
    580939            {
    581940              break _block2__branch3;
     
    609968                }
    610969                Expr _v_deref__deref__cond = (Expr) _v_deref__cond.at ((0 + 1));
    611                 int _v_len15 = _v_deref__deref__cond.getLen ();
    612                 int _v_len16 = 1;
    613                 if ((_v_len15 < _v_len16))
     970                int _v_len17 = _v_deref__deref__cond.getLen ();
     971                int _v_len18 = 1;
     972                if ((_v_len17 < _v_len18))
    614973                {
    615974                  break _block5__branch1;
    616975                }
    617                 int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_137_m_30 = (_v_len15 - _v_len16);
    618                 if (!_c_35.eq (_v_deref__cond, 0))
     976                int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_177_m_30 = (_v_len17 - _v_len18);
     977                if (!_c_47.eq (_v_deref__cond, 0))
    619978                {
    620979                  break _block5__branch1;
    621980                }
    622                 if (!_c_34.eq (_v_deref__deref__cond, 0))
     981                if (!_c_46.eq (_v_deref__deref__cond, 0))
    623982                {
    624983                  break _block5__branch1;
    625984                }
    626                 Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_137_m_30 = new Expr (_v_deref__deref__cond, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_137_m_30);
     985                Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_177_m_30 = new Expr (_v_deref__deref__cond, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_177_m_30);
    627986                Result _ge_auxcall7 = new Result ();
    628987                Box._q_ (Res_m_Assigns, _ge_auxcall7);
     
    6421001            Result _ge_auxcall10 = new Result ();
    6431002            ASAIL_m_To_m_JBC (_ve_body, _ge_auxcall10);
    644             Expr[] _va_16 = { _c_37 , _ve_j_m_cond.getExpr () , _c_36 };
    645             Expr[] _va_17 = { _c_31 , new Expr(new Expr (_ve_if_m_yes_m_assigns, _ge_auxcall10.getExpr ())) , _c_10 };
    646             Expr[] _va_15 = { _ge_auxcall9.getExpr () , new Expr(Expr.concat (_va_16)) , new Expr(Expr.concat (_va_17)) , _ve_if_m_not_m_assigns };
    647             _ve_java_m_item = Expr.concat (_va_15);
     1003            Expr[] _va_15 = { _c_48 , _ve_j_m_cond.getExpr () , _c_18 };
     1004            Expr[] _va_16 = { _c_42 , new Expr(new Expr (_ve_if_m_yes_m_assigns, _ge_auxcall10.getExpr ())) , _c_41 };
     1005            Expr[] _va_14 = { _ge_auxcall9.getExpr () , new Expr(Expr.concat (_va_15)) , new Expr(Expr.concat (_va_16)) , _ve_if_m_not_m_assigns };
     1006            _ve_java_m_item = Expr.concat (_va_14);
    6481007            break _block2;
    6491008          }
     
    6581017            }
    6591018            Expr _v_deref__item4 = (Expr) _vt_item.at (0);
    660             int _v_len17 = _v_deref__item4.getLen ();
    661             int _v_len18 = 5;
    662             if ((_v_len17 < _v_len18))
     1019            int _v_len19 = _v_deref__item4.getLen ();
     1020            int _v_len20 = 5;
     1021            if ((_v_len19 < _v_len20))
    6631022            {
    6641023              break _block2__branch4;
    6651024            }
    666             int _v_len__body3 = (_v_len17 - _v_len18);
     1025            int _v_len__body3 = (_v_len19 - _v_len20);
    6671026            if (_v_deref__item4.symbolAt ((0 + 1)))
    6681027            {
     
    6851044            Expr _v_deref__deref__item43 = (Expr) _v_deref__item4.at ((0 + 1 + 1 + 1));
    6861045            Expr _v_deref__deref__item44 = (Expr) _v_deref__item4.at ((0 + 1 + 1 + 1 + 1));
    687             int _v_len19 = _v_deref__deref__item4.getLen ();
    688             int _v_len20 = 0;
    689             if ((_v_len19 < _v_len20))
    690             {
    691               break _block2__branch4;
    692             }
    693             int _v_len__cont_m_label = (_v_len19 - _v_len20);
    694             int _v_len21 = _v_deref__deref__item42.getLen ();
     1046            int _v_len21 = _v_deref__deref__item4.getLen ();
    6951047            int _v_len22 = 0;
    6961048            if ((_v_len21 < _v_len22))
     
    6981050              break _block2__branch4;
    6991051            }
    700             int _v_len__break_m_label = (_v_len21 - _v_len22);
    701             int _v_len23 = _v_deref__deref__item44.getLen ();
     1052            int _v_len__cont_m_label = (_v_len21 - _v_len22);
     1053            int _v_len23 = _v_deref__deref__item42.getLen ();
    7021054            int _v_len24 = 0;
    7031055            if ((_v_len23 < _v_len24))
     
    7051057              break _block2__branch4;
    7061058            }
    707             int _v_len__step = (_v_len23 - _v_len24);
    708             int _v_len25 = _v_deref__deref__item43.getLen ();
     1059            int _v_len__break_m_label = (_v_len23 - _v_len24);
     1060            int _v_len25 = _v_deref__deref__item44.getLen ();
    7091061            int _v_len26 = 0;
    7101062            if ((_v_len25 < _v_len26))
     
    7121064              break _block2__branch4;
    7131065            }
    714             int _v_len__cond2 = (_v_len25 - _v_len26);
    715             if (!_c_38.eq (_v_deref__item4, 0))
     1066            int _v_len__step = (_v_len25 - _v_len26);
     1067            int _v_len27 = _v_deref__deref__item43.getLen ();
     1068            int _v_len28 = 0;
     1069            if ((_v_len27 < _v_len28))
     1070            {
     1071              break _block2__branch4;
     1072            }
     1073            int _v_len__cond2 = (_v_len27 - _v_len28);
     1074            if (!_c_49.eq (_v_deref__item4, 0))
    7161075            {
    7171076              break _block2__branch4;
     
    7291088                  break _block6__branch1;
    7301089                }
    731                 Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_150_m_25 = new Expr (_ve_cont_m_label, 0, 1);
     1090                Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_190_m_25 = new Expr (_ve_cont_m_label, 0, 1);
    7321091                Result _ge_auxcall11 = new Result ();
    733                 JavaMangle.Rfp2Java (new Expr(new Expr (_c_39, _ve_cont_m_label)), _ge_auxcall11);
    734                 _ve_cont = new Expr (_ge_auxcall11.getExpr (), _c_40);
     1092                JavaMangle.Rfp2Java (new Expr(new Expr (_c_50, _ve_cont_m_label)), _ge_auxcall11);
     1093                _ve_cont = new Expr (_ge_auxcall11.getExpr (), _c_51);
    7351094                break _block6;
    7361095              }
     
    7441103                  break _block7__branch1;
    7451104                }
    746                 Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_153_m_26 = new Expr (_ve_break_m_label, 0, 1);
     1105                Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_193_m_26 = new Expr (_ve_break_m_label, 0, 1);
    7471106                Result _ge_auxcall12 = new Result ();
    748                 JavaMangle.Rfp2Java (new Expr(new Expr (_c_39, _ve_break_m_label)), _ge_auxcall12);
    749                 _ve_break = new Expr (_ge_auxcall12.getExpr (), _c_40);
     1107                JavaMangle.Rfp2Java (new Expr(new Expr (_c_50, _ve_break_m_label)), _ge_auxcall12);
     1108                _ve_break = new Expr (_ge_auxcall12.getExpr (), _c_51);
    7501109                break _block7;
    7511110              }
     
    7681127                }
    7691128                Expr _v_deref__step = (Expr) _ve_step.at (0);
    770                 int _v_len27 = _v_deref__step.getLen ();
    771                 int _v_len28 = 1;
    772                 if ((_v_len27 < _v_len28))
     1129                int _v_len29 = _v_deref__step.getLen ();
     1130                int _v_len30 = 1;
     1131                if ((_v_len29 < _v_len30))
    7731132                {
    7741133                  break _block8__branch1;
    7751134                }
    776                 int _v_len__var = (_v_len27 - _v_len28);
     1135                int _v_len__var = (_v_len29 - _v_len30);
    7771136                if (!_v_deref__step.symbolAt (0))
    7781137                {
     
    7871146                      break _block9__branch1;
    7881147                    }
    789                     if (!_vs_d.eq (_c_41, 0))
     1148                    if (!_vs_d.eq (_c_52, 0))
    7901149                    {
    7911150                      break _block9__branch1;
     
    7971156                    break _block8__branch1;
    7981157                  }
    799                   if (!_vs_d.eq (_c_42, 0))
     1158                  if (!_vs_d.eq (_c_53, 0))
    8001159                  {
    8011160                    break _block8__branch1;
     
    8071166                  break _block1__branch1;
    8081167                }
    809                 int _v_len29 = _v_Lookup1.getExpr ().getLen ();
    810                 int _v_len30 = 2;
    811                 if ((_v_len29 < _v_len30))
     1168                int _v_len31 = _v_Lookup1.getExpr ().getLen ();
     1169                int _v_len32 = 2;
     1170                if ((_v_len31 < _v_len32))
    8121171                {
    8131172                  break _block1__branch1;
    8141173                }
    815                 int _v_len__new_m_var = (_v_len29 - _v_len30);
     1174                int _v_len__new_m_var = (_v_len31 - _v_len32);
    8161175                Expr _ve_new_m_var = new Expr (_v_Lookup1.getExpr (), 0, _v_len__new_m_var);
    8171176                Expr _vt_var1 = new Expr (_v_Lookup1.getExpr (), (0 + _v_len__new_m_var), 1);
     
    8211180                Result _ge_auxcall14 = new Result ();
    8221181                JavaMangle.Rfp2Java (_vt_var2, _ge_auxcall14);
    823                 Expr[] _va_18 = { _c_45 , _ge_auxcall13.getExpr () , _c_44 , _ve_new_m_var , _c_43 };
    824                 Expr[] _va_19 = { _c_45 , _ge_auxcall14.getExpr () , _c_44 , _ve_new_m_var , _c_46 };
    825                 _ve_split_m_vars = new Expr (new Expr(Expr.concat (_va_18)), new Expr(Expr.concat (_va_19)));
     1182                Expr[] _va_17 = { _c_56 , _ge_auxcall13.getExpr () , _c_55 , _ve_new_m_var , _c_54 };
     1183                Expr[] _va_18 = { _c_56 , _ge_auxcall14.getExpr () , _c_55 , _ve_new_m_var , _c_57 };
     1184                _ve_split_m_vars = new Expr (new Expr(Expr.concat (_va_17)), new Expr(Expr.concat (_va_18)));
    8261185                break _block8;
    8271186              }
     
    8371196            Result _ge_auxcall18 = new Result ();
    8381197            ASAIL_m_To_m_JBC (_ve_body, _ge_auxcall18);
    839             Expr[] _va_21 = { _ve_break , _ve_cont , _c_48 , _ge_cond__6.getExpr () , _c_47 , _ge_auxcall16.getExpr () , _c_36 };
    840             Expr[] _va_23 = { _ve_split_m_vars , _ge_auxcall17.getExpr () , _ge_auxcall18.getExpr () };
    841             Expr[] _va_22 = { _c_31 , new Expr(Expr.concat (_va_23)) , _c_10 };
    842             Expr[] _va_20 = { _ge_auxcall15.getExpr () , new Expr(Expr.concat (_va_21)) , new Expr(Expr.concat (_va_22)) };
    843             _ve_java_m_item = Expr.concat (_va_20);
     1198            Expr[] _va_20 = { _ve_break , _ve_cont , _c_59 , _ge_cond__6.getExpr () , _c_58 , _ge_auxcall16.getExpr () , _c_18 };
     1199            Expr[] _va_22 = { _ve_split_m_vars , _ge_auxcall17.getExpr () , _ge_auxcall18.getExpr () };
     1200            Expr[] _va_21 = { _c_42 , new Expr(Expr.concat (_va_22)) , _c_41 };
     1201            Expr[] _va_19 = { _ge_auxcall15.getExpr () , new Expr(Expr.concat (_va_20)) , new Expr(Expr.concat (_va_21)) };
     1202            _ve_java_m_item = Expr.concat (_va_19);
    8441203            break _block2;
    8451204          }
     
    8541213            }
    8551214            Expr _v_deref__item5 = (Expr) _vt_item.at (0);
    856             int _v_len31 = _v_deref__item5.getLen ();
    857             int _v_len32 = 2;
    858             if ((_v_len31 < _v_len32))
     1215            int _v_len33 = _v_deref__item5.getLen ();
     1216            int _v_len34 = 2;
     1217            if ((_v_len33 < _v_len34))
    8591218            {
    8601219              break _block2__branch5;
    8611220            }
    862             int _v_len__body4 = (_v_len31 - _v_len32);
     1221            int _v_len__body4 = (_v_len33 - _v_len34);
    8631222            if (_v_deref__item5.symbolAt ((0 + 1)))
    8641223            {
     
    8661225            }
    8671226            Expr _v_deref__deref__item5 = (Expr) _v_deref__item5.at ((0 + 1));
    868             int _v_len33 = _v_deref__deref__item5.getLen ();
    869             int _v_len34 = 0;
    870             if ((_v_len33 < _v_len34))
     1227            int _v_len35 = _v_deref__deref__item5.getLen ();
     1228            int _v_len36 = 0;
     1229            if ((_v_len35 < _v_len36))
    8711230            {
    8721231              break _block2__branch5;
    8731232            }
    874             int _v_len__label = (_v_len33 - _v_len34);
    875             if (!_c_39.eq (_v_deref__item5, 0))
     1233            int _v_len__label = (_v_len35 - _v_len36);
     1234            if (!_c_50.eq (_v_deref__item5, 0))
    8761235            {
    8771236              break _block2__branch5;
     
    8801239            Expr _ve_label = new Expr (_v_deref__deref__item5, 0, _v_len__label);
    8811240            Result _ge_auxcall19 = new Result ();
    882             JavaMangle.Rfp2Java (new Expr(new Expr (_c_39, _ve_label)), _ge_auxcall19);
     1241            JavaMangle.Rfp2Java (new Expr(new Expr (_c_50, _ve_label)), _ge_auxcall19);
    8831242            Result _ge_auxcall20 = new Result ();
    8841243            ASAIL_m_To_m_JBC (_ve_body, _ge_auxcall20);
    885             Expr[] _va_24 = { _ge_auxcall19.getExpr () , _c_49 , new Expr(_ge_auxcall20.getExpr ()) , _c_10 };
    886             _ve_java_m_item = new Expr(Expr.concat (_va_24));
     1244            Expr[] _va_23 = { _ge_auxcall19.getExpr () , _c_60 , new Expr(_ge_auxcall20.getExpr ()) , _c_41 };
     1245            _ve_java_m_item = new Expr(Expr.concat (_va_23));
    8871246            break _block2;
    8881247          }
     
    8971256            }
    8981257            Expr _v_deref__item6 = (Expr) _vt_item.at (0);
    899             int _v_len35 = _v_deref__item6.getLen ();
    900             int _v_len36 = 1;
    901             if ((_v_len35 < _v_len36))
     1258            int _v_len37 = _v_deref__item6.getLen ();
     1259            int _v_len38 = 1;
     1260            if ((_v_len37 < _v_len38))
    9021261            {
    9031262              break _block2__branch6;
    9041263            }
    905             int _v_len__body5 = (_v_len35 - _v_len36);
    906             if (!_c_50.eq (_v_deref__item6, 0))
     1264            int _v_len__body5 = (_v_len37 - _v_len38);
     1265            if (!_c_61.eq (_v_deref__item6, 0))
    9071266            {
    9081267              break _block2__branch6;
     
    9151274            Result _ge_auxcall23 = new Result ();
    9161275            ASAIL_m_To_m_JBC (_ve_body, _ge_auxcall23);
    917             Expr[] _va_26 = { _c_53 , _ge_auxcall21.getExpr () , _c_52 , _ge_auxcall22.getExpr () , _c_51 };
    918             Expr[] _va_25 = { _c_31 , new Expr(new Expr (new Expr(new Expr (_c_54, new Expr(Expr.concat (_va_26)))), _ge_auxcall23.getExpr ())) , _c_10 };
    919             _ve_java_m_item = new Expr (_c_55, new Expr(Expr.concat (_va_25)));
     1276            Expr[] _va_25 = { _c_64 , _ge_auxcall21.getExpr () , _c_63 , _ge_auxcall22.getExpr () , _c_62 };
     1277            Expr[] _va_24 = { _c_42 , new Expr(new Expr (new Expr(new Expr (_c_65, new Expr(Expr.concat (_va_25)))), _ge_auxcall23.getExpr ())) , _c_41 };
     1278            _ve_java_m_item = new Expr (_c_66, new Expr(Expr.concat (_va_24)));
    9201279            break _block2;
    9211280          }
     
    9301289            }
    9311290            Expr _v_deref__item7 = (Expr) _vt_item.at (0);
    932             int _v_len37 = _v_deref__item7.getLen ();
    933             int _v_len38 = 1;
    934             if ((_v_len37 < _v_len38))
     1291            int _v_len39 = _v_deref__item7.getLen ();
     1292            int _v_len40 = 1;
     1293            if ((_v_len39 < _v_len40))
    9351294            {
    9361295              break _block2__branch7;
    9371296            }
    938             int _v_len__body6 = (_v_len37 - _v_len38);
    939             if (!_c_56.eq (_v_deref__item7, 0))
     1297            int _v_len__body6 = (_v_len39 - _v_len40);
     1298            if (!_c_67.eq (_v_deref__item7, 0))
    9401299            {
    9411300              break _block2__branch7;
     
    9441303            Result _ge_auxcall24 = new Result ();
    9451304            ASAIL_m_To_m_JBC (_ve_body, _ge_auxcall24);
    946             Expr[] _va_27 = { _c_58 , new Expr(new Expr (_c_57, new Expr(_ge_auxcall24.getExpr ()))) , _c_10 };
    947             _ve_java_m_item = new Expr(Expr.concat (_va_27));
     1305            Expr[] _va_26 = { _c_69 , new Expr(new Expr (_c_68, new Expr(_ge_auxcall24.getExpr ()))) , _c_41 };
     1306            _ve_java_m_item = new Expr(Expr.concat (_va_26));
    9481307            break _block2;
    9491308          }
     
    9531312              break _block2__branch8;
    9541313            }
    955             if (!_vt_item.eq (_c_59, 0))
     1314            if (!_vt_item.eq (_c_70, 0))
    9561315            {
    9571316              break _block2__branch8;
    9581317            }
    959             _ve_java_m_item = _c_60;
     1318            _ve_java_m_item = _c_71;
    9601319            break _block2;
    9611320          }
     
    9651324              break _block2__branch9;
    9661325            }
    967             if (!_vt_item.eq (_c_61, 0))
     1326            if (!_vt_item.eq (_c_72, 0))
    9681327            {
    9691328              break _block2__branch9;
     
    9731332            Result _ge_auxcall26 = new Result ();
    9741333            Box._q_ (Func_m_Name, _ge_auxcall26);
    975             Expr[] _va_28 = { _c_53 , _ge_auxcall25.getExpr () , _c_52 , _ge_auxcall26.getExpr () , _c_62 };
    976             _ve_java_m_item = new Expr(Expr.concat (_va_28));
     1334            Expr[] _va_27 = { _c_64 , _ge_auxcall25.getExpr () , _c_63 , _ge_auxcall26.getExpr () , _c_73 };
     1335            _ve_java_m_item = new Expr(Expr.concat (_va_27));
    9771336            break _block2;
    9781337          }
     
    9961355            }
    9971356            Expr _v_deref__deref__item8 = (Expr) _v_deref__item8.at ((0 + 1 + 1));
    998             int _v_len39 = _v_deref__deref__item8.getLen ();
    999             int _v_len40 = 0;
    1000             if ((_v_len39 < _v_len40))
     1357            int _v_len41 = _v_deref__deref__item8.getLen ();
     1358            int _v_len42 = 0;
     1359            if ((_v_len41 < _v_len42))
    10011360            {
    10021361              break _block2__branch10;
    10031362            }
    1004             int _v_len__min = (_v_len39 - _v_len40);
    1005             if (!_c_63.eq (_v_deref__item8, 0))
     1363            int _v_len__min = (_v_len41 - _v_len42);
     1364            if (!_c_74.eq (_v_deref__item8, 0))
    10061365            {
    10071366              break _block2__branch10;
     
    10161375            Result _v_Free_m_Index1 = new Result ();
    10171376            Free_m_Index (_v_Free_m_Index1);
    1018             Expr _ve_new_m_var = new Expr (_c_64, _v_Free_m_Index1.getExpr ());
    1019             Expr[] _va_29 = { _ve_new_m_var , _vt_var1 , _vt_var2 };
    1020             Table.Bind (Iter_m_Vars, _vt_name, Expr.concat (_va_29));
     1377            Expr _ve_new_m_var = new Expr (_c_75, _v_Free_m_Index1.getExpr ());
     1378            Expr[] _va_28 = { _ve_new_m_var , _vt_var1 , _vt_var2 };
     1379            Table.Bind (Iter_m_Vars, _vt_name, Expr.concat (_va_28));
    10211380            Result _vs_acc = new Result ();
    10221381            Box.Box (Expr.empty, _vs_acc);
    1023             Result _va_30 = new Result ();
    1024             Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_min, _va_30);
    1025             _ve_min = _va_30.getExpr ();
     1382            Result _va_29 = new Result ();
     1383            Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_min, _va_29);
     1384            _ve_min = _va_29.getExpr ();
    10261385            Result _ge_auxcall27 = new Result ();
    10271386            Box._q_ (_vs_acc.getExpr (), _ge_auxcall27);
    1028             Expr[] _va_32 = { _c_67 , _ve_new_m_var , _c_44 , _ve_n.getExpr () , _c_66 , _ve_min , _c_65 };
    1029             Expr[] _va_31 = { _ve_a.getExpr () , _ge_auxcall27.getExpr () , new Expr(Expr.concat (_va_32)) };
    1030             _ve_java_m_item = Expr.concat (_va_31);
     1387            Expr[] _va_31 = { _c_78 , _ve_new_m_var , _c_55 , _ve_n.getExpr () , _c_77 , _ve_min , _c_76 };
     1388            Expr[] _va_30 = { _ve_a.getExpr () , _ge_auxcall27.getExpr () , new Expr(Expr.concat (_va_31)) };
     1389            _ve_java_m_item = Expr.concat (_va_30);
    10311390            break _block2;
    10321391          }
     
    10501409            }
    10511410            Expr _v_deref__deref__item9 = (Expr) _v_deref__item9.at ((0 + 1 + 1));
    1052             int _v_len41 = _v_deref__deref__item9.getLen ();
    1053             int _v_len42 = 0;
    1054             if ((_v_len41 < _v_len42))
     1411            int _v_len43 = _v_deref__deref__item9.getLen ();
     1412            int _v_len44 = 0;
     1413            if ((_v_len43 < _v_len44))
    10551414            {
    10561415              break _block2__branch11;
    10571416            }
    1058             int _v_len__min2 = (_v_len41 - _v_len42);
    1059             if (!_c_68.eq (_v_deref__item9, 0))
     1417            int _v_len__min2 = (_v_len43 - _v_len44);
     1418            if (!_c_79.eq (_v_deref__item9, 0))
    10601419            {
    10611420              break _block2__branch11;
     
    10701429            Result _v_Free_m_Index2 = new Result ();
    10711430            Free_m_Index (_v_Free_m_Index2);
    1072             Expr _ve_new_m_var = new Expr (_c_64, _v_Free_m_Index2.getExpr ());
    1073             Expr[] _va_33 = { _ve_new_m_var , _vt_var1 , _vt_var2 };
    1074             Table.Bind (Iter_m_Vars, _vt_name, Expr.concat (_va_33));
     1431            Expr _ve_new_m_var = new Expr (_c_75, _v_Free_m_Index2.getExpr ());
     1432            Expr[] _va_32 = { _ve_new_m_var , _vt_var1 , _vt_var2 };
     1433            Table.Bind (Iter_m_Vars, _vt_name, Expr.concat (_va_32));
    10751434            Result _vs_acc = new Result ();
    10761435            Box.Box (Expr.empty, _vs_acc);
    1077             Result _va_34 = new Result ();
    1078             Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_min, _va_34);
    1079             _ve_min = _va_34.getExpr ();
     1436            Result _va_33 = new Result ();
     1437            Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_min, _va_33);
     1438            _ve_min = _va_33.getExpr ();
    10801439            Result _ge_auxcall28 = new Result ();
    10811440            Box._q_ (_vs_acc.getExpr (), _ge_auxcall28);
    1082             Expr[] _va_36 = { _c_67 , _ve_new_m_var , _c_44 , _ve_n.getExpr () , _c_69 , _ve_min , _c_65 };
    1083             Expr[] _va_35 = { _ve_a.getExpr () , _ge_auxcall28.getExpr () , new Expr(Expr.concat (_va_36)) };
    1084             _ve_java_m_item = Expr.concat (_va_35);
     1441            Expr[] _va_35 = { _c_78 , _ve_new_m_var , _c_55 , _ve_n.getExpr () , _c_80 , _ve_min , _c_76 };
     1442            Expr[] _va_34 = { _ve_a.getExpr () , _ge_auxcall28.getExpr () , new Expr(Expr.concat (_va_35)) };
     1443            _ve_java_m_item = Expr.concat (_va_34);
    10851444            break _block2;
    10861445          }
     
    10951454            }
    10961455            Expr _v_deref__item10 = (Expr) _vt_item.at (0);
    1097             int _v_len43 = _v_deref__item10.getLen ();
    1098             int _v_len44 = 2;
    1099             if ((_v_len43 < _v_len44))
     1456            int _v_len45 = _v_deref__item10.getLen ();
     1457            int _v_len46 = 2;
     1458            if ((_v_len45 < _v_len46))
    11001459            {
    11011460              break _block2__branch12;
    11021461            }
    1103             int _v_len__expr = (_v_len43 - _v_len44);
    1104             if (!_c_70.eq (_v_deref__item10, 0))
     1462            int _v_len__expr = (_v_len45 - _v_len46);
     1463            if (!_c_81.eq (_v_deref__item10, 0))
    11051464            {
    11061465              break _block2__branch12;
     
    11191478                  break _block10__branch1;
    11201479                }
    1121                 Expr.SplitIterator _va_37 = _v__q_2.getExpr ().leftSplit(0);
    1122                 _exit2: _continue2: for ( ; ; _va_37.next ())
     1480                Expr.SplitIterator _va_36 = _v__q_2.getExpr ().leftSplit(0);
     1481                _exit2: _continue2: for ( ; ; _va_36.next ())
    11231482                {
    1124                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_206_m_22 = _va_37.getLeft();
    1125                   Expr _v_lsplit___q_2 = _va_37.getRight();
    1126                   if (!_va_37.isValid ())
     1483                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_246_m_22 = _va_36.getLeft();
     1484                  Expr _v_lsplit___q_2 = _va_36.getRight();
     1485                  if (!_va_36.isValid ())
    11271486                  {
    11281487                    break _block10__branch1;
    11291488                  }
    1130                   int _v_len45 = _v_lsplit___q_2.getLen ();
    1131                   int _v_len46 = 1;
    1132                   if ((_v_len45 < _v_len46))
     1489                  int _v_len47 = _v_lsplit___q_2.getLen ();
     1490                  int _v_len48 = 1;
     1491                  if ((_v_len47 < _v_len48))
    11331492                  {
    11341493                    break _block10__branch1;
    11351494                  }
    1136                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_206_m_30 = (_v_len45 - _v_len46);
     1495                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_246_m_30 = (_v_len47 - _v_len48);
    11371496                  if (!_vt_var.eq (_v_lsplit___q_2, 0))
    11381497                  {
    11391498                    continue _continue2;
    11401499                  }
    1141                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_206_m_30 = new Expr (_v_lsplit___q_2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_206_m_30);
     1500                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_246_m_30 = new Expr (_v_lsplit___q_2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_246_m_30);
    11421501                  Result _ge_auxcall29 = new Result ();
    11431502                  JavaMangle.Rfp2Java (_vt_var, _ge_auxcall29);
    1144                   Expr[] _va_38 = { _ge_auxcall29.getExpr () , _c_71 , _ve_j_m_expr.getExpr () , _c_65 };
    1145                   _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_38)));
     1503                  Expr[] _va_37 = { _ge_auxcall29.getExpr () , _c_82 , _ve_j_m_expr.getExpr () , _c_76 };
     1504                  _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_37)));
    11461505                  break _exit2;
    11471506                }
     
    11541513                  break _block10__branch2;
    11551514                }
    1156                 Expr[] _va_39 = { _ge_auxcall30.getExpr () , _c_71 , _ve_j_m_expr.getExpr () , _c_65 };
    1157                 _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_39)));
     1515                Expr[] _va_38 = { _ge_auxcall30.getExpr () , _c_82 , _ve_j_m_expr.getExpr () , _c_76 };
     1516                _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_38)));
    11581517                break _block10;
    11591518              }
    11601519              Result _ge_auxcall31 = new Result ();
    11611520              JavaMangle.Rfp2Java (_vt_var, _ge_auxcall31);
    1162               Expr[] _va_40 = { _ge_auxcall31.getExpr () , _c_44 , _ve_j_m_expr.getExpr () , _c_72 };
    1163               _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_40)));
     1521              Expr[] _va_39 = { _ge_auxcall31.getExpr () , _c_55 , _ve_j_m_expr.getExpr () , _c_83 };
     1522              _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_39)));
    11641523            }
    11651524            break _block2;
     
    11791538              break _block2__branch13;
    11801539            }
    1181             if (!_c_73.eq (_v_deref__item11, 0))
     1540            if (!_c_84.eq (_v_deref__item11, 0))
    11821541            {
    11831542              break _block2__branch13;
     
    11971556                  break _block11__branch1;
    11981557                }
    1199                 if (!_vs_type.eq (_c_25, 0))
     1558                if (!_vs_type.eq (_c_35, 0))
    12001559                {
    12011560                  break _block11__branch1;
    12021561                }
    12031562                Table.Bind (Result, _vt_var, _ve_j_m_var.getExpr ());
    1204                 Expr[] _va_41 = { _c_75 , _ve_j_m_var.getExpr () , _c_74 };
    1205                 _ve_java_m_item = new Expr(Expr.concat (_va_41));
     1563                Expr[] _va_40 = { _c_86 , _ve_j_m_var.getExpr () , _c_85 };
     1564                _ve_java_m_item = new Expr(Expr.concat (_va_40));
    12061565                break _block11;
    12071566              }
    12081567              Table.Unbind (Result, _vt_var);
    1209               Expr[] _va_42 = { _c_45 , _ve_j_m_var.getExpr () , _c_76 };
    1210               _ve_java_m_item = new Expr(Expr.concat (_va_42));
     1568              Expr[] _va_41 = { _c_56 , _ve_j_m_var.getExpr () , _c_87 };
     1569              _ve_java_m_item = new Expr(Expr.concat (_va_41));
    12111570            }
    12121571            break _block2;
     
    12221581            }
    12231582            Expr _v_deref__item12 = (Expr) _vt_item.at (0);
    1224             int _v_len47 = _v_deref__item12.getLen ();
    1225             int _v_len48 = 2;
    1226             if ((_v_len47 < _v_len48))
     1583            int _v_len49 = _v_deref__item12.getLen ();
     1584            int _v_len50 = 2;
     1585            if ((_v_len49 < _v_len50))
    12271586            {
    12281587              break _block2__branch14;
    12291588            }
    1230             int _v_len__expr2 = (_v_len47 - _v_len48);
     1589            int _v_len__expr2 = (_v_len49 - _v_len50);
    12311590            if (!_c_0.eq (_v_deref__item12, 0))
    12321591            {
     
    12371596            Result _vs_acc = new Result ();
    12381597            Box.Box (Expr.empty, _vs_acc);
    1239             Result _va_43 = new Result ();
    1240             Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_expr, _va_43);
    1241             _ve_expr = _va_43.getExpr ();
     1598            Result _va_42 = new Result ();
     1599            Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_expr, _va_42);
     1600            _ve_expr = _va_42.getExpr ();
    12421601            Result _ge_auxcall32 = new Result ();
    12431602            Box._q_ (_vs_acc.getExpr (), _ge_auxcall32);
    12441603            Result _ge_auxcall33 = new Result ();
    12451604            JavaMangle.Rfp2Java (_vt_var, _ge_auxcall33);
    1246             Expr[] _va_44 = { _c_77 , _ge_auxcall33.getExpr () , _c_44 , _ve_expr , _c_72 };
    1247             _ve_java_m_item = new Expr (_ge_auxcall32.getExpr (), new Expr(Expr.concat (_va_44)));
     1605            Expr[] _va_43 = { _c_88 , _ge_auxcall33.getExpr () , _c_55 , _ve_expr , _c_83 };
     1606            _ve_java_m_item = new Expr (_ge_auxcall32.getExpr (), new Expr(Expr.concat (_va_43)));
    12481607            break _block2;
    12491608          }
     
    12581617            }
    12591618            Expr _v_deref__item13 = (Expr) _vt_item.at (0);
    1260             int _v_len49 = _v_deref__item13.getLen ();
    1261             int _v_len50 = 2;
    1262             if ((_v_len49 < _v_len50))
     1619            int _v_len51 = _v_deref__item13.getLen ();
     1620            int _v_len52 = 2;
     1621            if ((_v_len51 < _v_len52))
    12631622            {
    12641623              break _block2__branch15;
    12651624            }
    1266             int _v_len__expr3 = (_v_len49 - _v_len50);
    1267             if (!_c_78.eq (_v_deref__item13, 0))
     1625            int _v_len__expr3 = (_v_len51 - _v_len52);
     1626            if (!_c_89.eq (_v_deref__item13, 0))
    12681627            {
    12691628              break _block2__branch15;
     
    12771636            Result _ge_auxcall34 = new Result ();
    12781637            JavaMangle.Rfp2Java (_vt_var, _ge_auxcall34);
    1279             Expr[] _va_45 = { _c_45 , _ge_auxcall34.getExpr () , _c_44 , _ve_j_m_expr.getExpr () , _c_72 };
    1280             _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_45)));
     1638            Expr[] _va_44 = { _c_56 , _ge_auxcall34.getExpr () , _c_55 , _ve_j_m_expr.getExpr () , _c_83 };
     1639            _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_44)));
    12811640            break _block2;
    12821641          }
     
    12911650            }
    12921651            Expr _v_deref__item14 = (Expr) _vt_item.at (0);
    1293             int _v_len51 = _v_deref__item14.getLen ();
    1294             int _v_len52 = 3;
    1295             if ((_v_len51 < _v_len52))
     1652            int _v_len53 = _v_deref__item14.getLen ();
     1653            int _v_len54 = 3;
     1654            if ((_v_len53 < _v_len54))
    12961655            {
    12971656              break _block2__branch16;
    12981657            }
    1299             int _v_len__expr4 = (_v_len51 - _v_len52);
     1658            int _v_len__expr4 = (_v_len53 - _v_len54);
    13001659            if (_v_deref__item14.symbolAt ((0 + 1 + 1 + _v_len__expr4)))
    13011660            {
     
    13031662            }
    13041663            Expr _v_deref__deref__item14 = (Expr) _v_deref__item14.at ((0 + 1 + 1 + _v_len__expr4));
    1305             int _v_len53 = _v_deref__deref__item14.getLen ();
    1306             int _v_len54 = 0;
    1307             if ((_v_len53 < _v_len54))
     1664            int _v_len55 = _v_deref__deref__item14.getLen ();
     1665            int _v_len56 = 0;
     1666            if ((_v_len55 < _v_len56))
    13081667            {
    13091668              break _block2__branch16;
    13101669            }
    1311             int _v_len__pos = (_v_len53 - _v_len54);
    1312             if (!_c_79.eq (_v_deref__item14, 0))
     1670            int _v_len__pos = (_v_len55 - _v_len56);
     1671            if (!_c_90.eq (_v_deref__item14, 0))
    13131672            {
    13141673              break _block2__branch16;
     
    13231682            Result _vs_acc = new Result ();
    13241683            Box.Box (Expr.empty, _vs_acc);
    1325             Result _va_46 = new Result ();
    1326             Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_pos, _va_46);
    1327             _ve_pos = _va_46.getExpr ();
     1684            Result _va_45 = new Result ();
     1685            Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_pos, _va_45);
     1686            _ve_pos = _va_45.getExpr ();
    13281687            Result _ge_auxcall35 = new Result ();
    13291688            Box._q_ (_vs_acc.getExpr (), _ge_auxcall35);
    13301689            Result _ge_auxcall36 = new Result ();
    13311690            JavaMangle.Rfp2Java (_vt_var, _ge_auxcall36);
    1332             Expr[] _va_48 = { _c_45 , _ge_auxcall36.getExpr () , _c_81 , _ve_j_m_expr.getExpr () , _c_80 , _ve_pos , _c_65 };
    1333             Expr[] _va_47 = { _ve_a.getExpr () , _ge_auxcall35.getExpr () , new Expr(Expr.concat (_va_48)) };
    1334             _ve_java_m_item = Expr.concat (_va_47);
     1691            Expr[] _va_47 = { _c_56 , _ge_auxcall36.getExpr () , _c_92 , _ve_j_m_expr.getExpr () , _c_91 , _ve_pos , _c_76 };
     1692            Expr[] _va_46 = { _ve_a.getExpr () , _ge_auxcall35.getExpr () , new Expr(Expr.concat (_va_47)) };
     1693            _ve_java_m_item = Expr.concat (_va_46);
    13351694            break _block2;
    13361695          }
     
    13451704            }
    13461705            Expr _v_deref__item15 = (Expr) _vt_item.at (0);
    1347             int _v_len55 = _v_deref__item15.getLen ();
    1348             int _v_len56 = 4;
    1349             if ((_v_len55 < _v_len56))
     1706            int _v_len57 = _v_deref__item15.getLen ();
     1707            int _v_len58 = 4;
     1708            if ((_v_len57 < _v_len58))
    13501709            {
    13511710              break _block2__branch17;
    13521711            }
    1353             int _v_len__expr5 = (_v_len55 - _v_len56);
     1712            int _v_len__expr5 = (_v_len57 - _v_len58);
    13541713            if (_v_deref__item15.symbolAt ((0 + 1 + 1 + _v_len__expr5)))
    13551714            {
     
    13621721            Expr _v_deref__deref__item15 = (Expr) _v_deref__item15.at ((0 + 1 + 1 + _v_len__expr5));
    13631722            Expr _v_deref__deref__item152 = (Expr) _v_deref__item15.at ((0 + 1 + 1 + _v_len__expr5 + 1));
    1364             int _v_len57 = _v_deref__deref__item152.getLen ();
    1365             int _v_len58 = 0;
    1366             if ((_v_len57 < _v_len58))
    1367             {
    1368               break _block2__branch17;
    1369             }
    1370             int _v_len__len = (_v_len57 - _v_len58);
    1371             int _v_len59 = _v_deref__deref__item15.getLen ();
     1723            int _v_len59 = _v_deref__deref__item152.getLen ();
    13721724            int _v_len60 = 0;
    13731725            if ((_v_len59 < _v_len60))
     
    13751727              break _block2__branch17;
    13761728            }
    1377             int _v_len__pos2 = (_v_len59 - _v_len60);
    1378             if (!_c_82.eq (_v_deref__item15, 0))
     1729            int _v_len__len = (_v_len59 - _v_len60);
     1730            int _v_len61 = _v_deref__deref__item15.getLen ();
     1731            int _v_len62 = 0;
     1732            if ((_v_len61 < _v_len62))
     1733            {
     1734              break _block2__branch17;
     1735            }
     1736            int _v_len__pos2 = (_v_len61 - _v_len62);
     1737            if (!_c_93.eq (_v_deref__item15, 0))
    13791738            {
    13801739              break _block2__branch17;
     
    13901749            Result _vs_acc = new Result ();
    13911750            Box.Box (Expr.empty, _vs_acc);
     1751            Result _va_48 = new Result ();
     1752            Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_pos, _va_48);
     1753            _ve_pos = _va_48.getExpr ();
    13921754            Result _va_49 = new Result ();
    1393             Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_pos, _va_49);
    1394             _ve_pos = _va_49.getExpr ();
    1395             Result _va_50 = new Result ();
    1396             Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_len, _va_50);
    1397             _ve_len = _va_50.getExpr ();
     1755            Expr_m_Int_m_To_m_JBC (_vs_acc.getExpr (), _ve_len, _va_49);
     1756            _ve_len = _va_49.getExpr ();
    13981757            Result _ge_auxcall37 = new Result ();
    13991758            Box._q_ (_vs_acc.getExpr (), _ge_auxcall37);
    14001759            Result _ge_auxcall38 = new Result ();
    14011760            JavaMangle.Rfp2Java (_vt_var, _ge_auxcall38);
    1402             Expr[] _va_52 = { _c_45 , _ge_auxcall38.getExpr () , _c_84 , _ve_j_m_expr.getExpr () , _c_83 , _ve_pos , _c_83 , _ve_len , _c_65 };
    1403             Expr[] _va_51 = { _ve_a.getExpr () , _ge_auxcall37.getExpr () , new Expr(Expr.concat (_va_52)) };
    1404             _ve_java_m_item = Expr.concat (_va_51);
     1761            Expr[] _va_51 = { _c_56 , _ge_auxcall38.getExpr () , _c_95 , _ve_j_m_expr.getExpr () , _c_94 , _ve_pos , _c_94 , _ve_len , _c_76 };
     1762            Expr[] _va_50 = { _ve_a.getExpr () , _ge_auxcall37.getExpr () , new Expr(Expr.concat (_va_51)) };
     1763            _ve_java_m_item = Expr.concat (_va_50);
    14051764            break _block2;
    14061765          }
     
    14191778              break _block2__branch18;
    14201779            }
    1421             if (!_c_85.eq (_v_deref__item16, 0))
     1780            if (!_c_96.eq (_v_deref__item16, 0))
    14221781            {
    14231782              break _block2__branch18;
     
    14261785            Result _ge_auxcall39 = new Result ();
    14271786            Var_m_To_m_JBC (_vt_var, _ge_auxcall39);
    1428             _ve_java_m_item = new Expr(new Expr (_ge_auxcall39.getExpr (), _c_86));
     1787            _ve_java_m_item = new Expr(new Expr (_ge_auxcall39.getExpr (), _c_97));
    14291788            break _block2;
    14301789          }
     
    14431802              break _block2__branch19;
    14441803            }
    1445             if (!_c_87.eq (_v_deref__item17, 0))
     1804            if (!_c_98.eq (_v_deref__item17, 0))
    14461805            {
    14471806              break _block2__branch19;
     
    14491808            Expr _vt_label = new Expr (_v_deref__item17, (0 + 1), 1);
    14501809            Result _ge_auxcall40 = new Result ();
    1451             JavaMangle.Rfp2Java (new Expr(new Expr (_c_39, _vt_label)), _ge_auxcall40);
    1452             Expr[] _va_53 = { _c_88 , _ge_auxcall40.getExpr () , _c_72 };
     1810            JavaMangle.Rfp2Java (new Expr(new Expr (_c_50, _vt_label)), _ge_auxcall40);
     1811            Expr[] _va_52 = { _c_99 , _ge_auxcall40.getExpr () , _c_83 };
     1812            _ve_java_m_item = new Expr(Expr.concat (_va_52));
     1813            break _block2;
     1814          }
     1815          _block2__branch20: {
     1816            if ((1 != 1))
     1817            {
     1818              break _block2__branch20;
     1819            }
     1820            if (_vt_item.symbolAt (0))
     1821            {
     1822              break _block2__branch20;
     1823            }
     1824            Expr _v_deref__item18 = (Expr) _vt_item.at (0);
     1825            if ((_v_deref__item18.getLen () != 2))
     1826            {
     1827              break _block2__branch20;
     1828            }
     1829            if (!_c_100.eq (_v_deref__item18, 0))
     1830            {
     1831              break _block2__branch20;
     1832            }
     1833            Expr _vt_label = new Expr (_v_deref__item18, (0 + 1), 1);
     1834            Result _ge_auxcall41 = new Result ();
     1835            JavaMangle.Rfp2Java (new Expr(new Expr (_c_50, _vt_label)), _ge_auxcall41);
     1836            Expr[] _va_53 = { _c_101 , _ge_auxcall41.getExpr () , _c_83 };
    14531837            _ve_java_m_item = new Expr(Expr.concat (_va_53));
    14541838            break _block2;
    14551839          }
    1456           _block2__branch20: {
    1457             if ((1 != 1))
    1458             {
    1459               break _block2__branch20;
    1460             }
    1461             if (_vt_item.symbolAt (0))
    1462             {
    1463               break _block2__branch20;
    1464             }
    1465             Expr _v_deref__item18 = (Expr) _vt_item.at (0);
    1466             if ((_v_deref__item18.getLen () != 2))
    1467             {
    1468               break _block2__branch20;
    1469             }
    1470             if (!_c_89.eq (_v_deref__item18, 0))
    1471             {
    1472               break _block2__branch20;
    1473             }
    1474             Expr _vt_label = new Expr (_v_deref__item18, (0 + 1), 1);
    1475             Result _ge_auxcall41 = new Result ();
    1476             JavaMangle.Rfp2Java (new Expr(new Expr (_c_39, _vt_label)), _ge_auxcall41);
    1477             Expr[] _va_54 = { _c_90 , _ge_auxcall41.getExpr () , _c_72 };
    1478             _ve_java_m_item = new Expr(Expr.concat (_va_54));
    1479             break _block2;
    1480           }
    14811840          _block2__branch21: {
    14821841            if ((1 != 1))
     
    14891848            }
    14901849            Expr _v_deref__item19 = (Expr) _vt_item.at (0);
    1491             int _v_len61 = _v_deref__item19.getLen ();
    1492             int _v_len62 = 1;
    1493             if ((_v_len61 < _v_len62))
     1850            int _v_len63 = _v_deref__item19.getLen ();
     1851            int _v_len64 = 1;
     1852            if ((_v_len63 < _v_len64))
    14941853            {
    14951854              break _block2__branch21;
    14961855            }
    1497             int _v_len__expr6 = (_v_len61 - _v_len62);
    1498             if (!_c_91.eq (_v_deref__item19, 0))
     1856            int _v_len__expr6 = (_v_len63 - _v_len64);
     1857            if (!_c_102.eq (_v_deref__item19, 0))
    14991858            {
    15001859              break _block2__branch21;
     
    15041863            Result _ve_j_m_expr = new Result ();
    15051864            Expr_m_Ref_m_To_m_JBC (_ve_expr, _ve_a, _ve_j_m_expr);
    1506             Expr[] _va_55 = { _c_92 , _ve_j_m_expr.getExpr () , _c_65 };
    1507             _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_55)));
     1865            Expr[] _va_54 = { _c_103 , _ve_j_m_expr.getExpr () , _c_76 };
     1866            _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_54)));
    15081867            break _block2;
    15091868          }
     
    15181877            }
    15191878            Expr _v_deref__item20 = (Expr) _vt_item.at (0);
    1520             int _v_len63 = _v_deref__item20.getLen ();
    1521             int _v_len64 = 4;
    1522             if ((_v_len63 < _v_len64))
     1879            int _v_len65 = _v_deref__item20.getLen ();
     1880            int _v_len66 = 4;
     1881            if ((_v_len65 < _v_len66))
    15231882            {
    15241883              break _block2__branch22;
    15251884            }
    1526             int _v_len__expr7 = (_v_len63 - _v_len64);
     1885            int _v_len__expr7 = (_v_len65 - _v_len66);
    15271886            if (_v_deref__item20.symbolAt ((0 + 1 + 1 + 1)))
    15281887            {
     
    15301889            }
    15311890            Expr _v_deref__deref__item20 = (Expr) _v_deref__item20.at ((0 + 1 + 1 + 1));
    1532             int _v_len65 = _v_deref__deref__item20.getLen ();
    1533             int _v_len66 = 0;
    1534             if ((_v_len65 < _v_len66))
     1891            int _v_len67 = _v_deref__deref__item20.getLen ();
     1892            int _v_len68 = 0;
     1893            if ((_v_len67 < _v_len68))
    15351894            {
    15361895              break _block2__branch22;
    15371896            }
    1538             int _v_len__comment = (_v_len65 - _v_len66);
    1539             if (!_c_93.eq (_v_deref__item20, 0))
     1897            int _v_len__comment = (_v_len67 - _v_len68);
     1898            if (!_c_24.eq (_v_deref__item20, 0))
    15401899            {
    15411900              break _block2__branch22;
     
    15611920                }
    15621921                Expr _v_deref__name = (Expr) _vt_name.at (0);
    1563                 int _v_len67 = _v_deref__name.getLen ();
    1564                 int _v_len68 = 1;
    1565                 if ((_v_len67 < _v_len68))
     1922                int _v_len69 = _v_deref__name.getLen ();
     1923                int _v_len70 = 1;
     1924                if ((_v_len69 < _v_len70))
    15661925                {
    15671926                  break _block12__branch1;
    15681927                }
    1569                 int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_252_m_27 = (_v_len67 - _v_len68);
    1570                 if (!_c_94.eq (_v_deref__name, 0))
     1928                int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_292_m_27 = (_v_len69 - _v_len70);
     1929                if (!_c_26.eq (_v_deref__name, 0))
    15711930                {
    15721931                  break _block12__branch1;
    15731932                }
    1574                 Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_252_m_27 = new Expr (_v_deref__name, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_252_m_27);
    1575                 Result _va_56 = new Result ();
    1576                 JavaMangle.Rfp2Java (_vt_name, _va_56);
    1577                 _ve_n = _va_56.getExpr ();
     1933                Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_292_m_27 = new Expr (_v_deref__name, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_292_m_27);
     1934                Result _va_55 = new Result ();
     1935                JavaMangle.Rfp2Java (_vt_name, _va_55);
     1936                _ve_n = _va_55.getExpr ();
    15781937                break _block12;
    15791938              }
    1580               Result _va_57 = new Result ();
    1581               Name_m_To_m_JBC (_vt_name, _va_57);
    1582               _ve_n = _va_57.getExpr ();
     1939              Result _va_56 = new Result ();
     1940              Name_m_To_m_JBC (_vt_name, _va_56);
     1941              _ve_n = _va_56.getExpr ();
    15831942            }
    15841943            Result _ve_a = new Result ();
    15851944            Result _ve_j_m_expr = new Result ();
    15861945            Const_m_Expr_m_To_m_JBC (_ve_expr, _ve_a, _ve_j_m_expr);
    1587             Result _ge_auxcall42 = new Result ();
    1588             Access_m_Mode (_vt_name, _ge_auxcall42);
    1589             Expr[] _va_58 = { _c_30 , _ge_auxcall42.getExpr () , _c_95 , _ve_n , _c_44 , _ve_j_m_expr.getExpr () , _c_72 };
    1590             _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_58)));
     1946            Result _gs_auxcall42 = new Result ();
     1947            Access_m_Mode (_vt_name, _gs_auxcall42);
     1948            Expr[] _va_57 = { _c_40 , _gs_auxcall42.getExpr () , _c_104 , _ve_n , _c_55 , _ve_j_m_expr.getExpr () , _c_83 };
     1949            _ve_java_m_item = new Expr (_ve_a.getExpr (), new Expr(Expr.concat (_va_57)));
    15911950            break _block2;
    15921951          }
     
    16051964              break _block2__branch23;
    16061965            }
    1607             if (!_c_96.eq (_v_deref__item21, 0))
     1966            if (!_c_27.eq (_v_deref__item21, 0))
    16081967            {
    16091968              break _block2__branch23;
     
    16221981            Result _v_To_m_Chars1 = new Result ();
    16231982            Convert.To_m_Chars (_vs_tag, _v_To_m_Chars1);
    1624             int _v_len69 = _v_To_m_Chars1.getExpr ().getLen ();
    1625             int _v_len70 = 1;
    1626             if ((_v_len69 < _v_len70))
     1983            int _v_len71 = _v_To_m_Chars1.getExpr ().getLen ();
     1984            int _v_len72 = 1;
     1985            if ((_v_len71 < _v_len72))
    16271986            {
    16281987              break _block1__branch1;
    16291988            }
    1630             int _v_len__2 = (_v_len69 - _v_len70);
     1989            int _v_len__2 = (_v_len71 - _v_len72);
    16311990            if (!_v_To_m_Chars1.getExpr ().symbolAt (0))
    16321991            {
     
    16371996            Result _v_To_m_Lower1 = new Result ();
    16381997            Convert.To_m_Lower (_ve_2, _v_To_m_Lower1);
    1639             Expr[] _va_59 = { _c_97 , _vs_1 , _v_To_m_Lower1.getExpr () };
    1640             Expr _ve_class_m_name = Expr.concat (_va_59);
    1641             Table.Bind (Inputs, new Expr (_c_98, _ve_class_m_name), Expr.empty);
     1998            Expr[] _va_58 = { _c_28 , _vs_1 , _v_To_m_Lower1.getExpr () };
     1999            Expr _ve_class_m_name = Expr.concat (_va_58);
     2000            Table.Bind (Inputs, new Expr (_c_29, _ve_class_m_name), Expr.empty);
    16422001            Result _ve_qualifiers = new Result ();
    16432002            Result _ve_n = new Result ();
    16442003            rfp__helper.RFP_m_Extract_m_Qualifiers (_vt_name, _ve_qualifiers, _ve_n);
    1645             Result _ge_auxcall43 = new Result ();
    1646             Access_m_Mode (_vt_name, _ge_auxcall43);
     2004            Result _gs_auxcall43 = new Result ();
     2005            Access_m_Mode (_vt_name, _gs_auxcall43);
    16472006            Result _ge_auxcall44 = new Result ();
    16482007            Name_m_To_m_JBC (_vt_name, _ge_auxcall44);
    1649             Expr[] _va_60 = { _c_30 , _ge_auxcall43.getExpr () , _c_95 , _ge_auxcall44.getExpr () , _c_101 , _ve_class_m_name , _c_100 , _ve_n.getExpr () , _c_99 };
    1650             _ve_java_m_item = new Expr(Expr.concat (_va_60));
     2008            Expr[] _va_59 = { _c_40 , _gs_auxcall43.getExpr () , _c_104 , _ge_auxcall44.getExpr () , _c_107 , _ve_class_m_name , _c_106 , _ve_n.getExpr () , _c_105 };
     2009            _ve_java_m_item = new Expr(Expr.concat (_va_59));
    16512010            break _block2;
    16522011          }
     
    16652024              break _block2__branch24;
    16662025            }
    1667             if (!_c_102.eq (_v_deref__item22, 0))
     2026            if (!_c_30.eq (_v_deref__item22, 0))
    16682027            {
    16692028              break _block2__branch24;
     
    16872046              break _block2__branch25;
    16882047            }
    1689             if (!_c_103.eq (_v_deref__item23, 0))
     2048            if (!_c_31.eq (_v_deref__item23, 0))
    16902049            {
    16912050              break _block2__branch25;
     
    17182077          Expr _v_deref__deref__item24 = (Expr) _v_deref__item24.at ((0 + 1 + 1));
    17192078          Expr _v_deref__deref__item242 = (Expr) _v_deref__item24.at ((0 + 1 + 1 + 1));
    1720           int _v_len71 = _v_deref__deref__item242.getLen ();
    1721           int _v_len72 = 0;
    1722           if ((_v_len71 < _v_len72))
    1723           {
    1724             throw new RefalException ("rfp_asail_jbc", "ASAIL_m_To_m_JBC", "Unexpected fail");
    1725           }
    1726           int _v_len__ress2 = (_v_len71 - _v_len72);
    1727           int _v_len73 = _v_deref__deref__item24.getLen ();
     2079          int _v_len73 = _v_deref__deref__item242.getLen ();
    17282080          int _v_len74 = 0;
    17292081          if ((_v_len73 < _v_len74))
     
    17312083            throw new RefalException ("rfp_asail_jbc", "ASAIL_m_To_m_JBC", "Unexpected fail");
    17322084          }
    1733           int _v_len__args2 = (_v_len73 - _v_len74);
     2085          int _v_len__ress2 = (_v_len73 - _v_len74);
     2086          int _v_len75 = _v_deref__deref__item24.getLen ();
     2087          int _v_len76 = 0;
     2088          if ((_v_len75 < _v_len76))
     2089          {
     2090            throw new RefalException ("rfp_asail_jbc", "ASAIL_m_To_m_JBC", "Unexpected fail");
     2091          }
     2092          int _v_len__args2 = (_v_len75 - _v_len76);
    17342093          if (!_v_deref__item24.symbolAt (0))
    17352094          {
     
    17412100          Expr _ve_ress = new Expr (_v_deref__deref__item242, 0, _v_len__ress2);
    17422101          Result _ve_decls = new Result ();
     2102          Result _va_60 = new Result ();
     2103          Declare_m_Results (_ve_ress, Expr.empty, _ve_decls, _va_60);
     2104          _ve_ress = _va_60.getExpr ();
     2105          Result _ve_arrays = new Result ();
     2106          Expr[] _va_62 = { _ve_args , _c_35 , _ve_ress };
    17432107          Result _va_61 = new Result ();
    1744           Declare_m_Results (_ve_ress, Expr.empty, _ve_decls, _va_61);
    1745           _ve_ress = _va_61.getExpr ();
    1746           Result _ve_arrays = new Result ();
    1747           Expr[] _va_63 = { _ve_args , _c_25 , _ve_ress };
    1748           Result _va_62 = new Result ();
    1749           Expr_m_Args_m_To_m_JBC (Expr.concat (_va_63), _ve_arrays, _va_62);
    1750           _ve_args = _va_62.getExpr ();
     2108          Expr_m_Args_m_To_m_JBC (Expr.concat (_va_62), _ve_arrays, _va_61);
     2109          _ve_args = _va_61.getExpr ();
    17512110          Result _ge_auxcall45 = new Result ();
    17522111          Name_m_To_m_JBC (_vt_name, _ge_auxcall45);
    1753           Expr[] _va_64 = { _ge_auxcall45.getExpr () , _c_28 , _ve_args , _c_36 };
    1754           Expr _ve_c = Expr.concat (_va_64);
     2112          Expr[] _va_63 = { _ge_auxcall45.getExpr () , _c_38 , _ve_args , _c_18 };
     2113          Expr _ve_c = Expr.concat (_va_63);
    17552114          _block13: {
    17562115            _block13__branch1: {
     
    17592118                break _block13__branch1;
    17602119              }
    1761               if (!_vs_call.eq (_c_104, 0))
     2120              if (!_vs_call.eq (_c_108, 0))
    17622121              {
    17632122                break _block13__branch1;
    17642123              }
    1765               Expr[] _va_66 = { _c_106 , _ve_c , _c_105 };
    1766               Expr[] _va_65 = { _ve_arrays.getExpr () , _ve_decls.getExpr () , new Expr(Expr.concat (_va_66)) };
    1767               _ve_java_m_item = Expr.concat (_va_65);
     2124              Expr[] _va_65 = { _c_110 , _ve_c , _c_109 };
     2125              Expr[] _va_64 = { _ve_arrays.getExpr () , _ve_decls.getExpr () , new Expr(Expr.concat (_va_65)) };
     2126              _ve_java_m_item = Expr.concat (_va_64);
    17682127              break _block13;
    17692128            }
     
    17712130            Box._q_ (Res_m_Assigns, _ge_auxcall46);
    17722131            Box.Store (Res_m_Assigns, Expr.empty);
    1773             Expr[] _va_67 = { _ve_arrays.getExpr () , _ve_decls.getExpr () , new Expr(new Expr (_ve_c, _c_72)) , _ge_auxcall46.getExpr () };
    1774             _ve_java_m_item = Expr.concat (_va_67);
     2132            Expr[] _va_66 = { _ve_arrays.getExpr () , _ve_decls.getExpr () , new Expr(new Expr (_ve_c, _c_83)) , _ge_auxcall46.getExpr () };
     2133            _ve_java_m_item = Expr.concat (_va_66);
    17752134          }
    17762135        }
     
    17862145            }
    17872146            Expr _v_deref__java_m_item = (Expr) _ve_java_m_item.at (0);
    1788             int _v_len75 = _v_deref__java_m_item.getLen ();
    1789             int _v_len76 = 6;
    1790             if ((_v_len75 < _v_len76))
     2147            int _v_len77 = _v_deref__java_m_item.getLen ();
     2148            int _v_len78 = 6;
     2149            if ((_v_len77 < _v_len78))
    17912150            {
    17922151              break _block14__branch1;
    17932152            }
    1794             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_282_m_32 = (_v_len75 - _v_len76);
    1795             if (!_c_90.eq (_v_deref__java_m_item, 0))
     2153            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_322_m_32 = (_v_len77 - _v_len78);
     2154            if (!_c_101.eq (_v_deref__java_m_item, 0))
    17962155            {
    17972156              break _block14__branch1;
    17982157            }
    1799             Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_282_m_32 = new Expr (_v_deref__java_m_item, (0 + 1 + 1 + 1 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_282_m_32);
     2158            Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_322_m_32 = new Expr (_v_deref__java_m_item, (0 + 1 + 1 + 1 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_322_m_32);
    18002159            _v_res1.assign (_ve_java_m_item);
    18012160            break _block14;
     
    18562215              break _block2__branch2;
    18572216            }
    1858             Expr.SplitIterator _va_68 = _v__q_1.getExpr ().leftSplit(0);
    1859             _exit1: _continue1: for ( ; ; _va_68.next ())
    1860             {
    1861               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_291_m_18 = _va_68.getLeft();
    1862               Expr _v_lsplit___q_1 = _va_68.getRight();
    1863               if (!_va_68.isValid ())
     2217            Expr.SplitIterator _va_67 = _v__q_1.getExpr ().leftSplit(0);
     2218            _exit1: _continue1: for ( ; ; _va_67.next ())
     2219            {
     2220              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_331_m_18 = _va_67.getLeft();
     2221              Expr _v_lsplit___q_1 = _va_67.getRight();
     2222              if (!_va_67.isValid ())
    18642223              {
    18652224                break _block2__branch2;
     
    18712230                break _block2__branch2;
    18722231              }
    1873               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_291_m_26 = (_v_len5 - _v_len6);
     2232              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_331_m_26 = (_v_len5 - _v_len6);
    18742233              if (!_vt_var.eq (_v_lsplit___q_1, 0))
    18752234              {
    18762235                continue _continue1;
    18772236              }
    1878               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_291_m_26 = new Expr (_v_lsplit___q_1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_291_m_26);
     2237              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_331_m_26 = new Expr (_v_lsplit___q_1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_331_m_26);
    18792238              Result _ge_auxcall2 = new Result ();
    18802239              JavaMangle.Rfp2Java (_vt_var, _ge_auxcall2);
     
    18862245          Result _v_Free_m_Index1 = new Result ();
    18872246          Free_m_Index (_v_Free_m_Index1);
    1888           Expr _ve_new_m_var = new Expr (_c_64, _v_Free_m_Index1.getExpr ());
     2247          Expr _ve_new_m_var = new Expr (_c_75, _v_Free_m_Index1.getExpr ());
    18892248          Result _ge_auxcall3 = new Result ();
    18902249          JavaMangle.Rfp2Java (_vt_var, _ge_auxcall3);
    1891           Expr[] _va_69 = { _ge_auxcall3.getExpr () , _c_44 , _ve_new_m_var , _c_107 };
    1892           Box.Put (Res_m_Assigns, new Expr(Expr.concat (_va_69)));
     2250          Expr[] _va_68 = { _ge_auxcall3.getExpr () , _c_55 , _ve_new_m_var , _c_111 };
     2251          Box.Put (Res_m_Assigns, new Expr(Expr.concat (_va_68)));
    18932252          Result _v_Declare_m_Results1 = new Result ();
    18942253          Declare_m_Results (_ve_r, new Expr (_ve_ress, new Expr(_ve_new_m_var)), _v_Declare_m_Results1, _v_res2);
    1895           Expr[] _va_70 = { _c_75 , _ve_new_m_var , _c_74 };
    1896           _v_res1.assign (new Expr (new Expr(Expr.concat (_va_70)), _v_Declare_m_Results1.getExpr ()));
     2254          Expr[] _va_69 = { _c_86 , _ve_new_m_var , _c_85 };
     2255          _v_res1.assign (new Expr (new Expr(Expr.concat (_va_69)), _v_Declare_m_Results1.getExpr ()));
    18972256        }
    18982257        break _block1;
     
    19062265      int _v_len__ress2 = (_v_len7 - _v_len8);
    19072266      Expr _v_compose2 = new Expr (new Expr(_ge_arg1), _ge_arg2);
    1908       if (!_c_14.eq (_v_compose2, 0))
     2267      if (!_c_43.eq (_v_compose2, 0))
    19092268      {
    19102269        throw new RefalException ("rfp_asail_jbc", "Declare_m_Results", "Unexpected fail");
     
    19472306        }
    19482307        int _v_len__expr = (_v_len3 - _v_len4);
    1949         if (!_c_108.eq (_v_deref__expr_m_all, 0))
     2308        if (!_c_112.eq (_v_deref__expr_m_all, 0))
    19502309        {
    19512310          break _block1__branch2;
     
    19762335        }
    19772336        int _v_len__expr2 = (_v_len7 - _v_len8);
    1978         if (!_c_78.eq (_v_deref__expr_m_all2, 0))
     2337        if (!_c_89.eq (_v_deref__expr_m_all2, 0))
    19792338        {
    19802339          break _block1__branch3;
     
    20052364        }
    20062365        int _v_len__expr3 = (_v_len11 - _v_len12);
    2007         if (!_c_79.eq (_v_deref__expr_m_all3, 0))
     2366        if (!_c_90.eq (_v_deref__expr_m_all3, 0))
    20082367        {
    20092368          break _block1__branch4;
     
    20342393        }
    20352394        int _v_len__expr4 = (_v_len15 - _v_len16);
    2036         if (!_c_82.eq (_v_deref__expr_m_all4, 0))
     2395        if (!_c_93.eq (_v_deref__expr_m_all4, 0))
    20372396        {
    20382397          break _block1__branch5;
     
    20632422        }
    20642423        int _v_len__expr5 = (_v_len19 - _v_len20);
    2065         if (!_c_109.eq (_v_deref__expr_m_all5, 0))
     2424        if (!_c_113.eq (_v_deref__expr_m_all5, 0))
    20662425        {
    20672426          break _block1__branch6;
     
    20702429        Expr _ve_expr = new Expr (_v_deref__expr_m_all5, (0 + 1), _v_len__expr5);
    20712430        Result _ge_auxcall1 = new Result ();
    2072         Expr_m_Int_m_To_m_JBC (_c_110, new Expr (_ve_init, _ve_expr_m_all), _ge_auxcall1);
     2431        Expr_m_Int_m_To_m_JBC (_c_114, new Expr (_ve_init, _ve_expr_m_all), _ge_auxcall1);
    20732432        _v_res1.assign (Expr.empty);
    20742433        _v_res2.assign (_ge_auxcall1.getExpr ());
     
    20952454        }
    20962455        int _v_len__args = (_v_len23 - _v_len24);
    2097         if (!_c_111.eq (_v_deref__expr_m_all6, 0))
     2456        if (!_c_115.eq (_v_deref__expr_m_all6, 0))
    20982457        {
    20992458          break _block1__branch7;
     
    21022461        Expr _ve_args = new Expr (_v_deref__expr_m_all6, (0 + 1), _v_len__args);
    21032462        Result _ge_auxcall2 = new Result ();
    2104         Expr_m_Int_m_To_m_JBC (_c_110, new Expr (_ve_init, _ve_expr_m_all), _ge_auxcall2);
     2463        Expr_m_Int_m_To_m_JBC (_c_114, new Expr (_ve_init, _ve_expr_m_all), _ge_auxcall2);
    21052464        _v_res1.assign (Expr.empty);
    21062465        _v_res2.assign (_ge_auxcall2.getExpr ());
     
    21272486        }
    21282487        int _v_len__args2 = (_v_len27 - _v_len28);
    2129         if (!_c_112.eq (_v_deref__expr_m_all7, 0))
     2488        if (!_c_116.eq (_v_deref__expr_m_all7, 0))
    21302489        {
    21312490          break _block1__branch8;
     
    21342493        Expr _ve_args = new Expr (_v_deref__expr_m_all7, (0 + 1), _v_len__args2);
    21352494        Result _ge_auxcall3 = new Result ();
    2136         Expr_m_Int_m_To_m_JBC (_c_110, new Expr (_ve_init, _ve_expr_m_all), _ge_auxcall3);
     2495        Expr_m_Int_m_To_m_JBC (_c_114, new Expr (_ve_init, _ve_expr_m_all), _ge_auxcall3);
    21372496        _v_res1.assign (Expr.empty);
    21382497        _v_res2.assign (_ge_auxcall3.getExpr ());
     
    21592518        }
    21602519        int _v_len__args3 = (_v_len31 - _v_len32);
    2161         if (!_c_113.eq (_v_deref__expr_m_all8, 0))
     2520        if (!_c_117.eq (_v_deref__expr_m_all8, 0))
    21622521        {
    21632522          break _block1__branch9;
     
    21712530        Expr _ve_args = new Expr (_v_deref__expr_m_all8, (0 + 1 + 1), _v_len__args3);
    21722531        Result _ge_auxcall4 = new Result ();
    2173         Expr_m_Int_m_To_m_JBC (_c_110, new Expr (_ve_init, _ve_expr_m_all), _ge_auxcall4);
     2532        Expr_m_Int_m_To_m_JBC (_c_114, new Expr (_ve_init, _ve_expr_m_all), _ge_auxcall4);
    21742533        _v_res1.assign (Expr.empty);
    21752534        _v_res2.assign (_ge_auxcall4.getExpr ());
     
    22242583        }
    22252584        _v_res1.assign (Expr.empty);
    2226         _v_res2.assign (_c_114);
     2585        _v_res2.assign (_c_118);
    22272586        break _block1;
    22282587      }
     
    22592618        Box._q_ (_vs_acc.getExpr (), _ge_auxcall2);
    22602619        _v_res1.assign (_ge_auxcall2.getExpr ());
    2261         Expr[] _va_71 = { _c_115 , _ve_t1.getExpr () , _c_83 , _ve_t2.getExpr () , _c_36 };
    2262         _v_res2.assign (Expr.concat (_va_71));
     2620        Expr[] _va_70 = { _c_119 , _ve_t1.getExpr () , _c_94 , _ve_t2.getExpr () , _c_18 };
     2621        _v_res2.assign (Expr.concat (_va_70));
    22632622        break _block1;
    22642623      }
    22652624      Result _v_Free_m_Index1 = new Result ();
    22662625      Free_m_Index (_v_Free_m_Index1);
    2267       Expr _ve_new_m_var = new Expr (_c_64, _v_Free_m_Index1.getExpr ());
     2626      Expr _ve_new_m_var = new Expr (_c_75, _v_Free_m_Index1.getExpr ());
    22682627      Result _vs_acc = new Result ();
    22692628      Box.Box (Expr.empty, _vs_acc);
     
    22712630      List.Paren (_ge_arg1, _ge_auxcall3);
    22722631      Result _ve_arr_m_init = new Result ();
    2273       Infix_m_To_m_JBC (_vs_acc.getExpr (), _c_116, _c_117, _ge_auxcall3.getExpr (), _ve_arr_m_init);
     2632      Infix_m_To_m_JBC (_vs_acc.getExpr (), _c_120, _c_121, _ge_auxcall3.getExpr (), _ve_arr_m_init);
    22742633      Result _ge_auxcall4 = new Result ();
    22752634      Box._q_ (_vs_acc.getExpr (), _ge_auxcall4);
    2276       Expr[] _va_72 = { _c_120 , _ve_new_m_var , _c_119 , _ve_arr_m_init.getExpr () , _c_118 };
    2277       _v_res1.assign (new Expr (_ge_auxcall4.getExpr (), new Expr(Expr.concat (_va_72))));
    2278       Expr[] _va_73 = { _c_121 , _ve_new_m_var , _c_36 };
    2279       _v_res2.assign (Expr.concat (_va_73));
     2635      Expr[] _va_71 = { _c_124 , _ve_new_m_var , _c_123 , _ve_arr_m_init.getExpr () , _c_122 };
     2636      _v_res1.assign (new Expr (_ge_auxcall4.getExpr (), new Expr(Expr.concat (_va_71))));
     2637      Expr[] _va_72 = { _c_125 , _ve_new_m_var , _c_18 };
     2638      _v_res2.assign (Expr.concat (_va_72));
    22802639    }
    22812640  }
     
    23012660        }
    23022661        int _v_len__expr = (_v_len1 - _v_len2);
    2303         if (!_c_108.eq (_v_deref__erm, 0))
     2662        if (!_c_112.eq (_v_deref__erm, 0))
    23042663        {
    23052664          break _block1__branch1;
     
    23102669        Expr_m_Ref_m_To_m_JBC (_ve_expr, _ve_a, _ve_j_m_expr);
    23112670        Box.Put (_vs_acc, _ve_a.getExpr ());
    2312         Expr[] _va_74 = { _c_122 , _ve_j_m_expr.getExpr () , _c_36 };
    2313         _v_res1.assign (Expr.concat (_va_74));
     2671        Expr[] _va_73 = { _c_126 , _ve_j_m_expr.getExpr () , _c_18 };
     2672        _v_res1.assign (Expr.concat (_va_73));
    23142673        break _block1;
    23152674      }
     
    23432702        }
    23442703        int _v_len__pos = (_v_len5 - _v_len6);
    2345         if (!_c_79.eq (_v_deref__erm2, 0))
     2704        if (!_c_90.eq (_v_deref__erm2, 0))
    23462705        {
    23472706          break _block1__branch2;
     
    23532712        Expr_m_Ref_m_To_m_JBC (_ve_expr, _ve_a, _ve_j_m_expr);
    23542713        Box.Put (_vs_acc, _ve_a.getExpr ());
    2355         Result _va_75 = new Result ();
    2356         Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_pos, _va_75);
    2357         _ve_pos = _va_75.getExpr ();
    2358         Expr[] _va_76 = { _c_123 , _ve_j_m_expr.getExpr () , _c_80 , _ve_pos , _c_36 };
    2359         _v_res1.assign (Expr.concat (_va_76));
     2714        Result _va_74 = new Result ();
     2715        Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_pos, _va_74);
     2716        _ve_pos = _va_74.getExpr ();
     2717        Expr[] _va_75 = { _c_127 , _ve_j_m_expr.getExpr () , _c_91 , _ve_pos , _c_18 };
     2718        _v_res1.assign (Expr.concat (_va_75));
    23602719        break _block1;
    23612720      }
     
    24012760        }
    24022761        int _v_len__pos2 = (_v_len11 - _v_len12);
    2403         if (!_c_82.eq (_v_deref__erm3, 0))
     2762        if (!_c_93.eq (_v_deref__erm3, 0))
    24042763        {
    24052764          break _block1__branch3;
     
    24122771        Expr_m_Ref_m_To_m_JBC (_ve_expr, _ve_a, _ve_j_m_expr);
    24132772        Box.Put (_vs_acc, _ve_a.getExpr ());
     2773        Result _va_76 = new Result ();
     2774        Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_pos, _va_76);
     2775        _ve_pos = _va_76.getExpr ();
    24142776        Result _va_77 = new Result ();
    2415         Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_pos, _va_77);
    2416         _ve_pos = _va_77.getExpr ();
    2417         Result _va_78 = new Result ();
    2418         Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_len, _va_78);
    2419         _ve_len = _va_78.getExpr ();
    2420         Expr[] _va_79 = { _c_115 , _ve_j_m_expr.getExpr () , _c_83 , _ve_pos , _c_83 , _ve_len , _c_36 };
    2421         _v_res1.assign (Expr.concat (_va_79));
     2777        Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_len, _va_77);
     2778        _ve_len = _va_77.getExpr ();
     2779        Expr[] _va_78 = { _c_119 , _ve_j_m_expr.getExpr () , _c_94 , _ve_pos , _c_94 , _ve_len , _c_18 };
     2780        _v_res1.assign (Expr.concat (_va_78));
    24222781        break _block1;
    24232782      }
     
    24362795          break _block1__branch4;
    24372796        }
    2438         if (!_c_124.eq (_v_deref__erm4, 0))
     2797        if (!_c_128.eq (_v_deref__erm4, 0))
    24392798        {
    24402799          break _block1__branch4;
     
    24492808          break _block1__branch5;
    24502809        }
    2451         if (!_vt_erm.eq (_c_125, 0))
     2810        if (!_vt_erm.eq (_c_129, 0))
    24522811        {
    24532812          break _block1__branch5;
    24542813        }
    2455         _v_res1.assign (_c_126);
     2814        _v_res1.assign (_c_130);
    24562815        break _block1;
    24572816      }
     
    25052864            break _block2;
    25062865          }
    2507           throw new RefalException (new Expr(new Expr (_c_127, _vs_ObjectSymbol)));
     2866          throw new RefalException (new Expr(new Expr (_c_131, _vs_ObjectSymbol)));
    25082867        }
    25092868        break _block1;
     
    25262885        }
    25272886        int _v_len__expr = (_v_len1 - _v_len2);
    2528         if (!_c_109.eq (_v_deref__xpr, 0))
     2887        if (!_c_113.eq (_v_deref__xpr, 0))
    25292888        {
    25302889          break _block1__branch2;
     
    25352894        Expr_m_Ref_m_To_m_JBC (_ve_expr, _ve_a, _ve_j_m_expr);
    25362895        Box.Put (_vs_acc, _ve_a.getExpr ());
    2537         _v_res1.assign (new Expr (_ve_j_m_expr.getExpr (), _c_128));
     2896        _v_res1.assign (new Expr (_ve_j_m_expr.getExpr (), _c_132));
    25382897        break _block1;
    25392898      }
     
    25552914        }
    25562915        int _v_len__args = (_v_len3 - _v_len4);
    2557         if (!_c_111.eq (_v_deref__xpr2, 0))
     2916        if (!_c_115.eq (_v_deref__xpr2, 0))
    25582917        {
    25592918          break _block1__branch3;
     
    25622921        Result _ge_auxcall1 = new Result ();
    25632922        Int_m_Args_m_To_m_JBC (_vs_acc, _ve_args, _ge_auxcall1);
    2564         Expr[] _va_80 = { _c_129 , _ge_auxcall1.getExpr () , _c_36 };
    2565         _v_res1.assign (Expr.concat (_va_80));
     2923        Expr[] _va_79 = { _c_133 , _ge_auxcall1.getExpr () , _c_18 };
     2924        _v_res1.assign (Expr.concat (_va_79));
    25662925        break _block1;
    25672926      }
     
    25832942        }
    25842943        int _v_len__args2 = (_v_len5 - _v_len6);
    2585         if (!_c_112.eq (_v_deref__xpr3, 0))
     2944        if (!_c_116.eq (_v_deref__xpr3, 0))
    25862945        {
    25872946          break _block1__branch4;
     
    25902949        Result _ge_auxcall2 = new Result ();
    25912950        Int_m_Args_m_To_m_JBC (_vs_acc, _ve_args, _ge_auxcall2);
    2592         Expr[] _va_81 = { _c_130 , _ge_auxcall2.getExpr () , _c_36 };
    2593         _v_res1.assign (Expr.concat (_va_81));
     2951        Expr[] _va_80 = { _c_134 , _ge_auxcall2.getExpr () , _c_18 };
     2952        _v_res1.assign (Expr.concat (_va_80));
    25942953        break _block1;
    25952954      }
     
    26112970        }
    26122971        int _v_len__args3 = (_v_len7 - _v_len8);
    2613         if (!_c_113.eq (_v_deref__xpr4, 0))
     2972        if (!_c_117.eq (_v_deref__xpr4, 0))
    26142973        {
    26152974          break _block1__branch5;
     
    26222981        Expr _ve_args = new Expr (_v_deref__xpr4, (0 + 1 + 1), _v_len__args3);
    26232982        Result _ge_auxcall3 = new Result ();
    2624         Infix_m_To_m_JBC (_vs_acc, _c_131, _vs_op, _ve_args, _ge_auxcall3);
    2625         Expr[] _va_82 = { _c_132 , _ge_auxcall3.getExpr () , _c_36 };
    2626         _v_res1.assign (Expr.concat (_va_82));
     2983        Infix_m_To_m_JBC (_vs_acc, _c_135, _vs_op, _ve_args, _ge_auxcall3);
     2984        Expr[] _va_81 = { _c_19 , _ge_auxcall3.getExpr () , _c_18 };
     2985        _v_res1.assign (Expr.concat (_va_81));
    26272986        break _block1;
    26282987      }
     
    26613020      List.Paren (_ve_xpr, _ge_auxcall4);
    26623021      Result _ge_auxcall5 = new Result ();
    2663       Infix_m_To_m_JBC (_vs_acc, _c_131, _c_133, _ge_auxcall4.getExpr (), _ge_auxcall5);
    2664       Expr[] _va_83 = { _c_132 , _ge_auxcall5.getExpr () , _c_36 };
    2665       _v_res1.assign (Expr.concat (_va_83));
     3022      Infix_m_To_m_JBC (_vs_acc, _c_135, _c_136, _ge_auxcall4.getExpr (), _ge_auxcall5);
     3023      Expr[] _va_82 = { _c_19 , _ge_auxcall5.getExpr () , _c_18 };
     3024      _v_res1.assign (Expr.concat (_va_82));
    26663025    }
    26673026  }
     
    27163075        }
    27173076        int _v_len__args = (_v_len3 - _v_len4);
    2718         if (!_c_34.eq (_v_deref__xpr, 0))
     3077        if (!_c_46.eq (_v_deref__xpr, 0))
    27193078        {
    27203079          break _block1__branch2;
     
    27243083        Expr _ve_ress = new Expr (_v_deref__deref__xpr2, 0, _v_len__ress);
    27253084        Result _ve_decls = new Result ();
     3085        Result _va_83 = new Result ();
     3086        Declare_m_Results (_ve_ress, Expr.empty, _ve_decls, _va_83);
     3087        _ve_ress = _va_83.getExpr ();
     3088        Result _ve_arrays = new Result ();
     3089        Expr[] _va_85 = { _ve_args , _c_35 , _ve_ress };
    27263090        Result _va_84 = new Result ();
    2727         Declare_m_Results (_ve_ress, Expr.empty, _ve_decls, _va_84);
    2728         _ve_ress = _va_84.getExpr ();
    2729         Result _ve_arrays = new Result ();
    2730         Expr[] _va_86 = { _ve_args , _c_25 , _ve_ress };
    2731         Result _va_85 = new Result ();
    2732         Expr_m_Args_m_To_m_JBC (Expr.concat (_va_86), _ve_arrays, _va_85);
    2733         _ve_args = _va_85.getExpr ();
     3091        Expr_m_Args_m_To_m_JBC (Expr.concat (_va_85), _ve_arrays, _va_84);
     3092        _ve_args = _va_84.getExpr ();
    27343093        Box.Put (_vs_acc, new Expr (_ve_arrays.getExpr (), _ve_decls.getExpr ()));
    27353094        Result _ge_auxcall1 = new Result ();
    27363095        Name_m_To_m_JBC (_vt_name, _ge_auxcall1);
    2737         Expr[] _va_87 = { _ge_auxcall1.getExpr () , _c_28 , _ve_args , _c_36 };
    2738         _v_res1.assign (Expr.concat (_va_87));
     3096        Expr[] _va_86 = { _ge_auxcall1.getExpr () , _c_38 , _ve_args , _c_18 };
     3097        _v_res1.assign (Expr.concat (_va_86));
    27393098        break _block1;
    27403099      }
     
    27683127        }
    27693128        int _v_len__pos = (_v_len7 - _v_len8);
    2770         if (!_c_134.eq (_v_deref__xpr2, 0))
     3129        if (!_c_137.eq (_v_deref__xpr2, 0))
    27713130        {
    27723131          break _block1__branch3;
     
    27803139        Result _ge_auxcall2 = new Result ();
    27813140        Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_pos, _ge_auxcall2);
    2782         Expr[] _va_88 = { _ve_j_m_expr.getExpr () , _c_135 , _ge_auxcall2.getExpr () , _c_36 };
    2783         _v_res1.assign (Expr.concat (_va_88));
     3141        Expr[] _va_87 = { _ve_j_m_expr.getExpr () , _c_138 , _ge_auxcall2.getExpr () , _c_18 };
     3142        _v_res1.assign (Expr.concat (_va_87));
    27843143        break _block1;
    27853144      }
     
    28013160        }
    28023161        int _v_len__expr2 = (_v_len9 - _v_len10);
    2803         if (!_c_136.eq (_v_deref__xpr3, 0))
     3162        if (!_c_139.eq (_v_deref__xpr3, 0))
    28043163        {
    28053164          break _block1__branch4;
     
    28123171        }
    28133172        Result _ge_auxcall4 = new Result ();
    2814         if (!Access.Middle (_c_137, _c_6, _ge_auxcall3.getExpr (), _ge_auxcall4))
     3173        if (!Access.Middle (_c_140, _c_7, _ge_auxcall3.getExpr (), _ge_auxcall4))
    28153174        {
    28163175          throw new RefalException ("rfp_asail_jbc", "Cond_m_To_m_JBC", "Unexpected fail");
    28173176        }
    2818         _v_res1.assign (new Expr (_ge_auxcall4.getExpr (), _c_138));
     3177        _v_res1.assign (new Expr (_ge_auxcall4.getExpr (), _c_141));
    28193178        break _block1;
    28203179      }
     
    28603219        }
    28613220        int _v_len__expr22 = (_v_len15 - _v_len16);
    2862         if (!_c_139.eq (_v_deref__xpr4, 0))
     3221        if (!_c_142.eq (_v_deref__xpr4, 0))
    28633222        {
    28643223          break _block1__branch5;
     
    28763235        Result _ge_auxcall5 = new Result ();
    28773236        Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_pos, _ge_auxcall5);
    2878         Expr[] _va_89 = { _ve_j_m_expr1.getExpr () , _c_140 , _ve_j_m_expr2.getExpr () , _c_83 , _ge_auxcall5.getExpr () , _c_36 };
    2879         _v_res1.assign (Expr.concat (_va_89));
     3237        Expr[] _va_88 = { _ve_j_m_expr1.getExpr () , _c_143 , _ve_j_m_expr2.getExpr () , _c_94 , _ge_auxcall5.getExpr () , _c_18 };
     3238        _v_res1.assign (Expr.concat (_va_88));
    28803239        break _block1;
    28813240      }
     
    29213280        }
    29223281        int _v_len__expr23 = (_v_len21 - _v_len22);
    2923         if (!_c_141.eq (_v_deref__xpr5, 0))
     3282        if (!_c_144.eq (_v_deref__xpr5, 0))
    29243283        {
    29253284          break _block1__branch6;
     
    29373296        Result _ge_auxcall6 = new Result ();
    29383297        Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_pos, _ge_auxcall6);
    2939         Expr[] _va_90 = { _ve_j_m_expr1.getExpr () , _c_140 , _ve_j_m_expr2.getExpr () , _c_83 , _ge_auxcall6.getExpr () , _c_36 };
    2940         _v_res1.assign (Expr.concat (_va_90));
     3298        Expr[] _va_89 = { _ve_j_m_expr1.getExpr () , _c_143 , _ve_j_m_expr2.getExpr () , _c_94 , _ge_auxcall6.getExpr () , _c_18 };
     3299        _v_res1.assign (Expr.concat (_va_89));
    29413300        break _block1;
    29423301      }
     
    29583317        }
    29593318        int _v_len__cond = (_v_len23 - _v_len24);
    2960         if (!_c_35.eq (_v_deref__xpr6, 0))
     3319        if (!_c_47.eq (_v_deref__xpr6, 0))
    29613320        {
    29623321          break _block1__branch7;
     
    29653324        Result _v_Cond_m_To_m_JBC1 = new Result ();
    29663325        Cond_m_To_m_JBC (_vs_acc, _ve_cond, _v_Cond_m_To_m_JBC1);
    2967         _v_res1.assign (new Expr (_c_142, _v_Cond_m_To_m_JBC1.getExpr ()));
     3326        _v_res1.assign (new Expr (_c_145, _v_Cond_m_To_m_JBC1.getExpr ()));
    29683327        break _block1;
    29693328      }
     
    29853344        }
    29863345        int _v_len__args2 = (_v_len25 - _v_len26);
    2987         if (!_c_113.eq (_v_deref__xpr7, 0))
     3346        if (!_c_117.eq (_v_deref__xpr7, 0))
    29883347        {
    29893348          break _block1__branch8;
     
    30033362                  break _block3__branch1;
    30043363                }
    3005                 if (!_vs_op.eq (_c_133, 0))
     3364                if (!_vs_op.eq (_c_136, 0))
    30063365                {
    30073366                  break _block3__branch1;
     
    30143373                  break _block3__branch2;
    30153374                }
    3016                 if (!_vs_op.eq (_c_143, 0))
     3375                if (!_vs_op.eq (_c_146, 0))
    30173376                {
    30183377                  break _block3__branch2;
     
    30253384                  break _block3__branch3;
    30263385                }
    3027                 if (!_vs_op.eq (_c_144, 0))
     3386                if (!_vs_op.eq (_c_147, 0))
    30283387                {
    30293388                  break _block3__branch3;
     
    30363395                  break _block3__branch4;
    30373396                }
    3038                 if (!_vs_op.eq (_c_145, 0))
     3397                if (!_vs_op.eq (_c_148, 0))
    30393398                {
    30403399                  break _block3__branch4;
     
    30463405                break _block2__branch1;
    30473406              }
    3048               if (!_vs_op.eq (_c_146, 0))
     3407              if (!_vs_op.eq (_c_149, 0))
    30493408              {
    30503409                break _block2__branch1;
     
    30523411            }
    30533412            Result _ge_auxcall7 = new Result ();
    3054             Infix_m_To_m_JBC (_vs_acc, _c_131, _vs_op, _ve_args, _ge_auxcall7);
    3055             _v_res1.assign (new Expr (_ge_auxcall7.getExpr (), _c_147));
     3413            Infix_m_To_m_JBC (_vs_acc, _c_135, _vs_op, _ve_args, _ge_auxcall7);
     3414            _v_res1.assign (new Expr (_ge_auxcall7.getExpr (), _c_150));
    30563415            break _block2;
    30573416          }
     
    30603419          Result _ge_auxcall9 = new Result ();
    30613420          Infix_m_To_m_JBC (_vs_acc, _gs_auxcall8.getExpr (), _vs_op, _ve_args, _ge_auxcall9);
    3062           Expr[] _va_91 = { _c_132 , _ge_auxcall9.getExpr () , _c_36 };
    3063           _v_res1.assign (Expr.concat (_va_91));
     3421          Expr[] _va_90 = { _c_19 , _ge_auxcall9.getExpr () , _c_18 };
     3422          _v_res1.assign (Expr.concat (_va_90));
    30643423        }
    30653424        break _block1;
     
    30763435      List.Paren (_ve_xpr, _ge_auxcall10);
    30773436      Result _ge_auxcall11 = new Result ();
    3078       Infix_m_To_m_JBC (_vs_acc, _c_148, _c_149, _ge_auxcall10.getExpr (), _ge_auxcall11);
    3079       Expr[] _va_92 = { _c_132 , _ge_auxcall11.getExpr () , _c_36 };
    3080       _v_res1.assign (Expr.concat (_va_92));
     3437      Infix_m_To_m_JBC (_vs_acc, _c_151, _c_152, _ge_auxcall10.getExpr (), _ge_auxcall11);
     3438      Expr[] _va_91 = { _c_19 , _ge_auxcall11.getExpr () , _c_18 };
     3439      _v_res1.assign (Expr.concat (_va_91));
    30813440    }
    30823441  }
     
    31073466        Expr _ve_rest = new Expr (_ve_args, (0 + 1), _v_len__rest);
    31083467        Expr _ve_arg = new Expr (_v_deref__args, 0, _v_len__arg);
     3468        Result _va_92 = new Result ();
     3469        if (!Apply.Apply (_vs_arg2java, new Expr (_vs_acc, _ve_arg), _va_92))
     3470        {
     3471          throw new RefalException ("rfp_asail_jbc", "Infix_m_To_m_JBC", "Unexpected fail");
     3472        }
     3473        _ve_arg = _va_92.getExpr ();
    31093474        Result _va_93 = new Result ();
    3110         if (!Apply.Apply (_vs_arg2java, new Expr (_vs_acc, _ve_arg), _va_93))
    3111         {
    3112           throw new RefalException ("rfp_asail_jbc", "Infix_m_To_m_JBC", "Unexpected fail");
    3113         }
    3114         _ve_arg = _va_93.getExpr ();
    3115         Result _va_94 = new Result ();
    3116         Infix_m_To_m_JBC (_vs_acc, _vs_arg2java, _vs_op, _ve_rest, _va_94);
    3117         _ve_rest = _va_94.getExpr ();
     3475        Infix_m_To_m_JBC (_vs_acc, _vs_arg2java, _vs_op, _ve_rest, _va_93);
     3476        _ve_rest = _va_93.getExpr ();
    31183477        _block2: {
    31193478          _block2__branch1: {
     
    31243483              break _block2__branch1;
    31253484            }
    3126             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_423_m_28 = (_v_len5 - _v_len6);
     3485            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_463_m_28 = (_v_len5 - _v_len6);
    31273486            int _v_len7 = _ve_arg.getLen ();
    31283487            int _v_len8 = 0;
     
    31313490              break _block2__branch1;
    31323491            }
    3133             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_423_m_16 = (_v_len7 - _v_len8);
    3134             Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_423_m_16 = new Expr (_ve_arg, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_423_m_16);
    3135             Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_423_m_28 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_423_m_28);
    3136             Expr[] _va_95 = { _ve_arg , _c_29 , _vs_op , _c_29 , _ve_rest };
    3137             _v_res1.assign (Expr.concat (_va_95));
     3492            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_463_m_16 = (_v_len7 - _v_len8);
     3493            Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_463_m_16 = new Expr (_ve_arg, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_463_m_16);
     3494            Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_463_m_28 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_463_m_28);
     3495            Expr[] _va_94 = { _ve_arg , _c_39 , _vs_op , _c_39 , _ve_rest };
     3496            _v_res1.assign (Expr.concat (_va_94));
    31383497            break _block2;
    31393498          }
     
    31563515              break _block2__branch1;
    31573516            }
    3158             if (!_vs_op.eq (_c_149, 0))
     3517            if (!_vs_op.eq (_c_152, 0))
    31593518            {
    31603519              break _block2__branch1;
     
    31663525            break _block1__branch1;
    31673526          }
    3168           if (!_vs_op.eq (_c_150, 0))
     3527          if (!_vs_op.eq (_c_153, 0))
    31693528          {
    31703529            break _block1__branch1;
    31713530          }
    31723531        }
    3173         _v_res1.assign (_c_148);
     3532        _v_res1.assign (_c_151);
    31743533        break _block1;
    31753534      }
     
    31803539            break _block3__branch1;
    31813540          }
    3182           if (!_vs_op.eq (_c_151, 0))
     3541          if (!_vs_op.eq (_c_154, 0))
    31833542          {
    31843543            break _block3__branch1;
     
    31913550            break _block3__branch2;
    31923551          }
    3193           if (!_vs_op.eq (_c_152, 0))
     3552          if (!_vs_op.eq (_c_155, 0))
    31943553          {
    31953554            break _block3__branch2;
     
    32023561            break _block3__branch3;
    32033562          }
    3204           if (!_vs_op.eq (_c_153, 0))
     3563          if (!_vs_op.eq (_c_156, 0))
    32053564          {
    32063565            break _block3__branch3;
     
    32133572            break _block3__branch4;
    32143573          }
    3215           if (!_vs_op.eq (_c_154, 0))
     3574          if (!_vs_op.eq (_c_157, 0))
    32163575          {
    32173576            break _block3__branch4;
     
    32243583            break _block3__branch5;
    32253584          }
    3226           if (!_vs_op.eq (_c_155, 0))
     3585          if (!_vs_op.eq (_c_158, 0))
    32273586          {
    32283587            break _block3__branch5;
     
    32353594            break _block3__branch6;
    32363595          }
    3237           if (!_vs_op.eq (_c_156, 0))
     3596          if (!_vs_op.eq (_c_159, 0))
    32383597          {
    32393598            break _block3__branch6;
     
    32463605            break _block3__branch7;
    32473606          }
    3248           if (!_vs_op.eq (_c_133, 0))
     3607          if (!_vs_op.eq (_c_136, 0))
    32493608          {
    32503609            break _block3__branch7;
     
    32573616            break _block3__branch8;
    32583617          }
    3259           if (!_vs_op.eq (_c_143, 0))
     3618          if (!_vs_op.eq (_c_146, 0))
    32603619          {
    32613620            break _block3__branch8;
     
    32683627            break _block3__branch9;
    32693628          }
    3270           if (!_vs_op.eq (_c_144, 0))
     3629          if (!_vs_op.eq (_c_147, 0))
    32713630          {
    32723631            break _block3__branch9;
     
    32793638            break _block3__branch10;
    32803639          }
    3281           if (!_vs_op.eq (_c_145, 0))
     3640          if (!_vs_op.eq (_c_148, 0))
    32823641          {
    32833642            break _block3__branch10;
     
    32893648          throw new RefalException ("rfp_asail_jbc", "Op_m_Arg_m_To_m_JBC", "Unexpected fail");
    32903649        }
    3291         if (!_vs_op.eq (_c_146, 0))
     3650        if (!_vs_op.eq (_c_149, 0))
    32923651        {
    32933652          throw new RefalException ("rfp_asail_jbc", "Op_m_Arg_m_To_m_JBC", "Unexpected fail");
    32943653        }
    32953654      }
    3296       _v_res1.assign (_c_131);
     3655      _v_res1.assign (_c_135);
    32973656    }
    32983657  }
     
    33263685        }
    33273686        int _v_len__expr = (_v_len1 - _v_len2);
    3328         if (!_c_41.eq (_v_deref__arg1, 0))
     3687        if (!_c_52.eq (_v_deref__arg1, 0))
    33293688        {
    33303689          break _block1__branch2;
     
    33373696        }
    33383697        Result _ge_auxcall2 = new Result ();
    3339         if (!Access.Middle (_c_137, _c_6, _ge_auxcall1.getExpr (), _ge_auxcall2))
     3698        if (!Access.Middle (_c_140, _c_7, _ge_auxcall1.getExpr (), _ge_auxcall2))
    33403699        {
    33413700          throw new RefalException ("rfp_asail_jbc", "Step_m_To_m_JBC", "Unexpected fail");
    33423701        }
    3343         _v_res1.assign (new Expr (_ge_auxcall2.getExpr (), _c_157));
     3702        _v_res1.assign (new Expr (_ge_auxcall2.getExpr (), _c_160));
    33443703        break _block1;
    33453704      }
     
    33603719      }
    33613720      int _v_len__expr2 = (_v_len3 - _v_len4);
    3362       if (!_c_42.eq (_v_deref__arg12, 0))
     3721      if (!_c_53.eq (_v_deref__arg12, 0))
    33633722      {
    33643723        throw new RefalException ("rfp_asail_jbc", "Step_m_To_m_JBC", "Unexpected fail");
     
    33713730      }
    33723731      Result _ge_auxcall4 = new Result ();
    3373       if (!Access.Middle (_c_137, _c_6, _ge_auxcall3.getExpr (), _ge_auxcall4))
     3732      if (!Access.Middle (_c_140, _c_7, _ge_auxcall3.getExpr (), _ge_auxcall4))
    33743733      {
    33753734        throw new RefalException ("rfp_asail_jbc", "Step_m_To_m_JBC", "Unexpected fail");
    33763735      }
    3377       _v_res1.assign (new Expr (_ge_auxcall4.getExpr (), _c_158));
     3736      _v_res1.assign (new Expr (_ge_auxcall4.getExpr (), _c_161));
    33783737    }
    33793738  }
     
    33883747        }
    33893748        _v_res1.assign (Expr.empty);
    3390         _v_res2.assign (_c_114);
     3749        _v_res2.assign (_c_118);
    33913750        break _block1;
    33923751      }
     
    34053764          break _block1__branch2;
    34063765        }
    3407         if (!_c_82.eq (_v_deref__arg1, 0))
     3766        if (!_c_93.eq (_v_deref__arg1, 0))
    34083767        {
    34093768          break _block1__branch2;
     
    34233782        JavaMangle.Rfp2Java (_vt_name, _ge_auxcall1);
    34243783        _v_res1.assign (Expr.empty);
    3425         Expr[] _va_96 = { _c_115 , _ge_auxcall1.getExpr () , _c_83 , _vs_pos , _c_83 , _vs_len , _c_36 };
    3426         _v_res2.assign (Expr.concat (_va_96));
     3784        Expr[] _va_95 = { _c_119 , _ge_auxcall1.getExpr () , _c_94 , _vs_pos , _c_94 , _vs_len , _c_18 };
     3785        _v_res2.assign (Expr.concat (_va_95));
    34273786        break _block1;
    34283787      }
     
    35133872          Expr _ve_2 = new Expr (_v_deref__compose23, 0, _v_len__2);
    35143873          _v_res1.assign (_ve_arrays);
    3515           Expr[] _va_97 = { _c_115 , _ve_1 , _c_83 , _ve_2 , _c_36 };
    3516           _v_res2.assign (Expr.concat (_va_97));
     3874          Expr[] _va_96 = { _c_119 , _ve_1 , _c_94 , _ve_2 , _c_18 };
     3875          _v_res2.assign (Expr.concat (_va_96));
    35173876          break _block2;
    35183877        }
     
    35413900        Result _v_Free_m_Index1 = new Result ();
    35423901        Free_m_Index (_v_Free_m_Index1);
    3543         Expr _ve_new_m_var = new Expr (_c_64, _v_Free_m_Index1.getExpr ());
     3902        Expr _ve_new_m_var = new Expr (_c_75, _v_Free_m_Index1.getExpr ());
    35443903        Result _ge_auxcall2 = new Result ();
    3545         List.Intersperse (_c_83, _ve_concat, _ge_auxcall2);
     3904        List.Intersperse (_c_94, _ve_concat, _ge_auxcall2);
    35463905        Result _ge_auxcall3 = new Result ();
    35473906        List.Concat (_ge_auxcall2.getExpr (), _ge_auxcall3);
    3548         Expr[] _va_98 = { _c_159 , _ve_new_m_var , _c_119 , _ge_auxcall3.getExpr () , _c_118 };
    3549         _v_res1.assign (new Expr (_ve_arrays, new Expr(Expr.concat (_va_98))));
    3550         Expr[] _va_99 = { _c_121 , _ve_new_m_var , _c_36 };
    3551         _v_res2.assign (Expr.concat (_va_99));
     3907        Expr[] _va_97 = { _c_162 , _ve_new_m_var , _c_123 , _ge_auxcall3.getExpr () , _c_122 };
     3908        _v_res1.assign (new Expr (_ve_arrays, new Expr(Expr.concat (_va_97))));
     3909        Expr[] _va_98 = { _c_125 , _ve_new_m_var , _c_18 };
     3910        _v_res2.assign (Expr.concat (_va_98));
    35523911      }
    35533912    }
     
    35873946          break _block1__branch2;
    35883947        }
    3589         int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_464_m_14 = (_v_len3 - _v_len4);
    3590         Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_464_m_14 = new Expr (_ve_accum, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_464_m_14);
     3948        int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_504_m_14 = (_v_len3 - _v_len4);
     3949        Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_504_m_14 = new Expr (_ve_accum, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_504_m_14);
    35913950        Result _ve_arrays = new Result ();
    35923951        Result _ve_j_m_expr = new Result ();
    35933952        Const_m_Expr_m_Aux (Expr.empty, _ve_expr, _ve_arrays, _ve_j_m_expr);
    35943953        _v_res1.assign (_ve_arrays.getExpr ());
    3595         Expr[] _va_100 = { _c_161 , _ve_accum , _c_160 };
    3596         _v_res2.assign (new Expr (new Expr(Expr.concat (_va_100)), _ve_j_m_expr.getExpr ()));
     3954        Expr[] _va_99 = { _c_164 , _ve_accum , _c_163 };
     3955        _v_res2.assign (new Expr (new Expr(Expr.concat (_va_99)), _ve_j_m_expr.getExpr ()));
    35973956        break _block1;
    35983957      }
     
    36273986            }
    36283987            int _v_len__paren_m_expr = (_v_len7 - _v_len8);
    3629             if (!_c_108.eq (_v_deref__item, 0))
     3988            if (!_c_112.eq (_v_deref__item, 0))
    36303989            {
    36313990              break _block2__branch1;
     
    36363995            Const_m_Expr_m_To_m_JBC (_ve_paren_m_expr, _ge_arrays__4, _ve_j_m_expr);
    36373996            _ve_arrays = _ge_arrays__4.getExpr ();
    3638             Expr[] _va_101 = { _c_115 , _ve_j_m_expr.getExpr () , _c_36 };
    3639             _ve_java_m_item = new Expr(Expr.concat (_va_101));
     3997            Expr[] _va_100 = { _c_119 , _ve_j_m_expr.getExpr () , _c_18 };
     3998            _ve_java_m_item = new Expr(Expr.concat (_va_100));
    36403999            break _block2;
    36414000          }
     
    36544013              break _block2__branch2;
    36554014            }
    3656             if (!_c_124.eq (_v_deref__item2, 0))
     4015            if (!_c_128.eq (_v_deref__item2, 0))
    36574016            {
    36584017              break _block2__branch2;
     
    36814040              break _block2__branch3;
    36824041            }
    3683             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_473_m_14 = (_v_len9 - _v_len10);
    3684             if (!_c_94.eq (_v_deref__item3, 0))
     4042            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_513_m_14 = (_v_len9 - _v_len10);
     4043            if (!_c_26.eq (_v_deref__item3, 0))
    36854044            {
    36864045              break _block2__branch3;
    36874046            }
    3688             Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_473_m_14 = new Expr (_v_deref__item3, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_473_m_14);
     4047            Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_513_m_14 = new Expr (_v_deref__item3, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_513_m_14);
    36894048            Result _ge_auxcall3 = new Result ();
    36904049            JavaMangle.Rfp2Java (_vt_item, _ge_auxcall3);
     
    37074066              break _block2__branch4;
    37084067            }
    3709             if (!_c_22.eq (_v_deref__item4, 0))
     4068            if (!_c_13.eq (_v_deref__item4, 0))
    37104069            {
    37114070              break _block2__branch4;
     
    37154074            Name_m_To_m_JBC (_vt_name, _ge_auxcall4);
    37164075            _ve_arrays = Expr.empty;
    3717             Expr[] _va_104 = { _c_163 , _ge_auxcall4.getExpr () , _c_162 };
    3718             Expr[] _va_103 = { _c_164 , new Expr(Expr.concat (_va_104)) , _c_10 };
    3719             Expr[] _va_102 = { _c_166 , new Expr(Expr.concat (_va_103)) , _c_165 };
    3720             _ve_java_m_item = new Expr(Expr.concat (_va_102));
     4076            Expr[] _va_103 = { _c_166 , _ge_auxcall4.getExpr () , _c_165 };
     4077            Expr[] _va_102 = { _c_167 , new Expr(Expr.concat (_va_103)) , _c_41 };
     4078            Expr[] _va_101 = { _c_169 , new Expr(Expr.concat (_va_102)) , _c_168 };
     4079            _ve_java_m_item = new Expr(Expr.concat (_va_101));
    37214080            break _block2;
    37224081          }
     
    37354094              break _block2__branch5;
    37364095            }
    3737             if (!_c_20.eq (_v_deref__item5, 0))
     4096            if (!_c_11.eq (_v_deref__item5, 0))
    37384097            {
    37394098              break _block2__branch5;
     
    37434102            Name_m_To_m_JBC (_vt_name, _ge_auxcall5);
    37444103            _ve_arrays = Expr.empty;
    3745             Expr[] _va_106 = { _c_164 , new Expr(new Expr (new Expr(new Expr (_ge_auxcall5.getExpr (), _c_162)), _c_24)) , _c_10 };
    3746             Expr[] _va_105 = { _c_166 , new Expr(Expr.concat (_va_106)) , _c_165 };
    3747             _ve_java_m_item = new Expr(Expr.concat (_va_105));
     4104            Expr[] _va_105 = { _c_167 , new Expr(new Expr (new Expr(new Expr (_ge_auxcall5.getExpr (), _c_165)), _c_34)) , _c_41 };
     4105            Expr[] _va_104 = { _c_169 , new Expr(Expr.concat (_va_105)) , _c_168 };
     4106            _ve_java_m_item = new Expr(Expr.concat (_va_104));
    37484107            break _block2;
    37494108          }
     
    37754134                    break _block4__branch1;
    37764135                  }
    3777                   Table.Bind (Inputs, _c_167, Expr.empty);
     4136                  Table.Bind (Inputs, _c_170, Expr.empty);
    37784137                  break _block4;
    37794138                }
     
    37824141              Box._q_ (Int, _ge_auxcall6);
    37834142              _ve_arrays = Expr.empty;
    3784               Expr[] _va_107 = { _c_169 , _ge_auxcall6.getExpr () , _c_100 , _vs_sym , _c_168 };
    3785               _ve_java_m_item = new Expr(Expr.concat (_va_107));
     4143              Expr[] _va_106 = { _c_172 , _ge_auxcall6.getExpr () , _c_106 , _vs_sym , _c_171 };
     4144              _ve_java_m_item = new Expr(Expr.concat (_va_106));
    37864145              break _block3;
    37874146            }
     
    37934152            Symbol_m_To_m_JBC (_vs_sym, _ge_auxcall7);
    37944153            _ve_arrays = Expr.empty;
    3795             Expr[] _va_108 = { _c_170 , _ge_auxcall7.getExpr () , _c_168 };
    3796             _ve_java_m_item = new Expr(Expr.concat (_va_108));
     4154            Expr[] _va_107 = { _c_173 , _ge_auxcall7.getExpr () , _c_171 };
     4155            _ve_java_m_item = new Expr(Expr.concat (_va_107));
    37974156          }
    37984157        }
     
    38454204            break _block3__branch1;
    38464205          }
    3847           if (!_vs_char.eq (_c_171, 0))
     4206          if (!_vs_char.eq (_c_174, 0))
    38484207          {
    38494208            break _block3__branch1;
    38504209          }
    3851           _ve_java_m_char = _c_172;
     4210          _ve_java_m_char = _c_175;
    38524211          break _block3;
    38534212        }
     
    38574216            break _block3__branch2;
    38584217          }
    3859           if (!_vs_char.eq (_c_173, 0))
     4218          if (!_vs_char.eq (_c_176, 0))
    38604219          {
    38614220            break _block3__branch2;
    38624221          }
    3863           _ve_java_m_char = _c_174;
     4222          _ve_java_m_char = _c_177;
    38644223          break _block3;
    38654224        }
     
    38694228            break _block3__branch3;
    38704229          }
    3871           if (!_vs_char.eq (_c_175, 0))
     4230          if (!_vs_char.eq (_c_178, 0))
    38724231          {
    38734232            break _block3__branch3;
    38744233          }
    3875           _ve_java_m_char = _c_176;
     4234          _ve_java_m_char = _c_179;
    38764235          break _block3;
    38774236        }
     
    38814240            break _block3__branch4;
    38824241          }
    3883           if (!_vs_char.eq (_c_177, 0))
     4242          if (!_vs_char.eq (_c_180, 0))
    38844243          {
    38854244            break _block3__branch4;
    38864245          }
    3887           _ve_java_m_char = _c_178;
     4246          _ve_java_m_char = _c_181;
    38884247          break _block3;
    38894248        }
     
    38934252            break _block3__branch5;
    38944253          }
    3895           if (!_vs_char.eq (_c_179, 0))
     4254          if (!_vs_char.eq (_c_182, 0))
    38964255          {
    38974256            break _block3__branch5;
    38984257          }
    3899           _ve_java_m_char = _c_180;
     4258          _ve_java_m_char = _c_183;
    39004259          break _block3;
    39014260        }
     
    39084267          throw new RefalException ("rfp_asail_jbc", "Symbol_m_To_m_JBC", "Unexpected fail");
    39094268        }
    3910         Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_512_m_8 = new Expr (_vs_char, 0, 1);
     4269        Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_552_m_8 = new Expr (_vs_char, 0, 1);
    39114270        _ve_java_m_char = _vs_char;
    39124271      }
     
    39604319            break _block2__branch1;
    39614320          }
    3962           int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_524_m_19 = (_v_len5 - _v_len6);
    3963           Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_524_m_19 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_524_m_19);
    3964           _ve_comma = _c_83;
     4321          int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_564_m_19 = (_v_len5 - _v_len6);
     4322          Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_564_m_19 = new Expr (_ve_rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_564_m_19);
     4323          _ve_comma = _c_94;
    39654324          break _block2;
    39664325        }
     
    39704329      Expr_m_Int_m_To_m_JBC (_vs_acc, _ve_arg, _ge_auxcall1);
    39714330      _ge_args__0 = _ve_rest;
    3972       Expr[] _va_109 = { _ve_java_m_args , _ge_auxcall1.getExpr () , _ve_comma };
    3973       _ve_java_m_args = Expr.concat (_va_109);
     4331      Expr[] _va_108 = { _ve_java_m_args , _ge_auxcall1.getExpr () , _ve_comma };
     4332      _ve_java_m_args = Expr.concat (_va_108);
    39744333    }
    39754334  }
     
    40254384              break _block2__branch1;
    40264385            }
    4027             Expr.SplitIterator _va_110 = _ve_rest.leftSplit(0);
    4028             _exit1: _continue1: for ( ; ; _va_110.next ())
    4029             {
    4030               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_538_m_19 = _va_110.getLeft();
    4031               Expr _v_lsplit__rest = _va_110.getRight();
    4032               if (!_va_110.isValid ())
     4386            Expr.SplitIterator _va_109 = _ve_rest.leftSplit(0);
     4387            _exit1: _continue1: for ( ; ; _va_109.next ())
     4388            {
     4389              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_578_m_19 = _va_109.getLeft();
     4390              Expr _v_lsplit__rest = _va_109.getRight();
     4391              if (!_va_109.isValid ())
    40334392              {
    40344393                break _block2__branch1;
     
    40404399                break _block2__branch1;
    40414400              }
    4042               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_538_m_25 = (_v_len5 - _v_len6);
     4401              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_578_m_25 = (_v_len5 - _v_len6);
    40434402              if (_v_lsplit__rest.symbolAt (0))
    40444403              {
     
    40524411                continue _continue1;
    40534412              }
    4054               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_538_m_22 = (_v_len7 - _v_len8);
    4055               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_538_m_25 = new Expr (_v_lsplit__rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_538_m_25);
    4056               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_538_m_22 = new Expr (_v_deref__lsplit__rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_538_m_22);
    4057               _ve_comma = _c_83;
     4413              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_578_m_22 = (_v_len7 - _v_len8);
     4414              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_578_m_25 = new Expr (_v_lsplit__rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_578_m_25);
     4415              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_578_m_22 = new Expr (_v_deref__lsplit__rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_578_m_22);
     4416              _ve_comma = _c_94;
    40584417              break _exit1;
    40594418            }
     
    40654424        JavaMangle.Rfp2Java (_vt_arg, _ge_auxcall1);
    40664425        _ge_args__0 = _ve_rest;
    4067         Expr[] _va_111 = { _ve_java_m_args , _ve_type , _c_29 , _ge_auxcall1.getExpr () , _ve_comma };
    4068         _ve_java_m_args = Expr.concat (_va_111);
     4426        Expr[] _va_110 = { _ve_java_m_args , _ve_type , _c_39 , _ge_auxcall1.getExpr () , _ve_comma };
     4427        _ve_java_m_args = Expr.concat (_va_110);
    40694428      }
    40704429    }
     
    41354494              break _block2__branch1;
    41364495            }
    4137             Expr.SplitIterator _va_112 = _ve_rest.leftSplit(0);
    4138             _exit1: _continue1: for ( ; ; _va_112.next ())
    4139             {
    4140               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_552_m_19 = _va_112.getLeft();
    4141               Expr _v_lsplit__rest = _va_112.getRight();
    4142               if (!_va_112.isValid ())
     4496            Expr.SplitIterator _va_111 = _ve_rest.leftSplit(0);
     4497            _exit1: _continue1: for ( ; ; _va_111.next ())
     4498            {
     4499              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_592_m_19 = _va_111.getLeft();
     4500              Expr _v_lsplit__rest = _va_111.getRight();
     4501              if (!_va_111.isValid ())
    41434502              {
    41444503                break _block2__branch1;
     
    41504509                break _block2__branch1;
    41514510              }
    4152               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_552_m_25 = (_v_len7 - _v_len8);
     4511              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_592_m_25 = (_v_len7 - _v_len8);
    41534512              if (_v_lsplit__rest.symbolAt (0))
    41544513              {
     
    41624521                continue _continue1;
    41634522              }
    4164               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_552_m_22 = (_v_len9 - _v_len10);
    4165               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_552_m_25 = new Expr (_v_lsplit__rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_552_m_25);
    4166               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_552_m_22 = new Expr (_v_deref__lsplit__rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_552_m_22);
    4167               _ve_comma = _c_83;
     4523              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_592_m_22 = (_v_len9 - _v_len10);
     4524              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_592_m_25 = new Expr (_v_lsplit__rest, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_592_m_25);
     4525              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_592_m_22 = new Expr (_v_deref__lsplit__rest, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_592_m_22);
     4526              _ve_comma = _c_94;
    41684527              break _exit1;
    41694528            }
     
    41824541            Expr_m_Ref_m_To_m_JBC (_ve_arg, _ve_a, _ve_j_m_arg);
    41834542            _ge_args__0 = _ve_rest;
    4184             Expr[] _va_113 = { _ve_java_m_args , _ve_j_m_arg.getExpr () , _ve_comma };
    4185             _ve_java_m_args = Expr.concat (_va_113);
     4543            Expr[] _va_112 = { _ve_java_m_args , _ve_j_m_arg.getExpr () , _ve_comma };
     4544            _ve_java_m_args = Expr.concat (_va_112);
    41864545            _ve_arrays = new Expr (_ve_arrays, _ve_a.getExpr ());
    41874546            break _block3;
    41884547          }
    41894548          _ge_args__0 = _ve_rest;
    4190           Expr[] _va_114 = { _ve_java_m_args , _ve_arg , _ve_comma };
    4191           _ve_java_m_args = Expr.concat (_va_114);
     4549          Expr[] _va_113 = { _ve_java_m_args , _ve_arg , _ve_comma };
     4550          _ve_java_m_args = Expr.concat (_va_113);
    41924551        }
    41934552      }
     
    42334592          break _block1__branch1;
    42344593        }
    4235         _v_res1.assign (new Expr (_ge_auxcall1.getExpr (), _c_181));
     4594        _v_res1.assign (new Expr (_ge_auxcall1.getExpr (), _c_184));
    42364595        break _block1;
    42374596      }
     
    42504609          break _block1__branch1;
    42514610        }
    4252         Expr.SplitIterator _va_115 = _v__q_1.getExpr ().leftSplit(0);
    4253         _exit1: _continue1: for ( ; ; _va_115.next ())
    4254         {
    4255           Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_580_m_19 = _va_115.getLeft();
    4256           Expr _v_lsplit___q_1 = _va_115.getRight();
    4257           if (!_va_115.isValid ())
     4611        Expr.SplitIterator _va_114 = _v__q_1.getExpr ().leftSplit(0);
     4612        _exit1: _continue1: for ( ; ; _va_114.next ())
     4613        {
     4614          Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_620_m_19 = _va_114.getLeft();
     4615          Expr _v_lsplit___q_1 = _va_114.getRight();
     4616          if (!_va_114.isValid ())
    42584617          {
    42594618            break _block1__branch1;
     
    42654624            break _block1__branch1;
    42664625          }
    4267           int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_580_m_28 = (_v_len1 - _v_len2);
     4626          int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_620_m_28 = (_v_len1 - _v_len2);
    42684627          if (!_vt_name.eq (_v_lsplit___q_1, 0))
    42694628          {
    42704629            continue _continue1;
    42714630          }
    4272           Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_580_m_28 = new Expr (_v_lsplit___q_1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_580_m_28);
    4273           _v_res1.assign (_c_182);
     4631          Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_620_m_28 = new Expr (_v_lsplit___q_1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfp__asail__jbcrf_m_620_m_28);
     4632          _v_res1.assign (_c_6);
    42744633          break _exit1;
    42754634        }
    42764635        break _block1;
    42774636      }
    4278       _v_res1.assign (_c_183);
     4637      _v_res1.assign (_c_140);
    42794638    }
    42804639  }
     
    42914650          break _block1__branch1;
    42924651        }
    4293         _vs_idx = _c_5;
     4652        _vs_idx = _c_6;
    42944653        break _block1;
    42954654      }
     
    43034662      }
    43044663      Expr _gs_idx__2 = new Expr (_v__q_1.getExpr (), 0, 1);
    4305       Result _va_116 = new Result ();
    4306       Arithm._p_ (_gs_idx__2, _c_5, _va_116);
    4307       _vs_idx = _va_116.getExpr ();
     4664      Result _va_115 = new Result ();
     4665      Arithm._p_ (_gs_idx__2, _c_6, _va_115);
     4666      _vs_idx = _va_115.getExpr ();
    43084667    }
    43094668    Box.Store (Free_m_Idx, _vs_idx);
     
    43174676    if ((_v_len1 < _v_len2))
    43184677    {
    4319       throw new RefalException (_c_184);
     4678      throw new RefalException (_c_185);
    43204679    }
    43214680    int _v_len__stub1 = (_v_len1 - _v_len2);
    43224681    if (!_ge_arg1.symbolAt (0))
    43234682    {
    4324       throw new RefalException (_c_184);
     4683      throw new RefalException (_c_185);
    43254684    }
    43264685    Expr _v_stub2 = new Expr (_ge_arg1, 0, 1);
     
    43304689  }
    43314690
     4691  static private boolean To_m_Word__0 (Expr _ge_arg1, Result _v_res1) throws RefalException
     4692  {
     4693    int _v_len1 = _ge_arg1.getLen ();
     4694    int _v_len2 = 0;
     4695    if ((_v_len1 < _v_len2))
     4696    {
     4697      throw new RefalException (_c_185);
     4698    }
     4699    int _v_len__stub1 = (_v_len1 - _v_len2);
     4700    Expr _v_stub1 = new Expr (_ge_arg1, 0, _v_len__stub1);
     4701    Convert.To_m_Word (_v_stub1, _v_res1);
     4702    return true;
     4703  }
     4704
    43324705  static private boolean Term_m_Ref_m_To_m_JBC__0 (Expr _ge_arg1, Result _v_res1) throws RefalException
    43334706  {
    43344707    if ((_ge_arg1.getLen () != 2))
    43354708    {
    4336       throw new RefalException (_c_184);
     4709      throw new RefalException (_c_185);
    43374710    }
    43384711    if (!_ge_arg1.symbolAt (0))
    43394712    {
    4340       throw new RefalException (_c_184);
     4713      throw new RefalException (_c_185);
    43414714    }
    43424715    Expr _v_stub1 = new Expr (_ge_arg1, 0, 1);
     
    43524725    if ((_v_len1 < _v_len2))
    43534726    {
    4354       throw new RefalException (_c_184);
     4727      throw new RefalException (_c_185);
    43554728    }
    43564729    int _v_len__stub1 = (_v_len1 - _v_len2);
    43574730    if (!_ge_arg1.symbolAt (0))
    43584731    {
    4359       throw new RefalException (_c_184);
     4732      throw new RefalException (_c_185);
    43604733    }
    43614734    Expr _v_stub2 = new Expr (_ge_arg1, 0, 1);
  • to-imperative/trunk/java/org/refal/plus/compiler/rfpc.java

    r2327 r2340  
    99import org.refal.plus.library.Dos;
    1010import org.refal.plus.library.CppMangle;
     11import org.refal.plus.wrappers.java.io.FileOutputStream;
     12import org.refal.plus.library.List;
    1113import org.refal.plus.library.JavaMangle;
    12 import org.refal.plus.library.List;
    1314import org.refal.plus.library.File;
    1415import org.refal.plus.library.Compare;
     
    2829  static public final Expr RFP_m_Trace = new Expr (new NamedTable ("RFP-Trace"));
    2930  static public final Expr RFP_m_Includes = new Expr (new NamedTable ("RFP-Includes"));
    30   static private final Expr RevDate = new Expr (new Expr (Expr.fromSequence ("$Revision: 2323 $")), new Expr (Expr.fromSequence ("$Date: 2007-02-03 01:34:12 +0300 (Sat, 03 Feb 2007) $")));
     31  static private final Expr RevDate = new Expr (new Expr (Expr.fromSequence ("$Revision: 2338 $")), new Expr (Expr.fromSequence ("$Date: 2007-02-05 21:54:33 +0300 (Mon, 05 Feb 2007) $")));
    3132  static private final Expr Options = new Expr (new NamedBox ("Options"));
    3233  static private final Expr Tab = Expr.fromSequence ("  ");
     
    3435  static private final Expr _c_58 = Expr.fromSequence ("\n#include <rf_core.hh>");
    3536  static private final Expr _c_54 = new Expr (_c_58, 18, 3);
    36   static private final Expr _c_148 = new Expr (new Expr (new Expr (new Expr (new Expr (_c_54, 1, 1)), new Expr (Expr.fromSequence ("help")))), new Expr (new Word ("HELP")));
    37   static private final Expr _c_1 = new Expr (_c_148, 1, 1);
     37  static private final Expr _c_149 = new Expr (new Expr (new Expr (new Expr (new Expr (_c_54, 1, 1)), new Expr (Expr.fromSequence ("help")))), new Expr (new Word ("HELP")));
     38  static private final Expr _c_1 = new Expr (_c_149, 1, 1);
    3839  static private final Expr _c_2 = Expr.fromSequence ("Refal+ compiler ");
    3940  static private final Expr _c_3 = Expr.fromSequence ("Usage: rfpc");
     
    4950  static private final Expr _c_13 = new Expr (_c_11, 6, 1);
    5051  static private final Expr _c_14 = new Expr (_c_11, 5, 2);
    51   static private final Expr _c_149 = Expr.fromSequence ("no-check");
    52   static private final Expr _c_150 = new Expr (_c_149, 0, 2);
    53   static private final Expr[] _va_1 = { new Expr (new Expr (new Expr (_c_150, 1, 1))), new Expr (new Word ("NAME")), new Expr (new Expr (new Word ("name| - "))), new Expr (new Word ("place outputs for file1 into files <name>.* or send")), new Expr (new Word ("them to stdout")) };
    54   static private final Expr _c_151 = Expr.concat (_va_1);
    55   static private final Expr _c_15 = new Expr (_c_151, 1, 1);
     52  static private final Expr _c_150 = Expr.fromSequence ("no-check");
     53  static private final Expr _c_151 = new Expr (_c_150, 0, 2);
     54  static private final Expr[] _va_1 = { new Expr (new Expr (new Expr (_c_151, 1, 1))), new Expr (new Word ("NAME")), new Expr (new Expr (new Word ("name| - "))), new Expr (new Word ("place outputs for file1 into files <name>.* or send")), new Expr (new Word ("them to stdout")) };
     55  static private final Expr _c_152 = Expr.concat (_va_1);
     56  static private final Expr _c_15 = new Expr (_c_152, 1, 1);
    5657  static private final Expr _c_55 = Expr.fromSequence ("_hh__");
    5758  static private final Expr _c_16 = new Expr (new Expr (_c_55, 0, 1));
     
    6061  static private final Expr _c_19 = new Expr (new Word (": parsing started"));
    6162  static private final Expr _c_20 = new Expr (new Word (": parsing finished"));
    62   static private final Expr _c_152 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("AS-REFAL")));
    63   static private final Expr _c_21 = new Expr (_c_152, 1, 1);
     63  static private final Expr _c_153 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("AS-REFAL")));
     64  static private final Expr _c_21 = new Expr (_c_153, 1, 1);
    6465  static private final Expr _c_22 = Expr.fromSequence (" .asr");
    6566  static private final Expr _c_23 = new Expr (new Word ("R"));
    6667  static private final Expr _c_24 = Expr.fromSequence (" .ast");
    67   static private final Expr _c_153 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("AS-TRANSFORMED")));
    68   static private final Expr _c_25 = new Expr (_c_153, 1, 1);
     68  static private final Expr _c_154 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("AS-TRANSFORMED")));
     69  static private final Expr _c_25 = new Expr (_c_154, 1, 1);
    6970  static private final Expr _c_26 = Expr.fromSequence (" .asi");
    7071  static private final Expr _c_27 = new Expr (new Expr (new Word ("AS-AIL")), new Expr (new Word ("AS-AIL")));
     
    7374  static private final Expr _c_30 = new Expr (new Word ("Error: unknown extension"));
    7475  static private final Expr _c_31 = new Expr (_c_22, 1, 4);
    75   static private final Expr _c_154 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("NO-CHECK")));
    76   static private final Expr _c_32 = new Expr (_c_154, 1, 1);
     76  static private final Expr _c_155 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("NO-CHECK")));
     77  static private final Expr _c_32 = new Expr (_c_155, 1, 1);
    7778  static private final Expr _c_33 = new Expr (new Word ("syntax check started"));
    7879  static private final Expr _c_34 = new Expr (new Word ("syntax check finished"));
    79   static private final Expr _c_155 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("CC")));
    80   static private final Expr _c_35 = new Expr (_c_155, 1, 1);
    81   static private final Expr _c_156 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("HH")));
    82   static private final Expr _c_36 = new Expr (_c_156, 1, 1);
    83   static private final Expr _c_157 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("JAVA")));
    84   static private final Expr _c_37 = new Expr (_c_157, 1, 1);
    85   static private final Expr _c_158 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("JBC")));
    86   static private final Expr _c_38 = new Expr (_c_158, 1, 1);
    87   static private final Expr _c_159 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("TPP")));
    88   static private final Expr _c_39 = new Expr (_c_159, 1, 1);
    89   static private final Expr _c_160 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("NO-TRANSFORM")));
    90   static private final Expr _c_40 = new Expr (_c_160, 1, 1);
     80  static private final Expr _c_156 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("CC")));
     81  static private final Expr _c_35 = new Expr (_c_156, 1, 1);
     82  static private final Expr _c_157 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("HH")));
     83  static private final Expr _c_36 = new Expr (_c_157, 1, 1);
     84  static private final Expr _c_158 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("JAVA")));
     85  static private final Expr _c_37 = new Expr (_c_158, 1, 1);
     86  static private final Expr _c_159 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("JBC")));
     87  static private final Expr _c_38 = new Expr (_c_159, 1, 1);
     88  static private final Expr _c_160 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("TPP")));
     89  static private final Expr _c_39 = new Expr (_c_160, 1, 1);
     90  static private final Expr _c_161 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("NO-TRANSFORM")));
     91  static private final Expr _c_40 = new Expr (_c_161, 1, 1);
    9192  static private final Expr _c_41 = new Expr (new Word ("as-to-as transformation started"));
    9293  static private final Expr _c_42 = new Expr (new Word ("as-to-as transformation finished"));
     
    9697  static private final Expr _c_46 = new Expr (new Word ("MODULE"));
    9798  static private final Expr _c_47 = new Expr (new Word ("compilation to abstract imperative language finished"));
    98   static private final Expr _c_161 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("NO-OPTIM")));
    99   static private final Expr _c_48 = new Expr (_c_161, 1, 1);
     99  static private final Expr _c_162 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("NO-OPTIM")));
     100  static private final Expr _c_48 = new Expr (_c_162, 1, 1);
    100101  static private final Expr _c_49 = new Expr (new Word ("as-ail optimization started"));
    101102  static private final Expr _c_50 = new Expr (new Word ("as-ail optimization finished"));
     
    107108  static private final Expr _c_59 = new Expr (new BigInteger ("0"));
    108109  static private final Expr _c_60 = Expr.fromSequence ("\n#endif // __");
    109   static private final Expr _c_162 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("CASE-INSENSITIVE")));
    110   static private final Expr _c_61 = new Expr (_c_162, 1, 1);
     110  static private final Expr _c_163 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("CASE-INSENSITIVE")));
     111  static private final Expr _c_61 = new Expr (_c_163, 1, 1);
    111112  static private final Expr _c_62 = new Expr (_c_58, 18, 4);
    112113  static private final Expr _c_63 = new Expr (_c_58, 0, 11);
     
    143144  static private final Expr _c_94 = new Expr (_c_92, 0, 7);
    144145  static private final Expr _c_95 = new Expr (new Word ("compilation from as-ail to java-bytecode started"));
    145   static private final Expr _c_96 = new Expr (new Word ("compilation from as-ail to java-bytecode finished"));
    146   static private final Expr _c_163 = new Expr (new Word ("dir"));
    147   static private final Expr[] _va_2 = { new Expr (new Expr (new Expr (Expr.fromSequence ("I")), new Expr (Expr.fromSequence ("ipath")))), new Expr (new Word ("IPATH")), new Expr (_c_163), new Expr (new Word ("add <dir> to the list of directories to be searched")), new Expr (new Word ("for .rfi files")) };
    148   static private final Expr _c_164 = Expr.concat (_va_2);
    149   static private final Expr[] _va_3 = { new Expr (new Expr (new Expr (Expr.fromSequence ("B")), new Expr (Expr.fromSequence ("bootpath")))), new Expr (new Word ("BPATH")), new Expr (_c_163), new Expr (new Word ("add <dir> to the list of directories to be searched")), new Expr (new Word ("for standard library .rfi files")) };
    150   static private final Expr _c_165 = Expr.concat (_va_3);
    151   static private final Expr _c_166 = new Expr (_c_57, 5, 2);
    152   static private final Expr _c_167 = new Expr (_c_82, 2, 2);
    153   static private final Expr _c_168 = Expr.fromSequence ("entry");
    154   static private final Expr _c_169 = new Expr (_c_168, 1, 2);
    155   static private final Expr _c_170 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("CHECK")));
     146  static private final Expr _c_96 = new Expr (new Word (".class"));
     147  static private final Expr _c_97 = new Expr (new Word ("compilation from as-ail to java-bytecode finished"));
     148  static private final Expr _c_164 = new Expr (new Word ("dir"));
     149  static private final Expr[] _va_2 = { new Expr (new Expr (new Expr (Expr.fromSequence ("I")), new Expr (Expr.fromSequence ("ipath")))), new Expr (new Word ("IPATH")), new Expr (_c_164), new Expr (new Word ("add <dir> to the list of directories to be searched")), new Expr (new Word ("for .rfi files")) };
     150  static private final Expr _c_165 = Expr.concat (_va_2);
     151  static private final Expr[] _va_3 = { new Expr (new Expr (new Expr (Expr.fromSequence ("B")), new Expr (Expr.fromSequence ("bootpath")))), new Expr (new Word ("BPATH")), new Expr (_c_164), new Expr (new Word ("add <dir> to the list of directories to be searched")), new Expr (new Word ("for standard library .rfi files")) };
     152  static private final Expr _c_166 = Expr.concat (_va_3);
     153  static private final Expr _c_167 = new Expr (_c_57, 5, 2);
     154  static private final Expr _c_168 = new Expr (_c_82, 2, 2);
     155  static private final Expr _c_169 = Expr.fromSequence ("entry");
     156  static private final Expr _c_170 = new Expr (_c_169, 1, 2);
     157  static private final Expr _c_171 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("CHECK")));
    156158  static private final Expr[] _va_4 = { new Expr (new Expr (new Expr (new Expr (_c_12, 18, 2)), new Expr (Expr.fromSequence ("comp-item")))), new Expr (new Word ("COMP-ITEM")), new Expr (new Expr (new Word ("item"))), new Expr (new Word ("compile <item> only, not the whole source")), new Expr (new Word ("(may be used several times)")) };
    157   static private final Expr _c_171 = Expr.concat (_va_4);
    158   static private final Expr[] _va_5 = { new Expr (new Expr (new Expr (new Expr (_c_166, 1, 1)), new Expr (_c_168))), new Expr (new Word ("ENTRY")), new Expr (new Expr (new Word ("func"))), new Expr (new Word ("use function <func> as an entry to the program")) };
    159   static private final Expr _c_172 = Expr.concat (_va_5);
    160   static private final Expr _c_173 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("VERBOSE")));
    161   static private final Expr _c_174 = Expr.fromSequence ("as-ail");
    162   static private final Expr _c_175 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("AS-AIL")));
     159  static private final Expr _c_172 = Expr.concat (_va_4);
     160  static private final Expr[] _va_5 = { new Expr (new Expr (new Expr (new Expr (_c_167, 1, 1)), new Expr (_c_169))), new Expr (new Word ("ENTRY")), new Expr (new Expr (new Word ("func"))), new Expr (new Word ("use function <func> as an entry to the program")) };
     161  static private final Expr _c_173 = Expr.concat (_va_5);
     162  static private final Expr _c_174 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("VERBOSE")));
     163  static private final Expr _c_175 = Expr.fromSequence ("as-ail");
     164  static private final Expr _c_176 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("AS-AIL")));
    163165  static private final Expr[] _va_6 = { new Expr (new Expr (Expr.fromSequence ("int"))), new Expr (new Word ("INT")), new Expr (new Expr (new Word ("class_name"))), new Expr (new Word ("class to use for literal integers")) };
    164   static private final Expr _c_176 = Expr.concat (_va_6);
     166  static private final Expr _c_177 = Expr.concat (_va_6);
    165167  static private final Expr[] _va_7 = { new Expr (new Expr (Expr.fromSequence ("replace-module"))), new Expr (new Word ("REPLACE-MODULE")), new Expr (new Expr (new Expr (new Word ("m1")), new Expr (new Word ("m2")))), new Expr (new Word ("use module <m2> instead of <m1>")) };
    166   static private final Expr _c_177 = Expr.concat (_va_7);
    167   static private final Expr _c_178 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("DBG")));
    168   static private final Expr _c_179 = Expr.fromSequence ("traceall");
    169   static private final Expr[] _va_8 = { new Expr (new Expr (new Expr (_c_179, 0, 5))), new Expr (new Word ("TRACE")), new Expr (new Expr (new Word ("fname"))), new Expr (new Word ("trace function <fname> (may be used several times)")) };
    170   static private final Expr _c_180 = Expr.concat (_va_8);
    171   static private final Expr[] _va_9 = { new Expr (new Expr (new Expr (_c_167), new Expr (_c_149))), new Expr (_c_154), new Expr (new Word ("don't perform syntax check")) };
    172   static private final Expr[] _va_10 = { new Expr (new Expr (new Expr (_c_169), new Expr (Expr.fromSequence ("no-transform")))), new Expr (_c_160), new Expr (new Word ("don't perform AS-to-AS transformations")) };
    173   static private final Expr[] _va_11 = { new Expr (new Expr (new Expr (new Expr (_c_167, 1, 1)), new Expr (new Expr (_c_149, 3, 5)))), new Expr (_c_170), new Expr (new Word ("check only, causes no file creation in the absence")), new Expr (new Word ("of other output control options")) };
    174   static private final Expr[] _va_12 = { new Expr (new Expr (new Expr (_c_150), new Expr (Expr.fromSequence ("no-optim")))), new Expr (_c_161), new Expr (new Word ("don't perform ASAIL-optimization")) };
    175   static private final Expr[] _va_13 = { new Expr (new Expr (new Expr (new Expr (_c_88, 3, 1)), new Expr (Expr.fromSequence ("verbose")))), new Expr (_c_173), new Expr (new Word ("display information about the stages of compilation")) };
    176   static private final Expr[] _va_14 = { new Expr (new Expr (new Expr (_c_76, 2, 1))), new Expr (_c_162), new Expr (new Word ("convert all symbol-words without surrounding quotes")), new Expr (new Word ("to upper case")) };
    177   static private final Expr[] _va_15 = { new Expr (new Expr (new Expr (_c_71, 1, 2))), new Expr (_c_155), new Expr (new Word ("output C++ code")) };
    178   static private final Expr[] _va_16 = { new Expr (new Expr (new Expr (_c_54, 1, 2))), new Expr (_c_156), new Expr (new Word ("generate header files")) };
    179   static private final Expr[] _va_17 = { new Expr (new Expr (new Expr (new Expr (_c_88, 1, 1)), new Expr (new Expr (_c_88, 1, 4)))), new Expr (_c_157), new Expr (new Word ("output Java code")) };
    180   static private final Expr[] _va_18 = { new Expr (new Expr (Expr.fromSequence ("jbc"))), new Expr (_c_158), new Expr (new Word ("output Java byte-code")) };
    181   static private final Expr[] _va_19 = { new Expr (new Expr (new Expr (new Expr (_c_169, 1, 1)), new Expr (Expr.fromSequence ("t++")))), new Expr (_c_159), new Expr (new Word ("output T++ code")) };
    182   static private final Expr[] _va_20 = { new Expr (new Expr (new Expr (new Expr (_c_22, 2, 3)), new Expr (Expr.fromSequence ("as-refal")))), new Expr (_c_152), new Expr (new Word ("output Refal Abstract Syntax")) };
    183   static private final Expr[] _va_21 = { new Expr (new Expr (new Expr (new Expr (_c_43, 1, 3)), new Expr (Expr.fromSequence ("as-transformed")))), new Expr (_c_153), new Expr (new Word ("output Refal Abstract Syntax after AS-to-AS")), new Expr (new Word ("transformations")) };
    184   static private final Expr[] _va_22 = { new Expr (new Expr (new Expr (new Expr (_c_51, 1, 3)), new Expr (_c_174))), new Expr (_c_175), new Expr (new Word ("output Abstract Syntax of Abstract Imperative")), new Expr (new Word ("Language")) };
    185   static private final Expr[] _va_23 = { new Expr (new Expr (Expr.fromSequence ("dbg"))), new Expr (_c_178), new Expr (new Word ("generate text for debugger")) };
    186   static private final Expr[] _va_24 = { new Expr (new Expr (_c_179)), new Expr (new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("TRACEALL")))), new Expr (new Word ("trace all functions")) };
    187   static private final Expr[] _va_25 = { new Expr (_c_164), new Expr (_c_165), new Expr (new Expr (new Expr (new Expr (new Expr (_c_166), new Expr (Expr.fromSequence ("no-elaborate")))), new Expr (new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("NO-ELABORATE")))))), new Expr (Expr.concat (_va_9)), new Expr (Expr.concat (_va_10)), new Expr (Expr.concat (_va_11)), new Expr (Expr.concat (_va_12)), new Expr (_c_171), new Expr (_c_172), new Expr (_c_148), new Expr (Expr.concat (_va_13)), new Expr (Expr.concat (_va_14)), new Expr (_c_151), new Expr (Expr.concat (_va_15)), new Expr (Expr.concat (_va_16)), new Expr (Expr.concat (_va_17)), new Expr (Expr.concat (_va_18)), new Expr (Expr.concat (_va_19)), new Expr (Expr.concat (_va_20)), new Expr (Expr.concat (_va_21)), new Expr (Expr.concat (_va_22)), new Expr (_c_176), new Expr (_c_177), new Expr (new Expr (new Expr (new Expr (new Expr (new Expr (_c_82, 6, 1)), new Expr (Expr.fromSequence ("debug")))), new Expr (new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("DEBUG")))))), new Expr (Expr.concat (_va_23)), new Expr (_c_180), new Expr (Expr.concat (_va_24)) };
    188   static private final Expr _c_97 = Expr.concat (_va_25);
    189   static private final Expr _c_98 = new Expr (new BigInteger ("29"));
    190   static private final Expr _c_99 = new Expr (new Word ("Refal+ compiler "));
    191   static private final Expr _c_100 = new Expr (new Word ("Copyright blah-blah-blah"));
    192   static private final Expr _c_101 = new Expr (new Word ("Usage: rfpc [options] file1 [file2 ...]"));
    193   static private final Expr _c_102 = new Expr (new Word ("Options:"));
    194   static private final Expr _c_103 = new Expr (_c_174, 2, 1);
    195   static private final Expr _c_104 = Expr.fromSequence (", -");
    196   static private final Expr _c_105 = new Expr (_c_5, 0, 1);
    197   static private final Expr _c_106 = new Expr (_c_164, 1, 1);
     168  static private final Expr _c_178 = Expr.concat (_va_7);
     169  static private final Expr _c_179 = new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("DBG")));
     170  static private final Expr _c_180 = Expr.fromSequence ("traceall");
     171  static private final Expr[] _va_8 = { new Expr (new Expr (new Expr (_c_180, 0, 5))), new Expr (new Word ("TRACE")), new Expr (new Expr (new Word ("fname"))), new Expr (new Word ("trace function <fname> (may be used several times)")) };
     172  static private final Expr _c_181 = Expr.concat (_va_8);
     173  static private final Expr[] _va_9 = { new Expr (new Expr (new Expr (_c_168), new Expr (_c_150))), new Expr (_c_155), new Expr (new Word ("don't perform syntax check")) };
     174  static private final Expr[] _va_10 = { new Expr (new Expr (new Expr (_c_170), new Expr (Expr.fromSequence ("no-transform")))), new Expr (_c_161), new Expr (new Word ("don't perform AS-to-AS transformations")) };
     175  static private final Expr[] _va_11 = { new Expr (new Expr (new Expr (new Expr (_c_168, 1, 1)), new Expr (new Expr (_c_150, 3, 5)))), new Expr (_c_171), new Expr (new Word ("check only, causes no file creation in the absence")), new Expr (new Word ("of other output control options")) };
     176  static private final Expr[] _va_12 = { new Expr (new Expr (new Expr (_c_151), new Expr (Expr.fromSequence ("no-optim")))), new Expr (_c_162), new Expr (new Word ("don't perform ASAIL-optimization")) };
     177  static private final Expr[] _va_13 = { new Expr (new Expr (new Expr (new Expr (_c_88, 3, 1)), new Expr (Expr.fromSequence ("verbose")))), new Expr (_c_174), new Expr (new Word ("display information about the stages of compilation")) };
     178  static private final Expr[] _va_14 = { new Expr (new Expr (new Expr (_c_76, 2, 1))), new Expr (_c_163), new Expr (new Word ("convert all symbol-words without surrounding quotes")), new Expr (new Word ("to upper case")) };
     179  static private final Expr[] _va_15 = { new Expr (new Expr (new Expr (_c_71, 1, 2))), new Expr (_c_156), new Expr (new Word ("output C++ code")) };
     180  static private final Expr[] _va_16 = { new Expr (new Expr (new Expr (_c_54, 1, 2))), new Expr (_c_157), new Expr (new Word ("generate header files")) };
     181  static private final Expr[] _va_17 = { new Expr (new Expr (new Expr (new Expr (_c_88, 1, 1)), new Expr (new Expr (_c_88, 1, 4)))), new Expr (_c_158), new Expr (new Word ("output Java code")) };
     182  static private final Expr[] _va_18 = { new Expr (new Expr (Expr.fromSequence ("jbc"))), new Expr (_c_159), new Expr (new Word ("output Java byte-code")) };
     183  static private final Expr[] _va_19 = { new Expr (new Expr (new Expr (new Expr (_c_170, 1, 1)), new Expr (Expr.fromSequence ("t++")))), new Expr (_c_160), new Expr (new Word ("output T++ code")) };
     184  static private final Expr[] _va_20 = { new Expr (new Expr (new Expr (new Expr (_c_22, 2, 3)), new Expr (Expr.fromSequence ("as-refal")))), new Expr (_c_153), new Expr (new Word ("output Refal Abstract Syntax")) };
     185  static private final Expr[] _va_21 = { new Expr (new Expr (new Expr (new Expr (_c_43, 1, 3)), new Expr (Expr.fromSequence ("as-transformed")))), new Expr (_c_154), new Expr (new Word ("output Refal Abstract Syntax after AS-to-AS")), new Expr (new Word ("transformations")) };
     186  static private final Expr[] _va_22 = { new Expr (new Expr (new Expr (new Expr (_c_51, 1, 3)), new Expr (_c_175))), new Expr (_c_176), new Expr (new Word ("output Abstract Syntax of Abstract Imperative")), new Expr (new Word ("Language")) };
     187  static private final Expr[] _va_23 = { new Expr (new Expr (Expr.fromSequence ("dbg"))), new Expr (_c_179), new Expr (new Word ("generate text for debugger")) };
     188  static private final Expr[] _va_24 = { new Expr (new Expr (_c_180)), new Expr (new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("TRACEALL")))), new Expr (new Word ("trace all functions")) };
     189  static private final Expr[] _va_25 = { new Expr (_c_165), new Expr (_c_166), new Expr (new Expr (new Expr (new Expr (new Expr (_c_167), new Expr (Expr.fromSequence ("no-elaborate")))), new Expr (new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("NO-ELABORATE")))))), new Expr (Expr.concat (_va_9)), new Expr (Expr.concat (_va_10)), new Expr (Expr.concat (_va_11)), new Expr (Expr.concat (_va_12)), new Expr (_c_172), new Expr (_c_173), new Expr (_c_149), new Expr (Expr.concat (_va_13)), new Expr (Expr.concat (_va_14)), new Expr (_c_152), new Expr (Expr.concat (_va_15)), new Expr (Expr.concat (_va_16)), new Expr (Expr.concat (_va_17)), new Expr (Expr.concat (_va_18)), new Expr (Expr.concat (_va_19)), new Expr (Expr.concat (_va_20)), new Expr (Expr.concat (_va_21)), new Expr (Expr.concat (_va_22)), new Expr (_c_177), new Expr (_c_178), new Expr (new Expr (new Expr (new Expr (new Expr (new Expr (_c_82, 6, 1)), new Expr (Expr.fromSequence ("debug")))), new Expr (new Expr (new Expr (new Word ("BIND")), new Expr (new Word ("DEBUG")))))), new Expr (Expr.concat (_va_23)), new Expr (_c_181), new Expr (Expr.concat (_va_24)) };
     190  static private final Expr _c_98 = Expr.concat (_va_25);
     191  static private final Expr _c_99 = new Expr (new BigInteger ("29"));
     192  static private final Expr _c_100 = new Expr (new Word ("Refal+ compiler "));
     193  static private final Expr _c_101 = new Expr (new Word ("Copyright blah-blah-blah"));
     194  static private final Expr _c_102 = new Expr (new Word ("Usage: rfpc [options] file1 [file2 ...]"));
     195  static private final Expr _c_103 = new Expr (new Word ("Options:"));
     196  static private final Expr _c_104 = new Expr (_c_175, 2, 1);
     197  static private final Expr _c_105 = Expr.fromSequence (", -");
     198  static private final Expr _c_106 = new Expr (_c_5, 0, 1);
    198199  static private final Expr _c_107 = new Expr (_c_165, 1, 1);
    199   static private final Expr _c_108 = new Expr (_c_171, 1, 1);
    200   static private final Expr _c_109 = new Expr (new Word ("ITEMS"));
    201   static private final Expr _c_110 = new Expr (_c_172, 1, 1);
    202   static private final Expr _c_111 = new Expr (new Word ("ENTRIES"));
    203   static private final Expr _c_112 = new Expr (_c_180, 1, 1);
    204   static private final Expr _c_113 = new Expr (_c_176, 1, 1);
     200  static private final Expr _c_108 = new Expr (_c_166, 1, 1);
     201  static private final Expr _c_109 = new Expr (_c_172, 1, 1);
     202  static private final Expr _c_110 = new Expr (new Word ("ITEMS"));
     203  static private final Expr _c_111 = new Expr (_c_173, 1, 1);
     204  static private final Expr _c_112 = new Expr (new Word ("ENTRIES"));
     205  static private final Expr _c_113 = new Expr (_c_181, 1, 1);
    205206  static private final Expr _c_114 = new Expr (_c_177, 1, 1);
    206   static private final Expr _c_115 = new Expr (new Word ("REPLACE-MODULE-2"));
    207   static private final Expr _c_116 = new Expr (_c_175, 0, 1);
    208   static private final Expr _c_117 = new Expr (new Word ("\""));
    209   static private final Expr _c_118 = new Expr (new Word ("Unknown option \"-"));
    210   static private final Expr _c_119 = new Expr (new Word ("Last option requires parameter"));
    211   static private final Expr _c_120 = new Expr (_c_170, 1, 1);
    212   static private final Expr _c_181 = new Expr (new Word ("PRAGMA"));
    213   static private final Expr _c_182 = new Expr (new Expr (new Word ("EVAR")));
    214   static private final Expr[] _va_26 = { new Expr (new Word ("IMPORT")), new Expr (new Word ("FUNC")), new Expr (_c_181), new Expr (_c_182), new Expr (Expr.empty) };
    215   static private final Expr _c_133 = Expr.concat (_va_26);
    216   static private final Expr _c_121 = new Expr (_c_133, 1, 1);
    217   static private final Expr _c_122 = new Expr (new BigInteger ("2"));
    218   static private final Expr _c_123 = new Expr (new Word ("TFUNC"));
    219   static private final Expr[] _va_27 = { new Expr (new Word ("IMPORT")), new Expr (new Word ("FUNC?")), new Expr (_c_181), new Expr (_c_182), new Expr (Expr.empty) };
    220   static private final Expr _c_131 = Expr.concat (_va_27);
    221   static private final Expr _c_128 = new Expr (_c_131, 0, 2);
    222   static private final Expr _c_124 = new Expr (_c_128, 1, 1);
    223   static private final Expr _c_125 = new Expr (new Word ("CONST"));
    224   static private final Expr _c_126 = new Expr (new Word ("EXTERN"));
    225   static private final Expr _c_127 = new Expr (new Expr (_c_182), new Expr (_c_182));
    226   static private final Expr _c_129 = new Expr (_c_178, 1, 1);
    227   static private final Expr _c_130 = new Expr (new Expr (new Expr (new Word ("Debug")), new Expr (new Word ("Stop?"))));
    228   static private final Expr _c_183 = new Expr (new Expr (new Word ("Debug")), new Expr (new Word ("Debug")));
    229   static private final Expr _c_132 = new Expr (_c_183);
    230   static private final Expr _c_134 = Expr.fromSequence ("(");
    231   static private final Expr _c_135 = Expr.fromSequence ("  ");
    232   static private final Expr _c_136 = Expr.fromSequence (")");
    233   static private final Expr _c_137 = new Expr (new Word ("LABEL"));
    234   static private final Expr _c_138 = new Expr (_c_173, 1, 1);
    235   static private final Expr _c_139 = new Expr (new Word (": "));
    236   static private final Expr _c_140 = new Expr (new Word ("W"));
    237   static private final Expr _c_141 = new Expr (new Word (" for writing"));
    238   static private final Expr _c_142 = new Expr (new Word ("Error: cannot open file "));
    239   static private final Expr _c_143 = new Expr (new Word ("INPUT"));
    240   static private final Expr _c_144 = new Expr (_c_183, 0, 1);
    241   static private final Expr _c_145 = new Expr (_c_104, 0, 2);
    242   static private final Expr _c_146 = Expr.fromSequence ("2.0-beta-");
    243   static private final Expr _c_147 = Expr.fromSequence ("2.0-unknown-beta");
     207  static private final Expr _c_115 = new Expr (_c_178, 1, 1);
     208  static private final Expr _c_116 = new Expr (new Word ("REPLACE-MODULE-2"));
     209  static private final Expr _c_117 = new Expr (_c_176, 0, 1);
     210  static private final Expr _c_118 = new Expr (new Word ("\""));
     211  static private final Expr _c_119 = new Expr (new Word ("Unknown option \"-"));
     212  static private final Expr _c_120 = new Expr (new Word ("Last option requires parameter"));
     213  static private final Expr _c_121 = new Expr (_c_171, 1, 1);
     214  static private final Expr _c_182 = new Expr (new Word ("PRAGMA"));
     215  static private final Expr _c_183 = new Expr (new Expr (new Word ("EVAR")));
     216  static private final Expr[] _va_26 = { new Expr (new Word ("IMPORT")), new Expr (new Word ("FUNC")), new Expr (_c_182), new Expr (_c_183), new Expr (Expr.empty) };
     217  static private final Expr _c_134 = Expr.concat (_va_26);
     218  static private final Expr _c_122 = new Expr (_c_134, 1, 1);
     219  static private final Expr _c_123 = new Expr (new BigInteger ("2"));
     220  static private final Expr _c_124 = new Expr (new Word ("TFUNC"));
     221  static private final Expr[] _va_27 = { new Expr (new Word ("IMPORT")), new Expr (new Word ("FUNC?")), new Expr (_c_182), new Expr (_c_183), new Expr (Expr.empty) };
     222  static private final Expr _c_132 = Expr.concat (_va_27);
     223  static private final Expr _c_129 = new Expr (_c_132, 0, 2);
     224  static private final Expr _c_125 = new Expr (_c_129, 1, 1);
     225  static private final Expr _c_126 = new Expr (new Word ("CONST"));
     226  static private final Expr _c_127 = new Expr (new Word ("EXTERN"));
     227  static private final Expr _c_128 = new Expr (new Expr (_c_183), new Expr (_c_183));
     228  static private final Expr _c_130 = new Expr (_c_179, 1, 1);
     229  static private final Expr _c_131 = new Expr (new Expr (new Expr (new Word ("Debug")), new Expr (new Word ("Stop?"))));
     230  static private final Expr _c_184 = new Expr (new Expr (new Word ("Debug")), new Expr (new Word ("Debug")));
     231  static private final Expr _c_133 = new Expr (_c_184);
     232  static private final Expr _c_135 = Expr.fromSequence ("(");
     233  static private final Expr _c_136 = Expr.fromSequence ("  ");
     234  static private final Expr _c_137 = Expr.fromSequence (")");
     235  static private final Expr _c_138 = new Expr (new Word ("LABEL"));
     236  static private final Expr _c_139 = new Expr (_c_174, 1, 1);
     237  static private final Expr _c_140 = new Expr (new Word (": "));
     238  static private final Expr _c_141 = new Expr (new Word ("W"));
     239  static private final Expr _c_142 = new Expr (new Word (" for writing"));
     240  static private final Expr _c_143 = new Expr (new Word ("Error: cannot open file "));
     241  static private final Expr _c_144 = new Expr (new Word ("INPUT"));
     242  static private final Expr _c_145 = new Expr (_c_184, 0, 1);
     243  static private final Expr _c_146 = new Expr (_c_105, 0, 2);
     244  static private final Expr _c_147 = Expr.fromSequence ("2.0-beta-");
     245  static private final Expr _c_148 = Expr.fromSequence ("2.0-unknown-beta");
    244246
    245247  static public void Main (Result _v_res1) throws RefalException
     
    295297            _exit1: _continue1: for ( ; ; _va_28.next ())
    296298            {
    297               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_90_m_29 = _va_28.getLeft();
     299              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_92_m_29 = _va_28.getLeft();
    298300              Expr _v_lsplit___q_2 = _va_28.getRight();
    299301              if (!_va_28.isValid ())
     
    307309                break _block3__branch1;
    308310              }
    309               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_90_m_56 = (_v_len1 - _v_len2);
     311              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_92_m_56 = (_v_len1 - _v_len2);
    310312              if (_v_lsplit___q_2.symbolAt (0))
    311313              {
     
    331333                continue _continue1;
    332334              }
    333               int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_90_m_42 = (_v_len5 - _v_len6);
     335              int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_92_m_42 = (_v_len5 - _v_len6);
    334336              if (_v_deref__deref__lsplit___q_2.symbolAt (0))
    335337              {
     
    344346              }
    345347              int _v_len__next = (_v_len7 - _v_len8);
    346               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_90_m_56 = new Expr (_v_lsplit___q_2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_90_m_56);
    347               Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_90_m_45 = new Expr (_v_deref__lsplit___q_2, (0 + 1), 1);
     348              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_92_m_56 = new Expr (_v_lsplit___q_2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_92_m_56);
     349              Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_92_m_45 = new Expr (_v_deref__lsplit___q_2, (0 + 1), 1);
    348350              Expr _ve_descr = new Expr (_v_deref__lsplit___q_2, (0 + 1 + 1), _v_len__descr);
    349               Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_90_m_42 = new Expr (_v_deref__deref__lsplit___q_2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_90_m_42);
     351              Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_92_m_42 = new Expr (_v_deref__deref__lsplit___q_2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_92_m_42);
    350352              Expr _ve_next = new Expr (_v_deref__deref__deref__lsplit___q_2, 0, _v_len__next);
    351353              Result _gs_auxcall2 = new Result ();
     
    364366                    break _block4__branch1;
    365367                  }
    366                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_93_m_36 = (_v_len9 - _v_len10);
     368                  int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_95_m_36 = (_v_len9 - _v_len10);
    367369                  if (_ve_descr.symbolAt (0))
    368370                  {
     
    377379                  }
    378380                  int _v_len__arg = (_v_len11 - _v_len12);
    379                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_93_m_36 = new Expr (_ve_descr, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_93_m_36);
     381                  Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_95_m_36 = new Expr (_ve_descr, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_95_m_36);
    380382                  Expr _ve_arg = new Expr (_v_deref__descr, 0, _v_len__arg);
    381383                  Expr[] _va_29 = { _c_7 , _ve_next , _c_6 , _ve_arg , _c_5 };
     
    10751077                    _exit5: _continue5: for ( ; ; _va_44.next ())
    10761078                    {
    1077                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_232_m_64 = _va_44.getLeft();
     1079                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_234_m_64 = _va_44.getLeft();
    10781080                      Expr _v_lsplit__compose1 = _va_44.getRight();
    10791081                      if (!_va_44.isValid ())
     
    10871089                        break _block26__branch1;
    10881090                      }
    1089                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_232_m_73 = (_v_len29 - _v_len30);
     1091                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_234_m_73 = (_v_len29 - _v_len30);
    10901092                      Expr _vt_item = new Expr (_v_lsplit__compose1, 0, 1);
    1091                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_232_m_73 = new Expr (_v_lsplit__compose1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_232_m_73);
     1093                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_234_m_73 = new Expr (_v_lsplit__compose1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_234_m_73);
    10921094                      RFP_m_Pretty_m_Print (_vs_channel.getExpr (), Expr.empty, _vt_item);
    10931095                    }
     
    11351137                  break _block28__branch1;
    11361138                }
    1137                 Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_240_m_38 = new Expr (_v_deref__interf, (0 + 1), 1);
     1139                Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_242_m_38 = new Expr (_v_deref__interf, (0 + 1), 1);
    11381140                Expr _vv_headers = new Expr (_v_deref__interf, (0 + 1 + 1), _v_len__headers);
    11391141                Verbose (_c_52);
     
    12541256                  break _block28__branch2;
    12551257                }
    1256                 int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_272_m_60 = (_v_len35 - _v_len36);
    1257                 Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_272_m_60 = new Expr (_ve_asail_m_module, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_272_m_60);
     1258                int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_274_m_60 = (_v_len35 - _v_len36);
     1259                Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_274_m_60 = new Expr (_ve_asail_m_module, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_274_m_60);
    12581260                Verbose (_c_69);
    12591261                Result _ge_module__10__12 = new Result ();
     
    12741276                  _exit6: _continue6: for ( ; ; _va_53.next ())
    12751277                  {
    1276                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_279_m_43 = _va_53.getLeft();
     1278                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_281_m_43 = _va_53.getLeft();
    12771279                    Expr _v_lsplit__Domain1 = _va_53.getRight();
    12781280                    if (!_va_53.isValid ())
     
    12861288                      break _block33__branch1;
    12871289                    }
    1288                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_279_m_57 = (_v_len37 - _v_len38);
     1290                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_281_m_57 = (_v_len37 - _v_len38);
    12891291                    if (_v_lsplit__Domain1.symbolAt (0))
    12901292                    {
     
    12991301                    }
    13001302                    int _v_len__include = (_v_len39 - _v_len40);
    1301                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_279_m_57 = new Expr (_v_lsplit__Domain1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_279_m_57);
     1303                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_281_m_57 = new Expr (_v_lsplit__Domain1, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_281_m_57);
    13021304                    Expr _ve_include = new Expr (_v_deref__lsplit__Domain1, 0, _v_len__include);
    13031305                    Result _v_Lookup1 = new Result ();
     
    13151317                          break _block34__branch1;
    13161318                        }
    1317                         int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_281_m_27 = (_v_len41 - _v_len42);
     1319                        int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_283_m_27 = (_v_len41 - _v_len42);
    13181320                        if (!_c_73.eq (_v_Lookup1.getExpr (), 0))
    13191321                        {
    13201322                          break _block34__branch1;
    13211323                        }
    1322                         Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_281_m_27 = new Expr (_v_Lookup1.getExpr (), (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_281_m_27);
     1324                        Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_283_m_27 = new Expr (_v_Lookup1.getExpr (), (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_283_m_27);
    13231325                        Expr[] _va_54 = { _c_74 , _ve_include , _c_62 };
    13241326                        _ge_include__15 = Expr.concat (_va_54);
     
    13381340                        _exit7: _continue7: for ( ; ; _va_55.next ())
    13391341                        {
    1340                           Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_282_m_28 = _va_55.getLeft();
     1342                          Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_284_m_28 = _va_55.getLeft();
    13411343                          Expr _v_lsplit__Lookup1 = _va_55.getRight();
    13421344                          if (!_va_55.isValid ())
     
    13501352                            break _block34__branch2;
    13511353                          }
    1352                           int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_282_m_68 = (_v_len43 - _v_len44);
     1354                          int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_284_m_68 = (_v_len43 - _v_len44);
    13531355                          if (!_c_78.eq (_v_lsplit__Lookup1, 0))
    13541356                          {
     
    13791381                            continue _continue7;
    13801382                          }
    1381                           Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_282_m_36 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1), 1);
    1382                           Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_282_m_46 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1), 1);
    1383                           Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_282_m_55 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1), 1);
    1384                           Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_282_m_68 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_282_m_68);
     1383                          Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_284_m_36 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1), 1);
     1384                          Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_284_m_46 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1), 1);
     1385                          Expr _vs__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_284_m_55 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1), 1);
     1386                          Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_284_m_68 = new Expr (_v_lsplit__Lookup1, (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_284_m_68);
    13851387                          continue _continue6;
    13861388                        }
     
    14311433                  break _block28__branch3;
    14321434                }
    1433                 int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_291_m_61 = (_v_len47 - _v_len48);
    1434                 Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_291_m_61 = new Expr (_ve_asail_m_module, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_291_m_61);
     1435                int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_293_m_61 = (_v_len47 - _v_len48);
     1436                Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_293_m_61 = new Expr (_ve_asail_m_module, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_293_m_61);
    14351437                Verbose (_c_83);
    14361438                Result _ge_module__10__12 = new Result ();
     
    14511453                  _exit8: _continue8: for ( ; ; _va_57.next ())
    14521454                  {
    1453                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_298_m_43 = _va_57.getLeft();
     1455                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_300_m_43 = _va_57.getLeft();
    14541456                    Expr _v_lsplit__Domain2 = _va_57.getRight();
    14551457                    if (!_va_57.isValid ())
     
    14631465                      break _block36__branch1;
    14641466                    }
    1465                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_298_m_57 = (_v_len49 - _v_len50);
     1467                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_300_m_57 = (_v_len49 - _v_len50);
    14661468                    if (_v_lsplit__Domain2.symbolAt (0))
    14671469                    {
     
    14761478                    }
    14771479                    int _v_len__include2 = (_v_len51 - _v_len52);
    1478                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_298_m_57 = new Expr (_v_lsplit__Domain2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_298_m_57);
     1480                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_300_m_57 = new Expr (_v_lsplit__Domain2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_300_m_57);
    14791481                    Expr _ve_include = new Expr (_v_deref__lsplit__Domain2, 0, _v_len__include2);
    14801482                    Result _v_Lookup2 = new Result ();
     
    14921494                          break _block37__branch1;
    14931495                        }
    1494                         int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_300_m_27 = (_v_len53 - _v_len54);
     1496                        int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_302_m_27 = (_v_len53 - _v_len54);
    14951497                        if (!_c_73.eq (_v_Lookup2.getExpr (), 0))
    14961498                        {
    14971499                          break _block37__branch1;
    14981500                        }
    1499                         Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_300_m_27 = new Expr (_v_Lookup2.getExpr (), (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_300_m_27);
     1501                        Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_302_m_27 = new Expr (_v_Lookup2.getExpr (), (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_302_m_27);
    15001502                        Expr[] _va_58 = { _c_74 , _ve_include , _c_62 };
    15011503                        _ge_include__15 = Expr.concat (_va_58);
     
    15621564                  break _block28__branch4;
    15631565                }
    1564                 Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_311_m_38 = new Expr (_v_deref__interf2, (0 + 1), 1);
     1566                Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_313_m_38 = new Expr (_v_deref__interf2, (0 + 1), 1);
    15651567                Expr _ve_headers = new Expr (_v_deref__interf2, (0 + 1 + 1), _v_len__headers2);
    15661568                Expr _ve_exports = Expr.empty;
     
    16251627                      break _block41__branch2;
    16261628                    }
    1627                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_325_m_30 = (_v_len61 - _v_len62);
    1628                     Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_325_m_30 = new Expr (_ve_dirname, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_325_m_30);
     1629                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_327_m_30 = (_v_len61 - _v_len62);
     1630                    Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_327_m_30 = new Expr (_ve_dirname, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_327_m_30);
    16291631                    Expr[] _va_60 = { _ve_dirname , _vs_dir_m_separator , _ve_java_m_module_m_name.getExpr () };
    16301632                    _ge_java_m_module_m_name__14 = Expr.concat (_va_60);
     
    16481650                    _exit9: _continue9: for ( ; ; _va_61.next ())
    16491651                    {
    1650                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_330_m_42 = _va_61.getLeft();
     1652                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_332_m_42 = _va_61.getLeft();
    16511653                      Expr _v_lsplit___q_5 = _va_61.getRight();
    16521654                      if (!_va_61.isValid ())
     
    16601662                        break _block42__branch1;
    16611663                      }
    1662                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_330_m_52 = (_v_len63 - _v_len64);
     1664                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_332_m_52 = (_v_len63 - _v_len64);
    16631665                      if (_v_lsplit___q_5.symbolAt (0))
    16641666                      {
     
    16731675                      }
    16741676                      int _v_len__dir2 = (_v_len65 - _v_len66);
    1675                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_330_m_52 = new Expr (_v_lsplit___q_5, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_330_m_52);
     1677                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_332_m_52 = new Expr (_v_lsplit___q_5, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_332_m_52);
    16761678                      Expr _ve_dir = new Expr (_v_deref__lsplit___q_5, 0, _v_len__dir2);
    16771679                      _block43: {
     
    17201722                      break _block44__branch1;
    17211723                    }
    1722                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_338_m_30 = (_v_len69 - _v_len70);
    1723                     Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_338_m_30 = new Expr (_ve_package, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_338_m_30);
     1724                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_340_m_30 = (_v_len69 - _v_len70);
     1725                    Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_340_m_30 = new Expr (_ve_package, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_340_m_30);
    17241726                    Result _ge_auxcall12 = new Result ();
    17251727                    rfp__helper.Subst (_vs_dir_m_separator, _c_89, _ve_package, _ge_auxcall12);
     
    17381740                  _exit10: _continue10: for ( ; ; _va_63.next ())
    17391741                  {
    1740                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_344_m_29 = _va_63.getLeft();
     1742                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_346_m_29 = _va_63.getLeft();
    17411743                    Expr _v_lsplit__inputs = _va_63.getRight();
    17421744                    if (!_va_63.isValid ())
     
    17501752                      break _block45__branch1;
    17511753                    }
    1752                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_344_m_47 = (_v_len71 - _v_len72);
     1754                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_346_m_47 = (_v_len71 - _v_len72);
    17531755                    if (_v_lsplit__inputs.symbolAt (0))
    17541756                    {
     
    17631765                    }
    17641766                    int _v_len__java_m_module = (_v_len73 - _v_len74);
    1765                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_344_m_47 = new Expr (_v_lsplit__inputs, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_344_m_47);
     1767                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_346_m_47 = new Expr (_v_lsplit__inputs, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_346_m_47);
    17661768                    Expr _vv_java_m_module = new Expr (_v_deref__lsplit__inputs, 0, _v_len__java_m_module);
    17671769                    Expr _ge_java_m_module__18 = Expr.empty;
     
    17811783                              break _block47__branch1;
    17821784                            }
    1783                             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_346_m_27 = (_v_len75 - _v_len76);
     1785                            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_348_m_27 = (_v_len75 - _v_len76);
    17841786                            if (!_c_73.eq (_v_Lookup3.getExpr (), 0))
    17851787                            {
    17861788                              break _block47__branch1;
    17871789                            }
    1788                             Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_346_m_27 = new Expr (_v_Lookup3.getExpr (), (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_346_m_27);
     1790                            Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_348_m_27 = new Expr (_v_Lookup3.getExpr (), (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_348_m_27);
    17891791                            _ge_java_m_module__18 = new Expr (_c_93, _vv_java_m_module);
    17901792                            break _block47;
     
    18111813                          _exit11: _continue11: for ( ; ; _va_64.next ())
    18121814                          {
    1813                             Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_348_m_48 = _va_64.getLeft();
     1815                            Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_350_m_48 = _va_64.getLeft();
    18141816                            Expr _v_lsplit___q_6 = _va_64.getRight();
    18151817                            if (!_va_64.isValid ())
     
    18231825                              break _block46__branch1;
    18241826                            }
    1825                             int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_348_m_58 = (_v_len79 - _v_len80);
     1827                            int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_350_m_58 = (_v_len79 - _v_len80);
    18261828                            if (_v_lsplit___q_6.symbolAt (0))
    18271829                            {
     
    18361838                            }
    18371839                            int _v_len__dir3 = (_v_len81 - _v_len82);
    1838                             Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_348_m_58 = new Expr (_v_lsplit___q_6, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_348_m_58);
     1840                            Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_350_m_58 = new Expr (_v_lsplit___q_6, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_350_m_58);
    18391841                            Expr _ve_dir = new Expr (_v_deref__lsplit___q_6, 0, _v_len__dir3);
    18401842                            Expr _ve_p = Expr.empty;
     
    18911893                    _exit12: _continue12: for ( ; ; _va_65.next ())
    18921894                    {
    1893                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_358_m_39 = _va_65.getLeft();
     1895                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_360_m_39 = _va_65.getLeft();
    18941896                      Expr _v_lsplit__java_m_module__18 = _va_65.getRight();
    18951897                      if (!_va_65.isValid ())
     
    19031905                        continue _continue10;
    19041906                      }
    1905                       int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_358_m_45 = (_v_len85 - _v_len86);
     1907                      int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_360_m_45 = (_v_len85 - _v_len86);
    19061908                      if (!_c_13.eq (_v_lsplit__java_m_module__18, 0))
    19071909                      {
    19081910                        continue _continue12;
    19091911                      }
    1910                       Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_358_m_45 = new Expr (_v_lsplit__java_m_module__18, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_358_m_45);
     1912                      Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_360_m_45 = new Expr (_v_lsplit__java_m_module__18, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_360_m_45);
    19111913                      break _exit12;
    19121914                    }
     
    19361938              }
    19371939              Verbose (_c_95);
    1938               if ((1 != 1))
    1939               {
    1940                 continue _continue2;
    1941               }
    1942               if (_vt_interf.symbolAt (0))
    1943               {
    1944                 continue _continue2;
    1945               }
    1946               Expr _v_deref__interf3 = (Expr) _vt_interf.at (0);
    1947               int _v_len87 = _v_deref__interf3.getLen ();
    1948               int _v_len88 = 2;
    1949               if ((_v_len87 < _v_len88))
    1950               {
    1951                 continue _continue2;
    1952               }
    1953               int _v_len__headers3 = (_v_len87 - _v_len88);
    1954               if (!_c_45.eq (_v_deref__interf3, 0))
    1955               {
    1956                 continue _continue2;
    1957               }
    1958               Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_367_m_38 = new Expr (_v_deref__interf3, (0 + 1), 1);
    1959               Expr _ve_headers = new Expr (_v_deref__interf3, (0 + 1 + 1), _v_len__headers3);
    1960               Expr _ve_exports = Expr.empty;
    1961               Expr _ge_headers__14 = _ve_headers;
    1962               Expr _ge_exports__14 = Expr.empty;
    1963               _exit__iter3: for ( ; ; )
    1964               {
    1965                 _iter3: {
    1966                   if ((_ge_headers__14.getLen () != 0))
    1967                   {
    1968                     break _iter3;
    1969                   }
    1970                   _ve_exports = _ge_exports__14;
    1971                   break _exit__iter3;
    1972                 }
    1973                 int _v_len89 = _ge_headers__14.getLen ();
    1974                 int _v_len90 = 1;
    1975                 if ((_v_len89 < _v_len90))
    1976                 {
    1977                   throw new RefalException ("rfpc", "Main", "Unexpected fail");
    1978                 }
    1979                 int _v_len__rest2 = (_v_len89 - _v_len90);
    1980                 if (_ge_headers__14.symbolAt (0))
    1981                 {
    1982                   throw new RefalException ("rfpc", "Main", "Unexpected fail");
    1983                 }
    1984                 Expr _v_deref__headers__142 = (Expr) _ge_headers__14.at (0);
    1985                 if ((_v_deref__headers__142.getLen () != 2))
    1986                 {
    1987                   throw new RefalException ("rfpc", "Main", "Unexpected fail");
    1988                 }
    1989                 if (!_v_deref__headers__142.symbolAt (0))
    1990                 {
    1991                   throw new RefalException ("rfpc", "Main", "Unexpected fail");
    1992                 }
    1993                 Expr _ve_rest = new Expr (_ge_headers__14, (0 + 1), _v_len__rest2);
    1994                 Expr _vs_decl = new Expr (_v_deref__headers__142, 0, 1);
    1995                 Expr _vt_name = new Expr (_v_deref__headers__142, (0 + 1), 1);
    1996                 _ge_headers__14 = _ve_rest;
    1997                 _ge_exports__14 = new Expr (_ge_exports__14, _vt_name);
    1998               }
    1999               Result _ve_java_m_module_m_name = new Result ();
    2000               Result _ve_inputs = new Result ();
    2001               Result _ge_module__10__13 = new Result ();
    2002               rfp__asail__jbc.RFP_m_ASAIL_m_To_m_JBC (_vt_asail_m_mod_m_name, _ve_exports, _ge_module__10, _ve_java_m_module_m_name, _ve_inputs, _ge_module__10__13);
    2003               Verbose (_c_96);
    2004               Expr _ge_java_m_module_m_name__14 = Expr.empty;
    2005               _block53: {
    2006                 _block53__branch1: {
    2007                   if (!Table.In_m_Table_q_ (rfp__helper.RFP_m_Options, _c_15))
    2008                   {
    2009                     break _block53__branch1;
    2010                   }
    2011                   _ge_java_m_module_m_name__14 = _ve_basename;
    2012                   break _block53;
    2013                 }
    2014                 _block53__branch2: {
    2015                   int _v_len91 = _ve_dirname.getLen ();
    2016                   int _v_len92 = 0;
    2017                   if ((_v_len91 < (_v_len92 + 1)))
    2018                   {
    2019                     break _block53__branch2;
    2020                   }
    2021                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_381_m_30 = (_v_len91 - _v_len92);
    2022                   Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_381_m_30 = new Expr (_ve_dirname, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_381_m_30);
    2023                   Expr[] _va_67 = { _ve_dirname , _vs_dir_m_separator , _ve_java_m_module_m_name.getExpr () };
    2024                   _ge_java_m_module_m_name__14 = Expr.concat (_va_67);
    2025                   break _block53;
    2026                 }
    2027                 _ge_java_m_module_m_name__14 = _ve_java_m_module_m_name.getExpr ();
    2028               }
    2029               Result _vs_channel = new Result ();
    2030               Result _vs_need_m_close_q_ = new Result ();
    2031               Open_m_Channel (_ge_java_m_module_m_name__14, _c_88, _vs_channel, _vs_need_m_close_q_);
     1940              Expr _ve_dir = Expr.empty;
    20321941              Expr _ve_package = Expr.empty;
    2033               _block54: {
    2034                 _block54__branch1: {
     1942              _block51: {
     1943                _block51__branch1: {
    20351944                  Result _v__q_7 = new Result ();
    20361945                  Box._q_ (RFP_m_Include_m_Path, _v__q_7);
    20371946                  if ((_v__q_7.getExpr ().getLen () < 1))
    20381947                  {
    2039                     break _block54__branch1;
    2040                   }
    2041                   Expr.SplitIterator _va_68 = _v__q_7.getExpr ().leftSplit(0);
    2042                   _exit13: _continue13: for ( ; ; _va_68.next ())
     1948                    break _block51__branch1;
     1949                  }
     1950                  Expr.SplitIterator _va_67 = _v__q_7.getExpr ().leftSplit(0);
     1951                  _exit13: _continue13: for ( ; ; _va_67.next ())
    20431952                  {
    2044                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_386_m_42 = _va_68.getLeft();
    2045                     Expr _v_lsplit___q_7 = _va_68.getRight();
    2046                     if (!_va_68.isValid ())
    2047                     {
    2048                       break _block54__branch1;
    2049                     }
    2050                     int _v_len93 = _v_lsplit___q_7.getLen ();
    2051                     int _v_len94 = 1;
    2052                     if ((_v_len93 < _v_len94))
    2053                     {
    2054                       break _block54__branch1;
    2055                     }
    2056                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_386_m_52 = (_v_len93 - _v_len94);
     1953                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_370_m_42 = _va_67.getLeft();
     1954                    Expr _v_lsplit___q_7 = _va_67.getRight();
     1955                    if (!_va_67.isValid ())
     1956                    {
     1957                      break _block51__branch1;
     1958                    }
     1959                    int _v_len87 = _v_lsplit___q_7.getLen ();
     1960                    int _v_len88 = 1;
     1961                    if ((_v_len87 < _v_len88))
     1962                    {
     1963                      break _block51__branch1;
     1964                    }
     1965                    int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_370_m_52 = (_v_len87 - _v_len88);
    20571966                    if (_v_lsplit___q_7.symbolAt (0))
    20581967                    {
     
    20601969                    }
    20611970                    Expr _v_deref__lsplit___q_7 = (Expr) _v_lsplit___q_7.at (0);
    2062                     int _v_len95 = _v_deref__lsplit___q_7.getLen ();
    2063                     int _v_len96 = 0;
    2064                     if ((_v_len95 < _v_len96))
     1971                    int _v_len89 = _v_deref__lsplit___q_7.getLen ();
     1972                    int _v_len90 = 0;
     1973                    if ((_v_len89 < _v_len90))
    20651974                    {
    20661975                      continue _continue13;
    20671976                    }
    2068                     int _v_len__dir4 = (_v_len95 - _v_len96);
    2069                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_386_m_52 = new Expr (_v_lsplit___q_7, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_386_m_52);
    2070                     Expr _ve_dir = new Expr (_v_deref__lsplit___q_7, 0, _v_len__dir4);
    2071                     _block55: {
    2072                       _block55__branch1: {
    2073                         if ((_ve_dirname.getLen () != _v_len__dir4))
     1977                    int _v_len__dir__14 = (_v_len89 - _v_len90);
     1978                    Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_370_m_52 = new Expr (_v_lsplit___q_7, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_370_m_52);
     1979                    Expr _ge_dir__14 = new Expr (_v_deref__lsplit___q_7, 0, _v_len__dir__14);
     1980                    _block52: {
     1981                      _block52__branch1: {
     1982                        if ((_ve_dirname.getLen () != _v_len__dir__14))
    20741983                        {
    2075                           break _block55__branch1;
     1984                          break _block52__branch1;
    20761985                        }
    2077                         if (!_ve_dir.eq (_ve_dirname, 0))
     1986                        if (!_ge_dir__14.eq (_ve_dirname, 0))
    20781987                        {
    2079                           break _block55__branch1;
     1988                          break _block52__branch1;
    20801989                        }
     1990                        _ve_dir = new Expr (_ge_dir__14, _vs_dir_m_separator);
    20811991                        _ve_package = Expr.empty;
    2082                         break _block55;
    2083                       }
    2084                       int _v_len97 = _ve_dirname.getLen ();
    2085                       int _v_len98 = (_v_len__dir4 + 1);
    2086                       if ((_v_len97 < _v_len98))
     1992                        break _block52;
     1993                      }
     1994                      int _v_len91 = _ve_dirname.getLen ();
     1995                      int _v_len92 = (_v_len__dir__14 + 1);
     1996                      if ((_v_len91 < _v_len92))
    20871997                      {
    20881998                        continue _continue13;
    20891999                      }
    2090                       int _v_len__package__182 = (_v_len97 - _v_len98);
    2091                       if (!_ve_dir.eq (_ve_dirname, 0))
     2000                      int _v_len__package__16 = (_v_len91 - _v_len92);
     2001                      if (!_ge_dir__14.eq (_ve_dirname, 0))
    20922002                      {
    20932003                        continue _continue13;
    20942004                      }
    2095                       if (!_vs_dir_m_separator.eq (_ve_dirname, (0 + _v_len__dir4)))
     2005                      if (!_vs_dir_m_separator.eq (_ve_dirname, (0 + _v_len__dir__14)))
    20962006                      {
    20972007                        continue _continue13;
    20982008                      }
    2099                       Expr _ge_package__18 = new Expr (_ve_dirname, (0 + _v_len__dir4 + 1), _v_len__package__182);
    2100                       _ve_package = _ge_package__18;
     2009                      Expr _ge_package__16 = new Expr (_ve_dirname, (0 + _v_len__dir__14 + 1), _v_len__package__16);
     2010                      _ve_dir = new Expr (_ge_dir__14, _vs_dir_m_separator);
     2011                      _ve_package = _ge_package__16;
    21012012                    }
    21022013                    break _exit13;
    21032014                  }
    2104                   break _block54;
    2105                 }
     2015                  break _block51;
     2016                }
     2017                _ve_dir = Expr.empty;
    21062018                _ve_package = _ve_dirname;
    21072019              }
    2108               _block56: {
    2109                 _block56__branch1: {
    2110                   int _v_len99 = _ve_package.getLen ();
    2111                   int _v_len100 = 0;
    2112                   if ((_v_len99 < (_v_len100 + 1)))
     2020              if ((1 != 1))
     2021              {
     2022                continue _continue2;
     2023              }
     2024              if (_vt_interf.symbolAt (0))
     2025              {
     2026                continue _continue2;
     2027              }
     2028              Expr _v_deref__interf3 = (Expr) _vt_interf.at (0);
     2029              int _v_len93 = _v_deref__interf3.getLen ();
     2030              int _v_len94 = 2;
     2031              if ((_v_len93 < _v_len94))
     2032              {
     2033                continue _continue2;
     2034              }
     2035              int _v_len__headers3 = (_v_len93 - _v_len94);
     2036              if (!_c_45.eq (_v_deref__interf3, 0))
     2037              {
     2038                continue _continue2;
     2039              }
     2040              Expr _vt__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_377_m_38 = new Expr (_v_deref__interf3, (0 + 1), 1);
     2041              Expr _ve_headers = new Expr (_v_deref__interf3, (0 + 1 + 1), _v_len__headers3);
     2042              Expr _ve_exports = Expr.empty;
     2043              Expr _ge_headers__15 = _ve_headers;
     2044              Expr _ge_exports__15 = Expr.empty;
     2045              _exit__iter3: for ( ; ; )
     2046              {
     2047                _iter3: {
     2048                  if ((_ge_headers__15.getLen () != 0))
    21132049                  {
    2114                     break _block56__branch1;
    2115                   }
    2116                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_394_m_30 = (_v_len99 - _v_len100);
    2117                   Expr _vv__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_394_m_30 = new Expr (_ve_package, 0, _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_394_m_30);
    2118                   Result _ge_auxcall15 = new Result ();
    2119                   rfp__helper.Subst (_vs_dir_m_separator, _c_89, _ve_package, _ge_auxcall15);
    2120                   Expr[] _va_69 = { _c_91 , _ge_auxcall15.getExpr () , _c_90 };
    2121                   StdIO.PrintLN_e_ (_vs_channel.getExpr (), Expr.concat (_va_69));
    2122                   break _block56;
    2123                 }
    2124               }
    2125               StdIO.PrintLN_e_ (_vs_channel.getExpr (), _c_92);
    2126               _block57__branch1: {
    2127                 if ((_ve_inputs.getExpr ().getLen () < 1))
    2128                 {
    2129                   break _block57__branch1;
    2130                 }
    2131                 Expr.SplitIterator _va_70 = _ve_inputs.getExpr ().leftSplit(0);
    2132                 _exit14: _continue14: for ( ; ; _va_70.next ())
    2133                 {
    2134                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_400_m_29 = _va_70.getLeft();
    2135                   Expr _v_lsplit__inputs2 = _va_70.getRight();
    2136                   if (!_va_70.isValid ())
    2137                   {
    2138                     break _block57__branch1;
    2139                   }
    2140                   int _v_len101 = _v_lsplit__inputs2.getLen ();
    2141                   int _v_len102 = 1;
    2142                   if ((_v_len101 < _v_len102))
    2143                   {
    2144                     break _block57__branch1;
    2145                   }
    2146                   int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_400_m_47 = (_v_len101 - _v_len102);
    2147                   if (_v_lsplit__inputs2.symbolAt (0))
    2148                   {
    2149                     continue _continue14;
    2150                   }
    2151                   Expr _v_deref__lsplit__inputs2 = (Expr) _v_lsplit__inputs2.at (0);
    2152                   int _v_len103 = _v_deref__lsplit__inputs2.getLen ();
    2153                   int _v_len104 = 0;
    2154                   if ((_v_len103 < (_v_len104 + 1)))
    2155                   {
    2156                     continue _continue14;
    2157                   }
    2158                   int _v_len__java_m_module2 = (_v_len103 - _v_len104);
    2159                   Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_400_m_47 = new Expr (_v_lsplit__inputs2, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_400_m_47);
    2160                   Expr _vv_java_m_module = new Expr (_v_deref__lsplit__inputs2, 0, _v_len__java_m_module2);
    2161                   Expr _ge_java_m_module__18 = Expr.empty;
    2162                   _block58: {
    2163                     _block58__branch1: {
    2164                       Result _v_Lookup4 = new Result ();
    2165                       if (!Table.Lookup (RFP_m_Includes, _vv_java_m_module, _v_Lookup4))
    2166                       {
    2167                         break _block58__branch1;
    2168                       }
    2169                       _block59: {
    2170                         _block59__branch1: {
    2171                           int _v_len105 = _v_Lookup4.getExpr ().getLen ();
    2172                           int _v_len106 = 1;
    2173                           if ((_v_len105 < _v_len106))
    2174                           {
    2175                             break _block59__branch1;
    2176                           }
    2177                           int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_402_m_27 = (_v_len105 - _v_len106);
    2178                           if (!_c_73.eq (_v_Lookup4.getExpr (), 0))
    2179                           {
    2180                             break _block59__branch1;
    2181                           }
    2182                           Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_402_m_27 = new Expr (_v_Lookup4.getExpr (), (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_402_m_27);
    2183                           _ge_java_m_module__18 = new Expr (_c_93, _vv_java_m_module);
    2184                           break _block59;
    2185                         }
    2186                         int _v_len107 = _v_Lookup4.getExpr ().getLen ();
    2187                         int _v_len108 = 1;
    2188                         if ((_v_len107 < _v_len108))
    2189                         {
    2190                           break _block58__branch1;
    2191                         }
    2192                         int _v_len__path4 = (_v_len107 - _v_len108);
    2193                         if (!_c_79.eq (_v_Lookup4.getExpr (), 0))
    2194                         {
    2195                           break _block58__branch1;
    2196                         }
    2197                         Expr _ve_path = new Expr (_v_Lookup4.getExpr (), (0 + 1), _v_len__path4);
    2198                         Result _v__q_8 = new Result ();
    2199                         Box._q_ (RFP_m_Include_m_Path, _v__q_8);
    2200                         if ((_v__q_8.getExpr ().getLen () < 1))
    2201                         {
    2202                           break _block58__branch1;
    2203                         }
    2204                         Expr.SplitIterator _va_71 = _v__q_8.getExpr ().leftSplit(0);
    2205                         _exit15: _continue15: for ( ; ; _va_71.next ())
    2206                         {
    2207                           Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_404_m_48 = _va_71.getLeft();
    2208                           Expr _v_lsplit___q_8 = _va_71.getRight();
    2209                           if (!_va_71.isValid ())
    2210                           {
    2211                             break _block58__branch1;
    2212                           }
    2213                           int _v_len109 = _v_lsplit___q_8.getLen ();
    2214                           int _v_len110 = 1;
    2215                           if ((_v_len109 < _v_len110))
    2216                           {
    2217                             break _block58__branch1;
    2218                           }
    2219                           int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_404_m_58 = (_v_len109 - _v_len110);
    2220                           if (_v_lsplit___q_8.symbolAt (0))
    2221                           {
    2222                             continue _continue15;
    2223                           }
    2224                           Expr _v_deref__lsplit___q_8 = (Expr) _v_lsplit___q_8.at (0);
    2225                           int _v_len111 = _v_deref__lsplit___q_8.getLen ();
    2226                           int _v_len112 = 0;
    2227                           if ((_v_len111 < _v_len112))
    2228                           {
    2229                             continue _continue15;
    2230                           }
    2231                           int _v_len__dir5 = (_v_len111 - _v_len112);
    2232                           Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_404_m_58 = new Expr (_v_lsplit___q_8, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_404_m_58);
    2233                           Expr _ve_dir = new Expr (_v_deref__lsplit___q_8, 0, _v_len__dir5);
    2234                           Expr _ve_p = Expr.empty;
    2235                           _block60: {
    2236                             _block60__branch1: {
    2237                               if ((_v_len__path4 != _v_len__dir5))
    2238                               {
    2239                                 break _block60__branch1;
    2240                               }
    2241                               if (!_ve_dir.eq (_ve_path, 0))
    2242                               {
    2243                                 break _block60__branch1;
    2244                               }
    2245                               _ve_p = Expr.empty;
    2246                               break _block60;
    2247                             }
    2248                             int _v_len113 = _v_len__path4;
    2249                             int _v_len114 = (_v_len__dir5 + 1);
    2250                             if ((_v_len113 < _v_len114))
    2251                             {
    2252                               continue _continue15;
    2253                             }
    2254                             int _v_len__p__232 = (_v_len113 - _v_len114);
    2255                             if (!_ve_dir.eq (_ve_path, 0))
    2256                             {
    2257                               continue _continue15;
    2258                             }
    2259                             if (!_vs_dir_m_separator.eq (_ve_path, (0 + _v_len__dir5)))
    2260                             {
    2261                               continue _continue15;
    2262                             }
    2263                             Expr _ge_p__23 = new Expr (_ve_path, (0 + _v_len__dir5 + 1), _v_len__p__232);
    2264                             _ve_p = _ge_p__23;
    2265                           }
    2266                           Result _ge_auxcall16 = new Result ();
    2267                           rfp__helper.Subst (_vs_dir_m_separator, _c_89, _ve_p, _ge_auxcall16);
    2268                           Result _gs_auxcall17 = new Result ();
    2269                           Convert.To_m_Word (_vv_java_m_module, _gs_auxcall17);
    2270                           Result _v_Rfp2Java2 = new Result ();
    2271                           JavaMangle.Rfp2Java (_gs_auxcall17.getExpr (), _v_Rfp2Java2);
    2272                           _ge_java_m_module__18 = new Expr (_ge_auxcall16.getExpr (), _v_Rfp2Java2.getExpr ());
    2273                           break _exit15;
    2274                         }
    2275                       }
    2276                       break _block58;
    2277                     }
    2278                     _ge_java_m_module__18 = _vv_java_m_module;
    2279                   }
    2280                   if ((_ge_java_m_module__18.getLen () < 1))
    2281                   {
    2282                     continue _continue14;
    2283                   }
    2284                   Expr.SplitIterator _va_72 = _ge_java_m_module__18.leftSplit(0);
    2285                   _exit16: _continue16: for ( ; ; _va_72.next ())
    2286                   {
    2287                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_414_m_39 = _va_72.getLeft();
    2288                     Expr _v_lsplit__java_m_module__182 = _va_72.getRight();
    2289                     if (!_va_72.isValid ())
    2290                     {
    2291                       continue _continue14;
    2292                     }
    2293                     int _v_len115 = _v_lsplit__java_m_module__182.getLen ();
    2294                     int _v_len116 = 1;
    2295                     if ((_v_len115 < _v_len116))
    2296                     {
    2297                       continue _continue14;
    2298                     }
    2299                     int _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_414_m_45 = (_v_len115 - _v_len116);
    2300                     if (!_c_13.eq (_v_lsplit__java_m_module__182, 0))
    2301                     {
    2302                       continue _continue16;
    2303                     }
    2304                     Expr _ve__e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_414_m_45 = new Expr (_v_lsplit__java_m_module__182, (0 + 1), _v_len___e__e_tmp_m_org_s_refal_s_plus_s_compiler_s_rfpcrf_m_414_m_45);
    2305                     break _exit16;
    2306                   }
    2307                   Expr[] _va_73 = { _c_94 , _ge_java_m_module__18 , _c_65 };
    2308                   StdIO.PrintLN_e_ (_vs_channel.getExpr (), Expr.concat (_va_73));
    2309                 }
    2310               }
    2311               CPP_m_Pretty_m_Print (_c_59, _vs_channel.getExpr (), Expr.empty, _ge_module__10__13.getExpr ());
    2312               _block62: {
    2313                 _block62__branch1: {
    2314                   if ((1 != 1))
    2315                   {
    2316                     break _block62__branch1;
    2317                   }
    2318                   if (!_vs_need_m_close_q_.getExpr ().eq (_c_0, 0))
    2319                   {
    2320                     break _block62__branch1;
    2321                   }
    2322                   StdIO.Close_m_Channel (_vs_channel.getExpr ());
    2323                   break _block62;
    2324                 }
    2325               }
     2050                    break _iter3;
     2051                  }
     2052                  _ve_exports = _ge_exports__15;
     2053                  break _exit__iter3;
     2054                }
     2055                int _v_len95 = _ge_headers__15.getLen ();
     2056                int _v_len96 = 1;
     2057                if ((_v_len95 < _v_len96))
     2058                {
     2059                  throw new RefalException ("rfpc", "Main", "Unexpected fail");
     2060                }
     2061                int _v_len__rest2 = (_v_len95 - _v_len96);
     2062                if (_ge_headers__15.symbolAt (0))
     2063                {
     2064                  throw new RefalException ("rfpc", "Main", "Unexpected fail");
     2065                }
     2066                Expr _v_deref__headers__15 = (Expr) _ge_headers__15.at (0);
     2067                if ((_v_deref__headers__15.getLen () != 2))
     2068                {
     2069                  throw new RefalException ("rfpc", "Main", "Unexpected fail");
     2070                }
     2071                if (!_v_deref__headers__15.symbolAt (0))
     2072                {
     2073                  throw new RefalException ("rfpc", "Main", "Unexpected fail");
     2074                }
     2075                Expr _ve_rest = new Expr (_ge_headers__15, (0 + 1), _v_len__rest2);
     2076                Expr _vs_decl = new Expr (_v_deref__headers__15, 0, 1);
     2077                Expr _vt_name = new Expr (_v_deref__headers__15, (0 + 1), 1);
     2078                _ge_headers__15 = _ve_rest;
     2079                _ge_exports__15 = new Expr (_ge_exports__15, _vt_name);
     2080              }
     2081              Result _vs_bytecode = new Result ();
     2082              Result _ve_java_m_module_m_name = new Result ();
     2083              rfp__asail__jbc.RFP_m_ASAIL_m_To_m_JBC (_vt_asail_m_mod_m_name, _ve_package, _ve_exports, _ge_module__10, _vs_bytecode, _ve_java_m_module_m_name);
     2084              Result _ge_auxcall15 = new Result ();
     2085              List.Intersperse (_vs_dir_m_separator, _ve_java_m_module_m_name.getExpr (), _ge_auxcall15);
     2086              Result _gs_auxcall16 = new Result ();
     2087              Expr[] _va_68 = { _ve_dir , _ge_auxcall15.getExpr () , _c_96 };
     2088              Convert.To_m_Word (Expr.concat (_va_68), _gs_auxcall16);
     2089              Result _gs_auxcall17 = new Result ();
     2090              FileOutputStream.FileOutputStream (_gs_auxcall16.getExpr (), _gs_auxcall17);
     2091              FileOutputStream.WriteToStream (_gs_auxcall17.getExpr (), _vs_bytecode.getExpr ());
     2092              Verbose (_c_97);
    23262093              continue _continue2;
    23272094            }
     
    23292096        }
    23302097      }
    2331       int _v_len117 = _ve_files.getExpr ().getLen ();
    2332       int _v_len118 = 0;
    2333       if ((_v_len117 < _v_len118))
     2098      int _v_len97 = _ve_files.getExpr ().getLen ();
     2099      int _v_len98 = 0;
     2100      if ((_v_len97 < _v_len98))
    23342101      {
    23352102        throw new RefalException ("rfp