c_src: regenerate with soft nullable handling
[nit.git] / c_src / compiling_methods._sep.c
index e4909ac..be03d78 100644 (file)
+/* This C file is generated by NIT to compile module compiling_methods. */
 #include "compiling_methods._sep.h"
 void compiling_methods___CompilerVisitor___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::compile_stmt (src/compiling//compiling_methods.nit:24,2--30:21)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  ((compiling_methods___PExpr___prepare_compile_stmt_t)CALL( variable0 /*n*/,COLOR_compiling_methods___PExpr___prepare_compile_stmt))( variable0 /*n*/,  self) /*PExpr::prepare_compile_stmt*/;
-  variable2 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
-  variable1 = variable2;
-  ((compiling_methods___PExpr___compile_stmt_t)CALL( variable0 /*n*/,COLOR_compiling_methods___PExpr___compile_stmt))( variable0 /*n*/,  self) /*PExpr::compile_stmt*/;
-  ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ =  variable1 /*i*/;
+  struct trace_t trace = {NULL, NULL, 24, LOCATE_compiling_methods___CompilerVisitor___compile_stmt};
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool(( variable[1] /*n*/ ==  NIT_NULL /*null*/) || (( variable[1] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[1] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[1] /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*n*/)( variable[1] /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    goto return_label0;
+  }
+  CALL_compiling_methods___PExpr___prepare_compile_stmt( variable[1] /*n*/)( variable[1] /*n*/, variable[0]) /*PExpr::prepare_compile_stmt*/;
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+  /* Register variable[4]: Result */
+  variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
+  variable[3] = variable[4];
+  CALL_compiling_methods___PExpr___compile_stmt( variable[1] /*n*/)( variable[1] /*n*/, variable[0]) /*PExpr::compile_stmt*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+  ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/ =  variable[3] /*i*/;
+  return_label0: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::compile_expr (src/compiling//compiling_methods.nit:33,2--47:10)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
-  variable1 = variable2;
-  variable3 = ((compiling_methods___PExpr___compile_expr_t)CALL( variable0 /*n*/,COLOR_compiling_methods___PExpr___compile_expr))( variable0 /*n*/,  self) /*PExpr::compile_expr*/;
-  variable2 = variable3;
-  ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ =  variable1 /*i*/;
-  variable3 = ((string___String_____bra_t)CALL( variable2 /*s*/,COLOR_abstract_collection___Map_____bra))( variable2 /*s*/,  TAG_Int(0)) /*String::[]*/;
-  variable3 = TAG_Bool((variable3)==( TAG_Char(' ')));
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable1 =  variable2 /*s*/;
-    goto return_label1;
+  struct trace_t trace = {NULL, NULL, 35, LOCATE_compiling_methods___CompilerVisitor___compile_expr};
+  static val_t once_value_2 = NIT_NULL; /* Once value for string variable[7]*/
+  val_t variable[8];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+  /* Register variable[4]: Result */
+  variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___PExpr___compile_expr( variable[1] /*n*/)( variable[1] /*n*/, variable[0]) /*PExpr::compile_expr*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+  ATTR_compiling_methods___CFunctionContext____variable_index(variable[5]) /*CFunctionContext::_variable_index*/ =  variable[3] /*i*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_abstract_collection___MapRead_____bra( variable[4] /*s*/)( variable[4] /*s*/,  TAG_Int(0)) /*AbstractString::[]*/;
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Bool((variable[5])==( TAG_Char(' ')));
+  /* Ensure var variable[5]: Left 'or' operand*/
+  if (!UNTAG_Bool(variable[5])) { /* or */
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_methods___CFunctionContext___is_valid_variable(variable[5])(variable[5],  variable[4] /*s*/) /*CFunctionContext::is_valid_variable*/;
   }
-  variable3 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
-  variable3 = TAG_Int(UNTAG_Int(variable3)-UNTAG_Int( TAG_Int(1)));
-  variable3 = ((compiling_methods___CompilerVisitor___variable_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___variable))( self, variable3) /*CompilerVisitor::variable*/;
-  variable3 = TAG_Bool(( variable2 /*s*/ == variable3) || (( variable2 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable2 /*s*/,COLOR_kernel___Object_____eqeq))( variable2 /*s*/, variable3) /*String::==*/)));
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable1 =  variable2 /*s*/;
+  /* Register variable[5]: Result */
+  if (UNTAG_Bool(variable[5])) { /*if*/
+    variable[2] =  variable[4] /*s*/;
     goto return_label1;
   }
-  variable4 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___get_var))( self) /*CompilerVisitor::get_var*/;
-  variable3 = variable4;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___add_assignment))( self,  variable3 /*v*/,  variable2 /*s*/) /*CompilerVisitor::add_assignment*/;
-  variable1 =  variable3 /*v*/;
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_2 != NIT_NULL) variable[7] = once_value_2;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Result"), TAG_Int(6)) /*new String*/;
+    once_value_2 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CFunctionContext___get_var(variable[6])(variable[6], variable[7]) /*CFunctionContext::get_var*/;
+  variable[5] = variable[6];
+  CALL_compiling_methods___CompilerVisitor___add_assignment(variable[0])(variable[0],  variable[5] /*v*/,  variable[4] /*s*/) /*CompilerVisitor::add_assignment*/;
+  variable[2] =  variable[5] /*v*/;
   goto return_label1;
   return_label1: while(false);
   tracehead = trace.prev;
-  return variable1;
+  return variable[2];
 }
-val_t compiling_methods___CompilerVisitor___ensure_var(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::ensure_var (src/compiling//compiling_methods.nit:50,2--58:10)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
+val_t compiling_methods___CompilerVisitor___ensure_var(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 50, LOCATE_compiling_methods___CompilerVisitor___ensure_var};
+    static val_t once_value_4 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_5 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_6 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_7 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_8 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_9 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((string___String___substring_t)CALL( variable0 /*s*/,COLOR_string___String___substring))( variable0 /*s*/,  TAG_Int(0),  TAG_Int(3)) /*String::substring*/;
-  variable2 = NEW_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
-  variable1 = TAG_Bool((variable1 == variable2) || ((variable1 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, variable2) /*String::==*/)));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 =  variable0 /*s*/;
-    goto return_label2;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CFunctionContext___is_valid_variable(variable[4])(variable[4],  variable[1] /*s*/) /*CFunctionContext::is_valid_variable*/;
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_4 != NIT_NULL) variable[5] = once_value_4;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("/* Ensure var "), TAG_Int(14)) /*new String*/;
+      once_value_4 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    variable[5] =  variable[1] /*s*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_5 != NIT_NULL) variable[5] = once_value_5;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
+      once_value_5 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    variable[5] =  variable[2] /*comment*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_6 != NIT_NULL) variable[5] = once_value_6;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+      once_value_6 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr(variable[0])(variable[0], variable[4]) /*CompilerVisitor::add_instr*/;
+    variable[3] =  variable[1] /*s*/;
+    goto return_label3;
+  }
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5],  NIT_NULL /*null*/) /*CFunctionContext::get_var*/;
+  variable[4] = variable[5];
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_7 != NIT_NULL) variable[6] = once_value_7;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_7 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[1] /*s*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_8 != NIT_NULL) variable[6] = once_value_8;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" /* Ensure var: "), TAG_Int(16)) /*new String*/;
+    once_value_8 = variable[6];
   }
-  variable2 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___get_var))( self) /*CompilerVisitor::get_var*/;
-  variable1 = variable2;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___add_assignment))( self,  variable1 /*v*/,  variable0 /*s*/) /*CompilerVisitor::add_assignment*/;
-  variable1 =  variable1 /*v*/;
-  goto return_label2;
-  return_label2: while(false);
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[2] /*comment*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_9 != NIT_NULL) variable[6] = once_value_9;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_9 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_compiling_methods___CompilerVisitor___add_assignment(variable[0])(variable[0],  variable[4] /*v*/, variable[5]) /*CompilerVisitor::add_assignment*/;
+  variable[3] =  variable[4] /*v*/;
+  goto return_label3;
+  return_label3: while(false);
   tracehead = trace.prev;
-  return variable1;
+  return variable[3];
 }
 void compiling_methods___CompilerVisitor___add_assignment(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::add_assignment (src/compiling//compiling_methods.nit:61,2--65:25)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-    val_t variable3;
-    val_t variable4;
-    val_t variable5;
-    val_t variable6;
-    val_t variable7;
-    val_t variable8;
-    val_t variable9;
-    val_t variable10;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*v*/ ==  variable1 /*s*/) || (( variable0 /*v*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable0 /*v*/,COLOR_kernel___Object_____eqeq))( variable0 /*v*/,  variable1 /*s*/) /*String::==*/)))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-    variable4 = variable3;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-    variable5 =  variable0 /*v*/;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
-    variable7 = variable6;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
-    variable8 =  variable1 /*s*/;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-    variable10 = variable9;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable10) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( self,COLOR_compiling_base___CompilerVisitor___add_instr))( self, variable2) /*CompilerVisitor::add_instr*/;
+  struct trace_t trace = {NULL, NULL, 62, LOCATE_compiling_methods___CompilerVisitor___add_assignment};
+    static val_t once_value_11 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_12 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_13 = NIT_NULL; /* Once value for string variable[5]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[1] /*v*/ ==  variable[2] /*s*/) || (( variable[1] /*v*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[1] /*v*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[1] /*v*/, variable[2] /*s*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*v*/)( variable[1] /*v*/,  variable[2] /*s*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_11 != NIT_NULL) variable[5] = once_value_11;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_11 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    variable[5] =  variable[1] /*v*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_12 != NIT_NULL) variable[5] = once_value_12;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)) /*new String*/;
+      once_value_12 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    variable[5] =  variable[2] /*s*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_13 != NIT_NULL) variable[5] = once_value_13;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_13 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr(variable[0])(variable[0], variable[4]) /*CompilerVisitor::add_instr*/;
   }
+  return_label10: while(false);
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___CompilerVisitor___variable(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::variable (src/compiling//compiling_methods.nit:69,2--72:22)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 =  variable0 /*i*/;
-  variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
-  goto return_label4;
-  return_label4: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___CompilerVisitor___get_var(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::get_var (src/compiling//compiling_methods.nit:81,2--90:10)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-    val_t variable3;
-    val_t variable4;
-    val_t variable5;
-    val_t variable6;
-  trace.prev = tracehead; tracehead = &trace;
-  variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
-  variable1 = ((compiling_methods___CompilerVisitor___variable_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___variable))( self, variable1) /*CompilerVisitor::variable*/;
-  variable0 = variable1;
-  variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
-  variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1)));
-  ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ = variable1;
-  variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
-  variable2 = ATTR_compiling_methods___CompilerVisitor____variable_index_max( self) /*CompilerVisitor::_variable_index_max*/;
-  variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int(variable2));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___init(); /*new String*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
-    variable3 = variable2;
-    ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-    variable4 =  variable0 /*v*/;
-    ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-    variable6 = variable5;
-    ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_decl_t)CALL( self,COLOR_compiling_base___CompilerVisitor___add_decl))( self, variable1) /*CompilerVisitor::add_decl*/;
-    variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
-    ATTR_compiling_methods___CompilerVisitor____variable_index_max( self) /*CompilerVisitor::_variable_index_max*/ = variable1;
-  }
-  variable0 =  variable0 /*v*/;
-  goto return_label5;
-  return_label5: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-void compiling_methods___CompilerVisitor___free_var(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::free_var (src/compiling//compiling_methods.nit:93,2--98:40)"};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
-  variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
-  variable1 = ((compiling_methods___CompilerVisitor___variable_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___variable))( self, variable1) /*CompilerVisitor::variable*/;
-  variable1 = TAG_Bool(( variable0 /*v*/ == variable1) || (( variable0 /*v*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable0 /*v*/,COLOR_kernel___Object_____eqeq))( variable0 /*v*/, variable1) /*String::==*/)));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
-    variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
-    ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ = variable1;
-  }
+val_t compiling_methods___CompilerVisitor___cfc(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 70, LOCATE_compiling_methods___CompilerVisitor___cfc};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
-  return;
+  return ATTR_compiling_methods___CompilerVisitor____cfc( self) /*CompilerVisitor::_cfc*/;
 }
-void compiling_methods___CompilerVisitor___clear(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::clear (src/compiling//compiling_methods.nit:102,2--108:25)"};
+void compiling_methods___CompilerVisitor___cfc__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 70, LOCATE_compiling_methods___CompilerVisitor___cfc__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/ =  TAG_Bool(false);
-  ((compiling_base___CompilerVisitor___indent_level__eq_t)CALL( self,COLOR_compiling_base___CompilerVisitor___indent_level__eq))( self,  TAG_Int(0)) /*CompilerVisitor::indent_level=*/;
-  ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ =  TAG_Int(0);
-  ATTR_compiling_methods___CompilerVisitor____variable_index_max( self) /*CompilerVisitor::_variable_index_max*/ =  TAG_Int(0);
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___CompilerVisitor____cfc( self) /*CompilerVisitor::_cfc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___CompilerVisitor___varnames(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::varnames (src/compiling//compiling_methods.nit:111,2--112:78)"};
+val_t compiling_methods___CompilerVisitor___nmc(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 72, LOCATE_compiling_methods___CompilerVisitor___nmc};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
-  return ATTR_compiling_methods___CompilerVisitor____varnames( self) /*CompilerVisitor::_varnames*/;
+  return ATTR_compiling_methods___CompilerVisitor____nmc( self) /*CompilerVisitor::_nmc*/;
+}
+void compiling_methods___CompilerVisitor___nmc__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 72, LOCATE_compiling_methods___CompilerVisitor___nmc__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___CompilerVisitor____nmc( self) /*CompilerVisitor::_nmc*/ =  param0;
+  tracehead = trace.prev;
+  return;
 }
-val_t compiling_methods___CompilerVisitor___has_return(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::has_return (src/compiling//compiling_methods.nit:114,2--115:41)"};
+val_t compiling_methods___CompilerVisitor___out_contexts(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 74, LOCATE_compiling_methods___CompilerVisitor___out_contexts};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
-  return ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/;
+  return ATTR_compiling_methods___CompilerVisitor____out_contexts( self) /*CompilerVisitor::_out_contexts*/;
 }
-void compiling_methods___CompilerVisitor___has_return__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::has_return= (src/compiling//compiling_methods.nit:114,2--115:41)"};
+void compiling_methods___CompilerVisitor___out_contexts__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 74, LOCATE_compiling_methods___CompilerVisitor___out_contexts__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/ =  param0;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___CompilerVisitor____out_contexts( self) /*CompilerVisitor::_out_contexts*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___CompilerVisitor___method_params(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::method_params (src/compiling//compiling_methods.nit:117,2--118:52)"};
+val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 77, LOCATE_compiling_methods___CompilerVisitor___printf_locate_error};
+  static val_t once_value_15 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_16 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_17 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_18 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_19 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_20 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_21 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_22 = NIT_NULL; /* Once value for string variable[5]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Once String constant */
+  if (once_value_15 != NIT_NULL) variable[4] = once_value_15;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \""), TAG_Int(17)) /*new String*/;
+    once_value_15 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Register variable[4]: Result */
+  variable[4] = NEW_Buffer_string___Buffer___from(variable[4]) /*new Buffer*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    /* Register variable[4]: Once String constant */
+    if (once_value_16 != NIT_NULL) variable[4] = once_value_16;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" in %s"), TAG_Int(6)) /*new String*/;
+      once_value_16 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*Buffer::append*/;
+  }
+  /* Register variable[4]: Once String constant */
+  if (once_value_17 != NIT_NULL) variable[4] = once_value_17;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" (%s:%d)\\n\", "), TAG_Int(13)) /*new String*/;
+    once_value_17 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*Buffer::append*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_18 != NIT_NULL) variable[5] = once_value_18;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)) /*new String*/;
+      once_value_18 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_methods___NitMethodContext___method(variable[5])(variable[5]) /*NitMethodContext::method*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_base___MMLocalProperty___cname(variable[5])(variable[5]) /*MMLocalProperty::cname*/;
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_19 != NIT_NULL) variable[5] = once_value_19;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+      once_value_19 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+    CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*Buffer::append*/;
+  }
+  variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_20 != NIT_NULL) variable[5] = once_value_20;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)) /*new String*/;
+    once_value_20 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_base___CompilerVisitor___module(variable[0])(variable[0]) /*CompilerVisitor::module*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_abstractmetamodel___MMModule___name(variable[5])(variable[5]) /*MMModule::name*/;
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_21 != NIT_NULL) variable[5] = once_value_21;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_21 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_prod___PNode___line_number( variable[1] /*node*/)( variable[1] /*node*/) /*PNode::line_number*/;
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_22 != NIT_NULL) variable[5] = once_value_22;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
+    once_value_22 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+  CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*Buffer::append*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s( variable[3] /*s*/)( variable[3] /*s*/) /*Buffer::to_s*/;
+  variable[2] = variable[4];
+  goto return_label14;
+  return_label14: while(false);
   tracehead = trace.prev;
-  return ATTR_compiling_methods___CompilerVisitor____method_params( self) /*CompilerVisitor::_method_params*/;
+  return variable[2];
 }
-void compiling_methods___CompilerVisitor___method_params__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::method_params= (src/compiling//compiling_methods.nit:117,2--118:52)"};
+void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 88, LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after};
+  val_t variable[16];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_compiling_methods___CompilerVisitor____method_params( self) /*CompilerVisitor::_method_params*/ =  param0;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___NitMethodContext___method(variable[4])(variable[4]) /*NitMethodContext::method*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[4])(variable[4]) /*MMLocalProperty::node*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(( variable[3] /*n*/==NIT_NULL) || VAL_ISA( variable[3] /*n*/, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
+  if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after, LOCATE_compiling_methods, 91); nit_exit(1);}
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_abstract_collection___Collection___is_empty(variable[4])(variable[4]) /*AbstractArrayRead::is_empty*/;
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    goto return_label23;
+  }
+  /* Register variable[4]: Local variable */
+  variable[4] =  TAG_Int(0);
+  /* Register variable[5]: Local variable */
+  variable[5] =  TAG_Int(0);
+  /* Register variable[6]: Result */
+  variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[1] /*start_prop*/ ==  NIT_NULL /*null*/) || (( variable[1] /*start_prop*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[1] /*start_prop*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[1] /*start_prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*start_prop*/)( variable[1] /*start_prop*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[6])) { /*if*/
+    while (true) { /*while*/
+      /* Register variable[6]: Result */
+      variable[6] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
+      /* Register variable[7]: Local variable */
+      variable[7] = variable[6];
+      /* Register variable[8]: Local variable */
+      variable[8] =  variable[4] /*i*/;
+      /* Register variable[9]: Method return value and escape marker */
+      /* Register variable[10]: Result */
+      variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[10]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[10])) { /* and */
+        /* Register variable[10]: Result */
+        variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
+        /* Register variable[10]: Result */
+        variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
+      }
+      /* Register variable[10]: Result */
+      if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[10]: Result */
+      variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
+      /* Register variable[10]: Result */
+      variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
+      variable[9] = variable[10];
+      goto return_label25;
+      return_label25: while(false);
+      /* Register variable[6]: Result */
+      variable[6] = variable[9];
+      /* Register variable[6]: Result */
+      variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] ==  variable[1] /*start_prop*/) || ((variable[6] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[6])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], variable[1] /*start_prop*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[6])(variable[6],  variable[1] /*start_prop*/) /*Object::==*/)))))));
+      if (!UNTAG_Bool(variable[6])) break; /* while*/
+      variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
+      continue_24: while(0);
+    }
+    break_24: while(0);
+    variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
+    while (true) { /*while*/
+      /* Register variable[6]: Result */
+      variable[6] = CALL_typing___AConcreteInitPropdef___explicit_super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
+      /* Register variable[7]: Local variable */
+      variable[7] = variable[6];
+      /* Register variable[8]: Local variable */
+      variable[8] =  variable[5] /*j*/;
+      /* Register variable[9]: Method return value and escape marker */
+      /* Register variable[10]: Result */
+      variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[10]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[10])) { /* and */
+        /* Register variable[10]: Result */
+        variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
+        /* Register variable[10]: Result */
+        variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
+      }
+      /* Register variable[10]: Result */
+      if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[10]: Result */
+      variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
+      /* Register variable[10]: Result */
+      variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
+      variable[9] = variable[10];
+      goto return_label27;
+      return_label27: while(false);
+      /* Register variable[6]: Result */
+      variable[6] = variable[9];
+      /* Register variable[6]: Result */
+      variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] ==  variable[1] /*start_prop*/) || ((variable[6] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[6])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], variable[1] /*start_prop*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[6])(variable[6],  variable[1] /*start_prop*/) /*Object::==*/)))))));
+      if (!UNTAG_Bool(variable[6])) break; /* while*/
+      variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1))) /*j*/;
+      continue_26: while(0);
+    }
+    break_26: while(0);
+    variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1))) /*j*/;
+  }
+  /* Register variable[6]: Local variable */
+  variable[6] =  NIT_NULL /*null*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_typing___AConcreteInitPropdef___explicit_super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstract_collection___Collection___length(variable[7])(variable[7]) /*AbstractArrayRead::length*/;
+  /* Register variable[7]: Result */
+  variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*j*/)<UNTAG_Int(variable[7]));
+  if (UNTAG_Bool(variable[7])) { /*if*/
+    /* Register variable[7]: Result */
+    variable[7] = CALL_typing___AConcreteInitPropdef___explicit_super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
+    /* Register variable[8]: Local variable */
+    variable[8] = variable[7];
+    /* Register variable[9]: Local variable */
+    variable[9] =  variable[5] /*j*/;
+    /* Register variable[10]: Method return value and escape marker */
+    /* Register variable[11]: Result */
+    variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[11]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[11])) { /* and */
+      /* Register variable[11]: Result */
+      variable[11] = ATTR_array___AbstractArrayRead____length(variable[8]) /*AbstractArrayRead::_length*/;
+      /* Register variable[11]: Result */
+      variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)<UNTAG_Int(variable[11]));
+    }
+    /* Register variable[11]: Result */
+    if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[11]: Result */
+    variable[11] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
+    /* Register variable[11]: Result */
+    variable[11] = UNBOX_NativeArray(variable[11])[UNTAG_Int( variable[9] /*index*/)];
+    variable[10] = variable[11];
+    goto return_label28;
+    return_label28: while(false);
+    /* Register variable[7]: Result */
+    variable[7] = variable[10];
+    variable[6] = variable[7] /*stop_prop=*/;
+  }
+  /* Register variable[7]: Local variable */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_abstract_collection___Collection___length(variable[8])(variable[8]) /*AbstractArrayRead::length*/;
+  variable[7] = variable[8];
+  while (true) { /*while*/
+    /* Register variable[8]: Result */
+    variable[8] = TAG_Bool(UNTAG_Int( variable[4] /*i*/)<UNTAG_Int( variable[7] /*l*/));
+    if (!UNTAG_Bool(variable[8])) break; /* while*/
+    /* Register variable[8]: Local variable */
+    /* Register variable[9]: Result */
+    variable[9] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
+    /* Register variable[10]: Local variable */
+    variable[10] = variable[9];
+    /* Register variable[11]: Local variable */
+    variable[11] =  variable[4] /*i*/;
+    /* Register variable[12]: Method return value and escape marker */
+    /* Register variable[13]: Result */
+    variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[13]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[13])) { /* and */
+      /* Register variable[13]: Result */
+      variable[13] = ATTR_array___AbstractArrayRead____length(variable[10]) /*AbstractArrayRead::_length*/;
+      /* Register variable[13]: Result */
+      variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[13]));
+    }
+    /* Register variable[13]: Result */
+    if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[13]: Result */
+    variable[13] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
+    /* Register variable[13]: Result */
+    variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
+    variable[12] = variable[13];
+    goto return_label30;
+    return_label30: while(false);
+    /* Register variable[9]: Result */
+    variable[9] = variable[12];
+    variable[8] = variable[9];
+    /* Register variable[9]: Result */
+    variable[9] = TAG_Bool(( variable[8] /*p*/ ==  variable[6] /*stop_prop*/) || (( variable[8] /*p*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*p*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*p*/, variable[6] /*stop_prop*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*p*/)( variable[8] /*p*/,  variable[6] /*stop_prop*/) /*Object::==*/)))));
+    if (UNTAG_Bool(variable[9])) { /*if*/
+      goto break_29;
+    }
+    /* Register variable[9]: Local variable */
+    /* Register variable[10]: Result */
+    variable[10] = NEW_Array_array___Array___init() /*new Array[String]*/;
+    variable[9] = variable[10];
+    /* Register variable[10]: Result */
+    variable[10] = CALL_static_type___MMLocalProperty___signature( variable[8] /*p*/)( variable[8] /*p*/) /*MMLocalProperty::signature*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_static_type___MMSignature___arity(variable[10])(variable[10]) /*MMSignature::arity*/;
+    /* Register variable[10]: Result */
+    variable[10] = TAG_Bool((variable[10])==( TAG_Int(0)));
+    if (UNTAG_Bool(variable[10])) { /*if*/
+      /* Register variable[10]: Result */
+      variable[10] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+      /* Register variable[11]: Result */
+      variable[11] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
+      /* Register variable[11]: Result */
+      variable[11] = CALL_compiling_methods___NitMethodContext___method_params(variable[11])(variable[11]) /*NitMethodContext::method_params*/;
+      /* Register variable[12]: Local variable */
+      variable[12] = variable[11];
+      /* Register variable[13]: Local variable */
+      variable[13] =  TAG_Int(0);
+      /* Register variable[14]: Method return value and escape marker */
+      /* Register variable[15]: Result */
+      variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[15]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[15])) { /* and */
+        /* Register variable[15]: Result */
+        variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
+        /* Register variable[15]: Result */
+        variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
+      }
+      /* Register variable[15]: Result */
+      if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[15]: Result */
+      variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
+      /* Register variable[15]: Result */
+      variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
+      variable[14] = variable[15];
+      goto return_label31;
+      return_label31: while(false);
+      /* Register variable[11]: Result */
+      variable[11] = variable[14];
+      /* Register variable[10]: Result */
+      variable[10] = CALL_compiling_methods___CFunctionContext___varname(variable[10])(variable[10], variable[11]) /*CFunctionContext::varname*/;
+      CALL_abstract_collection___SimpleCollection___add( variable[9] /*cargs*/)( variable[9] /*cargs*/, variable[10]) /*AbstractArray::add*/;
+    } else { /*if*/
+      /* Register variable[10]: Result */
+      variable[10] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
+      /* Register variable[10]: Result */
+      variable[10] = CALL_compiling_methods___NitMethodContext___method_params(variable[10])(variable[10]) /*NitMethodContext::method_params*/;
+      /* Register variable[10]: For iterator */
+      variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*AbstractArrayRead::iterator*/;
+      while (true) { /*for*/
+        /* Register variable[11]: For 'is_ok' result */
+        variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*ArrayIterator::is_ok*/;
+        if (!UNTAG_Bool(variable[11])) break; /*for*/
+        variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
+        /* Register variable[12]: Local variable */
+        variable[12] = variable[11];
+        /* Register variable[13]: Result */
+        variable[13] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
+        /* Register variable[13]: Result */
+        variable[13] = CALL_compiling_methods___CFunctionContext___varname(variable[13])(variable[13],  variable[12] /*va*/) /*CFunctionContext::varname*/;
+        CALL_abstract_collection___SimpleCollection___add( variable[9] /*cargs*/)( variable[9] /*cargs*/, variable[13]) /*AbstractArray::add*/;
+        continue_32: while(0);
+        CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*ArrayIterator::next*/;
+      }
+      break_32: while(0);
+    }
+    CALL_compiling_methods___MMMethod___compile_stmt_call( variable[8] /*p*/)( variable[8] /*p*/, variable[0],  variable[9] /*cargs*/) /*MMMethod::compile_stmt_call*/;
+    variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
+    continue_29: while(0);
+  }
+  break_29: while(0);
+  return_label23: while(false);
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___CompilerVisitor___method(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::method (src/compiling//compiling_methods.nit:120,2--121:44)"};
+val_t compiling_methods___CFunctionContext___visitor(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 143, LOCATE_compiling_methods___CFunctionContext___visitor};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
-  return ATTR_compiling_methods___CompilerVisitor____method( self) /*CompilerVisitor::_method*/;
+  return ATTR_compiling_methods___CFunctionContext____visitor( self) /*CFunctionContext::_visitor*/;
 }
-void compiling_methods___CompilerVisitor___method__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::method= (src/compiling//compiling_methods.nit:120,2--121:44)"};
+val_t compiling_methods___CFunctionContext___closure(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 154, LOCATE_compiling_methods___CFunctionContext___closure};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_compiling_methods___CompilerVisitor____method( self) /*CompilerVisitor::_method*/ =  param0;
+  trace.file = LOCATE_compiling_methods;
+  tracehead = trace.prev;
+  return ATTR_compiling_methods___CFunctionContext____closure( self) /*CFunctionContext::_closure*/;
+}
+void compiling_methods___CFunctionContext___closure__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 154, LOCATE_compiling_methods___CFunctionContext___closure__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___CFunctionContext____closure( self) /*CFunctionContext::_closure*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___CompilerVisitor___return_label(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::return_label (src/compiling//compiling_methods.nit:123,2--124:45)"};
+val_t compiling_methods___CFunctionContext___varname(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 157, LOCATE_compiling_methods___CFunctionContext___varname};
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool(( variable[1] /*v*/==NIT_NULL) || VAL_ISA( variable[1] /*v*/, COLOR_ClosureVariable, ID_ClosureVariable)) /*cast ClosureVariable*/;
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    /* Register variable[3]: Result */
+    variable[3] = ATTR_compiling_methods___CFunctionContext____varindexes(variable[0]) /*CFunctionContext::_varindexes*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_abstract_collection___MapRead_____bra(variable[3])(variable[3],  variable[1] /*v*/) /*MapRead::[]*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_compiling_methods___CFunctionContext___closure_variable(variable[0])(variable[0], variable[3]) /*CFunctionContext::closure_variable*/;
+    variable[2] = variable[3];
+    goto return_label33;
+  } else { /*if*/
+    /* Register variable[3]: Result */
+    variable[3] = ATTR_compiling_methods___CFunctionContext____varindexes(variable[0]) /*CFunctionContext::_varindexes*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_abstract_collection___MapRead_____bra(variable[3])(variable[3],  variable[1] /*v*/) /*MapRead::[]*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_compiling_methods___CFunctionContext___variable(variable[0])(variable[0], variable[3]) /*CFunctionContext::variable*/;
+    variable[2] = variable[3];
+    goto return_label33;
+  }
+  return_label33: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___CFunctionContext___get_var(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 167, LOCATE_compiling_methods___CFunctionContext___get_var};
+    static val_t once_value_35 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_36 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_37 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CFunctionContext___variable(variable[0])(variable[0], variable[4]) /*CFunctionContext::variable*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1)));
+  ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/ = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
+  /* Register variable[5]: Result */
+  variable[5] = ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[0]) /*CFunctionContext::_variable_index_max*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(UNTAG_Int(variable[4])>UNTAG_Int(variable[5]));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    /* Register variable[4]: Result */
+    variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
+    ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[0]) /*CFunctionContext::_variable_index_max*/ = variable[4];
+  }
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[1] /*comment*/ ==  NIT_NULL /*null*/) || (( variable[1] /*comment*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[1] /*comment*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[1] /*comment*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*comment*/)( variable[1] /*comment*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
+    variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_35 != NIT_NULL) variable[6] = once_value_35;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("/* Register "), TAG_Int(12)) /*new String*/;
+      once_value_35 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    variable[6] =  variable[3] /*v*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_36 != NIT_NULL) variable[6] = once_value_36;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
+      once_value_36 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    variable[6] =  variable[1] /*comment*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_37 != NIT_NULL) variable[6] = once_value_37;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
+      once_value_37 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr(variable[4])(variable[4], variable[5]) /*CompilerVisitor::add_instr*/;
+  }
+  variable[2] =  variable[3] /*v*/;
+  goto return_label34;
+  return_label34: while(false);
   tracehead = trace.prev;
-  return ATTR_compiling_methods___CompilerVisitor____return_label( self) /*CompilerVisitor::_return_label*/;
+  return variable[2];
 }
-void compiling_methods___CompilerVisitor___return_label__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::return_label= (src/compiling//compiling_methods.nit:123,2--124:45)"};
+val_t compiling_methods___CFunctionContext___register_variable(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 181, LOCATE_compiling_methods___CFunctionContext___register_variable};
+  static val_t once_value_39 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_compiling_methods___CompilerVisitor____return_label( self) /*CompilerVisitor::_return_label*/ =  param0;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = ATTR_compiling_methods___CFunctionContext____varindexes(variable[0]) /*CFunctionContext::_varindexes*/;
+  /* Register variable[4]: Result */
+  variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
+  CALL_abstract_collection___Map_____braeq(variable[3])(variable[3],  variable[1] /*v*/, variable[4]) /*Map::[]=*/;
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Once String constant */
+  if (once_value_39 != NIT_NULL) variable[4] = once_value_39;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Local variable"), TAG_Int(14)) /*new String*/;
+    once_value_39 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CFunctionContext___get_var(variable[0])(variable[0], variable[4]) /*CFunctionContext::get_var*/;
+  variable[3] = variable[4];
+  variable[2] =  variable[3] /*s*/;
+  goto return_label38;
+  return_label38: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
+}
+val_t compiling_methods___CFunctionContext___register_closurevariable(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 191, LOCATE_compiling_methods___CFunctionContext___register_closurevariable};
+  static val_t once_value_41 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_42 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_43 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_44 = NIT_NULL; /* Once value for string variable[5]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_41 != NIT_NULL) variable[5] = once_value_41;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("closurevariable["), TAG_Int(16)) /*new String*/;
+    once_value_41 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/;
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_42 != NIT_NULL) variable[5] = once_value_42;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)) /*new String*/;
+    once_value_42 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = ATTR_compiling_methods___CFunctionContext____varindexes(variable[0]) /*CFunctionContext::_varindexes*/;
+  /* Register variable[5]: Result */
+  variable[5] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/;
+  CALL_abstract_collection___Map_____braeq(variable[4])(variable[4],  variable[1] /*v*/, variable[5]) /*Map::[]=*/;
+  ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/ = TAG_Int(UNTAG_Int(ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/)+UNTAG_Int( TAG_Int(1)));
+  /* Register variable[4]: Result */
+  variable[4] = ATTR_compiling_methods___CFunctionContext____closure(variable[0]) /*CFunctionContext::_closure*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_43 != NIT_NULL) variable[5] = once_value_43;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("(closctx->"), TAG_Int(10)) /*new String*/;
+      once_value_43 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    variable[5] =  variable[3] /*s*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_44 != NIT_NULL) variable[5] = once_value_44;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+      once_value_44 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+    variable[2] = variable[4];
+    goto return_label40;
+  } else { /*if*/
+    variable[2] =  variable[3] /*s*/;
+    goto return_label40;
+  }
+  return_label40: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___CFunctionContext___variable(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 203, LOCATE_compiling_methods___CFunctionContext___variable};
+    static val_t once_value_46; static int once_bool_46; /* Once value for variable[4]*/
+        static val_t once_value_48 = NIT_NULL; /* Once value for string variable[8]*/
+        static val_t once_value_49 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_51; static int once_bool_51; /* Once value for variable[4]*/
+        static val_t once_value_53 = NIT_NULL; /* Once value for string variable[8]*/
+        static val_t once_value_54 = NIT_NULL; /* Once value for string variable[8]*/
+  val_t variable[9];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CFunctionContext___closure(variable[0])(variable[0]) /*CFunctionContext::closure*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] ==  NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    /* Register variable[3]: Local variable */
+    /* Register variable[4]: Once expression result */
+    if (once_bool_46) variable[4] = once_value_46;
+    else {
+      /* Register variable[4]: Result */
+      variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
+      once_value_46 = variable[4];
+      once_bool_46 = true;
+    }
+    /* Register variable[4]: Result */
+    variable[3] = variable[4];
+    /* Register variable[4]: Result */
+    variable[4] = CALL_abstract_collection___Collection___length( variable[3] /*vn*/)( variable[3] /*vn*/) /*AbstractArrayRead::length*/;
+    /* Register variable[4]: Result */
+    variable[4] = TAG_Bool(UNTAG_Int(variable[4])<=UNTAG_Int( variable[1] /*i*/));
+    if (UNTAG_Bool(variable[4])) { /*if*/
+      /* Register variable[4]: Result */
+      variable[4] = CALL_abstract_collection___Collection___length( variable[3] /*vn*/)( variable[3] /*vn*/) /*AbstractArrayRead::length*/;
+      /* Register variable[4]: Result */
+      variable[4] = NEW_Range_range___Range___init(variable[4],  variable[1] /*i*/) /*new Range[Int]*/;
+      /* Register variable[4]: For iterator */
+      variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
+      while (true) { /*for*/
+        /* Register variable[5]: For 'is_ok' result */
+        variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
+        if (!UNTAG_Bool(variable[5])) break; /*for*/
+        variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
+        /* Register variable[6]: Local variable */
+        variable[6] = variable[5];
+        variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+        /* Register variable[8]: Once String constant */
+        if (once_value_48 != NIT_NULL) variable[8] = once_value_48;
+        else {
+          variable[8] = NEW_String_string___String___with_native(BOX_NativeString("(closctx->variable["), TAG_Int(19)) /*new String*/;
+          once_value_48 = variable[8];
+        }
+        /* Register variable[8]: Result */
+        /* Ensure var variable[8]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+        variable[8] =  variable[6] /*j*/ /* Ensure var: super-string element*/;
+        CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+        /* Register variable[8]: Once String constant */
+        if (once_value_49 != NIT_NULL) variable[8] = once_value_49;
+        else {
+          variable[8] = NEW_String_string___String___with_native(BOX_NativeString("])"), TAG_Int(2)) /*new String*/;
+          once_value_49 = variable[8];
+        }
+        /* Register variable[8]: Result */
+        /* Ensure var variable[8]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+        /* Register variable[7]: Result */
+        variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+        CALL_abstract_collection___Map_____braeq( variable[3] /*vn*/)( variable[3] /*vn*/,  variable[6] /*j*/, variable[7]) /*Array::[]=*/;
+        continue_47: while(0);
+        CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
+      }
+      break_47: while(0);
+    }
+    /* Register variable[4]: Local variable */
+    variable[4] =  variable[3] /*vn*/;
+    /* Register variable[5]: Local variable */
+    variable[5] =  variable[1] /*i*/;
+    /* Register variable[6]: Method return value and escape marker */
+    /* Register variable[7]: Result */
+    variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[7]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[7])) { /* and */
+      /* Register variable[7]: Result */
+      variable[7] = ATTR_array___AbstractArrayRead____length(variable[4]) /*AbstractArrayRead::_length*/;
+      /* Register variable[7]: Result */
+      variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)<UNTAG_Int(variable[7]));
+    }
+    /* Register variable[7]: Result */
+    if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[7]: Result */
+    variable[7] = ATTR_array___Array____items(variable[4]) /*Array::_items*/;
+    /* Register variable[7]: Result */
+    variable[7] = UNBOX_NativeArray(variable[7])[UNTAG_Int( variable[5] /*index*/)];
+    variable[6] = variable[7];
+    goto return_label50;
+    return_label50: while(false);
+    /* Register variable[4]: Result */
+    variable[4] = variable[6];
+    variable[2] = variable[4];
+    goto return_label45;
+  } else { /*if*/
+    /* Register variable[3]: Local variable */
+    /* Register variable[4]: Once expression result */
+    if (once_bool_51) variable[4] = once_value_51;
+    else {
+      /* Register variable[4]: Result */
+      variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
+      once_value_51 = variable[4];
+      once_bool_51 = true;
+    }
+    /* Register variable[4]: Result */
+    variable[3] = variable[4];
+    /* Register variable[4]: Result */
+    variable[4] = CALL_abstract_collection___Collection___length( variable[3] /*vn*/)( variable[3] /*vn*/) /*AbstractArrayRead::length*/;
+    /* Register variable[4]: Result */
+    variable[4] = TAG_Bool(UNTAG_Int(variable[4])<=UNTAG_Int( variable[1] /*i*/));
+    if (UNTAG_Bool(variable[4])) { /*if*/
+      /* Register variable[4]: Result */
+      variable[4] = CALL_abstract_collection___Collection___length( variable[3] /*vn*/)( variable[3] /*vn*/) /*AbstractArrayRead::length*/;
+      /* Register variable[4]: Result */
+      variable[4] = NEW_Range_range___Range___init(variable[4],  variable[1] /*i*/) /*new Range[Int]*/;
+      /* Register variable[4]: For iterator */
+      variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
+      while (true) { /*for*/
+        /* Register variable[5]: For 'is_ok' result */
+        variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
+        if (!UNTAG_Bool(variable[5])) break; /*for*/
+        variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
+        /* Register variable[6]: Local variable */
+        variable[6] = variable[5];
+        variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+        /* Register variable[8]: Once String constant */
+        if (once_value_53 != NIT_NULL) variable[8] = once_value_53;
+        else {
+          variable[8] = NEW_String_string___String___with_native(BOX_NativeString("variable["), TAG_Int(9)) /*new String*/;
+          once_value_53 = variable[8];
+        }
+        /* Register variable[8]: Result */
+        /* Ensure var variable[8]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+        variable[8] =  variable[6] /*j*/ /* Ensure var: super-string element*/;
+        CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+        /* Register variable[8]: Once String constant */
+        if (once_value_54 != NIT_NULL) variable[8] = once_value_54;
+        else {
+          variable[8] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)) /*new String*/;
+          once_value_54 = variable[8];
+        }
+        /* Register variable[8]: Result */
+        /* Ensure var variable[8]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+        /* Register variable[7]: Result */
+        variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+        CALL_abstract_collection___Map_____braeq( variable[3] /*vn*/)( variable[3] /*vn*/,  variable[6] /*j*/, variable[7]) /*Array::[]=*/;
+        continue_52: while(0);
+        CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
+      }
+      break_52: while(0);
+    }
+    /* Register variable[4]: Local variable */
+    variable[4] =  variable[3] /*vn*/;
+    /* Register variable[5]: Local variable */
+    variable[5] =  variable[1] /*i*/;
+    /* Register variable[6]: Method return value and escape marker */
+    /* Register variable[7]: Result */
+    variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[7]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[7])) { /* and */
+      /* Register variable[7]: Result */
+      variable[7] = ATTR_array___AbstractArrayRead____length(variable[4]) /*AbstractArrayRead::_length*/;
+      /* Register variable[7]: Result */
+      variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)<UNTAG_Int(variable[7]));
+    }
+    /* Register variable[7]: Result */
+    if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[7]: Result */
+    variable[7] = ATTR_array___Array____items(variable[4]) /*Array::_items*/;
+    /* Register variable[7]: Result */
+    variable[7] = UNBOX_NativeArray(variable[7])[UNTAG_Int( variable[5] /*index*/)];
+    variable[6] = variable[7];
+    goto return_label55;
+    return_label55: while(false);
+    /* Register variable[4]: Result */
+    variable[4] = variable[6];
+    variable[2] = variable[4];
+    goto return_label45;
+  }
+  return_label45: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___CFunctionContext___closure_variable(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 225, LOCATE_compiling_methods___CFunctionContext___closure_variable};
+    static val_t once_value_57 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_58 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_59 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_60 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CFunctionContext___closure(variable[0])(variable[0]) /*CFunctionContext::closure*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] ==  NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_57 != NIT_NULL) variable[4] = once_value_57;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("(closctx->closurevariable["), TAG_Int(26)) /*new String*/;
+      once_value_57 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    variable[4] =  variable[1] /*i*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_58 != NIT_NULL) variable[4] = once_value_58;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("])"), TAG_Int(2)) /*new String*/;
+      once_value_58 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+    variable[2] = variable[3];
+    goto return_label56;
+  } else { /*if*/
+    variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_59 != NIT_NULL) variable[4] = once_value_59;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("closurevariable["), TAG_Int(16)) /*new String*/;
+      once_value_59 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    variable[4] =  variable[1] /*i*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_60 != NIT_NULL) variable[4] = once_value_60;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)) /*new String*/;
+      once_value_60 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+    variable[2] = variable[3];
+    goto return_label56;
+  }
+  return_label56: while(false);
+  tracehead = trace.prev;
+  return variable[2];
 }
-val_t compiling_methods___CompilerVisitor___break_label(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::break_label (src/compiling//compiling_methods.nit:126,2--127:44)"};
+val_t compiling_methods___CFunctionContext___is_valid_variable(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 235, LOCATE_compiling_methods___CFunctionContext___is_valid_variable};
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
+  /* Register variable[3]: Result */
+  variable[3] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[3]) /*new Range[Int]*/;
+  /* Register variable[3]: For iterator */
+  variable[3] = CALL_abstract_collection___Collection___iterator(variable[3])(variable[3]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[4]: For 'is_ok' result */
+    variable[4] = CALL_abstract_collection___Iterator___is_ok(variable[3])(variable[3]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[4])) break; /*for*/
+    variable[4] = CALL_abstract_collection___Iterator___item(variable[3])(variable[3]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[5]: Local variable */
+    variable[5] = variable[4];
+    /* Register variable[6]: Result */
+    variable[6] = CALL_compiling_methods___CFunctionContext___variable(variable[0])(variable[0],  variable[5] /*i*/) /*CFunctionContext::variable*/;
+    /* Register variable[6]: Result */
+    variable[6] = TAG_Bool(( variable[1] /*s*/ == variable[6]) || (( variable[1] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*s*/)( variable[1] /*s*/, variable[6]) /*String::==*/)));
+    if (UNTAG_Bool(variable[6])) { /*if*/
+      variable[2] =  TAG_Bool(true);
+      goto return_label61;
+    }
+    continue_62: while(0);
+    CALL_abstract_collection___Iterator___next(variable[3])(variable[3]) /*Iterator::next*/;
+  }
+  break_62: while(0);
+  variable[2] =  TAG_Bool(false);
+  goto return_label61;
+  return_label61: while(false);
   tracehead = trace.prev;
-  return ATTR_compiling_methods___CompilerVisitor____break_label( self) /*CompilerVisitor::_break_label*/;
+  return variable[2];
 }
-void compiling_methods___CompilerVisitor___break_label__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::break_label= (src/compiling//compiling_methods.nit:126,2--127:44)"};
+void compiling_methods___CFunctionContext___free_var(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 244, LOCATE_compiling_methods___CFunctionContext___free_var};
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_compiling_methods___CompilerVisitor____break_label( self) /*CompilerVisitor::_break_label*/ =  param0;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(1)));
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CFunctionContext___variable(variable[0])(variable[0], variable[3]) /*CFunctionContext::variable*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool(( variable[1] /*v*/ == variable[3]) || (( variable[1] /*v*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*String::==*/)));
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    /* Register variable[3]: Result */
+    variable[3] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
+    /* Register variable[3]: Result */
+    variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(1)));
+    ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/ = variable[3];
+  }
+  return_label63: while(false);
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___CompilerVisitor___continue_label(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::continue_label (src/compiling//compiling_methods.nit:129,2--130:47)"};
+void compiling_methods___CFunctionContext___generate_var_decls(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 253, LOCATE_compiling_methods___CFunctionContext___generate_var_decls};
+    static val_t once_value_65 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_66 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_67 = NIT_NULL; /* Once value for string variable[3]*/
+    static val_t once_value_68 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_69 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_70 = NIT_NULL; /* Once value for string variable[3]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Method return value and escape marker */
+  /* Register variable[2]: Result */
+  variable[2] = ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[0]) /*CFunctionContext::_variable_index_max*/;
+  /* Register variable[2]: Result */
+  variable[2] = TAG_Bool(UNTAG_Int(variable[2])>UNTAG_Int( TAG_Int(0)));
+  if (UNTAG_Bool(variable[2])) { /*if*/
+    /* Register variable[2]: Result */
+    variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
+    variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_65 != NIT_NULL) variable[4] = once_value_65;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("val_t variable["), TAG_Int(15)) /*new String*/;
+      once_value_65 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[4]: Result */
+    variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[0]) /*CFunctionContext::_variable_index_max*/;
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_66 != NIT_NULL) variable[4] = once_value_66;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("];"), TAG_Int(2)) /*new String*/;
+      once_value_66 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
+  } else { /*if*/
+    /* Register variable[2]: Result */
+    variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
+    /* Register variable[3]: Once String constant */
+    if (once_value_67 != NIT_NULL) variable[3] = once_value_67;
+    else {
+      variable[3] = NEW_String_string___String___with_native(BOX_NativeString("val_t *variable = NULL;"), TAG_Int(23)) /*new String*/;
+      once_value_67 = variable[3];
+    }
+    /* Register variable[3]: Result */
+    CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
+  }
+  /* Register variable[2]: Result */
+  variable[2] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/;
+  /* Register variable[2]: Result */
+  variable[2] = TAG_Bool(UNTAG_Int(variable[2])>UNTAG_Int( TAG_Int(0)));
+  if (UNTAG_Bool(variable[2])) { /*if*/
+    /* Register variable[2]: Result */
+    variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
+    variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_68 != NIT_NULL) variable[4] = once_value_68;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ *closurevariable["), TAG_Int(29)) /*new String*/;
+      once_value_68 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[4]: Result */
+    variable[4] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/;
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_69 != NIT_NULL) variable[4] = once_value_69;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("];"), TAG_Int(2)) /*new String*/;
+      once_value_69 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
+  } else { /*if*/
+    /* Register variable[2]: Result */
+    variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
+    /* Register variable[3]: Once String constant */
+    if (once_value_70 != NIT_NULL) variable[3] = once_value_70;
+    else {
+      variable[3] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ **closurevariable = NULL;"), TAG_Int(37)) /*new String*/;
+      once_value_70 = variable[3];
+    }
+    /* Register variable[3]: Result */
+    CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
+  }
+  return_label64: while(false);
   tracehead = trace.prev;
-  return ATTR_compiling_methods___CompilerVisitor____continue_label( self) /*CompilerVisitor::_continue_label*/;
+  return;
 }
-void compiling_methods___CompilerVisitor___continue_label__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::continue_label= (src/compiling//compiling_methods.nit:129,2--130:47)"};
+void compiling_methods___CFunctionContext___init(val_t  self, val_t  param0, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 269, LOCATE_compiling_methods___CFunctionContext___init};
+  val_t variable[3];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_compiling_methods___CompilerVisitor____continue_label( self) /*CompilerVisitor::_continue_label*/ =  param0;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CFunctionContext].i]) return;
+  /* Register variable[2]: Method return value and escape marker */
+  ATTR_compiling_methods___CFunctionContext____visitor(variable[0]) /*CFunctionContext::_visitor*/ =  variable[1] /*v*/;
+  return_label71: while(false);
+  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CFunctionContext].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___CompilerVisitor___return_value(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::return_value (src/compiling//compiling_methods.nit:132,2--133:45)"};
+val_t compiling_methods___NitMethodContext___method(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 274, LOCATE_compiling_methods___NitMethodContext___method};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
-  return ATTR_compiling_methods___CompilerVisitor____return_value( self) /*CompilerVisitor::_return_value*/;
+  return ATTR_compiling_methods___NitMethodContext____method( self) /*NitMethodContext::_method*/;
 }
-void compiling_methods___CompilerVisitor___return_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::return_value= (src/compiling//compiling_methods.nit:132,2--133:45)"};
+val_t compiling_methods___NitMethodContext___method_params(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 277, LOCATE_compiling_methods___NitMethodContext___method_params};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_compiling_methods___CompilerVisitor____return_value( self) /*CompilerVisitor::_return_value*/ =  param0;
+  trace.file = LOCATE_compiling_methods;
+  tracehead = trace.prev;
+  return ATTR_compiling_methods___NitMethodContext____method_params( self) /*NitMethodContext::_method_params*/;
+}
+void compiling_methods___NitMethodContext___method_params__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 277, LOCATE_compiling_methods___NitMethodContext___method_params__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___NitMethodContext____method_params( self) /*NitMethodContext::_method_params*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-void compiling_methods___CompilerVisitor___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::init (src/compiling//compiling_methods.nit:135,2--138:7)"};
-  val_t variable0;
+val_t compiling_methods___NitMethodContext___return_label(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_compiling_methods___NitMethodContext___return_label};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  tracehead = trace.prev;
+  return ATTR_compiling_methods___NitMethodContext____return_label( self) /*NitMethodContext::_return_label*/;
+}
+void compiling_methods___NitMethodContext___return_label__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 280, LOCATE_compiling_methods___NitMethodContext___return_label__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CompilerVisitor].i]) return;
-  ((compiling_methods___CompilerVisitor___init_t)CALL( self,COLOR_SUPER_compiling_methods___CompilerVisitor___init))( self,  param0, init_table) /*super CompilerVisitor::init*/;
-  ((compiling_methods___CompilerVisitor___clear_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___clear))( self) /*CompilerVisitor::clear*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CompilerVisitor].i] = 1;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___NitMethodContext____return_label( self) /*NitMethodContext::_return_label*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::invoke_super_init_calls_after (src/compiling//compiling_methods.nit:141,2--178:9)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-      val_t variable5;
-      val_t variable6;
-      val_t variable7;
-    val_t variable8;
-    val_t variable9;
-    val_t variable10;
-      val_t variable11;
-      val_t variable12;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((compiling_methods___CompilerVisitor___method_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method))( self) /*CompilerVisitor::method*/;
-  variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL(variable2,COLOR_syntax_base___MMSrcLocalProperty___node))(variable2) /*MMSrcMethod::node*/;
-  variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*n*/==NIT_NULL) || VAL_ISA( variable1 /*n*/, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:144,3--35\n"); nit_exit(1);}
-  variable2 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
-  variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*Array::is_empty*/;
-  if (UNTAG_Bool(variable2)) { /*if*/
-    goto return_label9;
-  }
-  variable2 =  TAG_Int(0);
-  variable3 =  TAG_Int(0);
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*start_prop*/ ==  NIT_NULL /*null*/) || (( variable0 /*start_prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*start_prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*start_prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*start_prop*/,COLOR_kernel___Object_____eqeq))( variable0 /*start_prop*/,  NIT_NULL /*null*/) /*MMMethod::==*/)))))));
-  if (UNTAG_Bool(variable4)) { /*if*/
-    while (true) { /*while*/
-      variable4 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
-      variable5 =  variable2 /*i*/;
-      variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-      variable7 = variable6;
-      if (UNTAG_Bool(variable7)) { /* and */
-        variable7 = variable4;
-        variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
-        variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
-      }
-      variable6 = variable7;
-      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-      variable6 = variable4;
-      variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
-      variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
-      goto return_label11;
-      return_label11: while(false);
-      variable4 = variable6;
-      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  variable0 /*start_prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*start_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*start_prop*/) /*MMMethod::==*/)))))));
-      if (!UNTAG_Bool(variable4)) break; /* while*/
-      variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*i*/;
-      continue_10: while(0);
-    }
-    break_10: while(0);
-    variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*i*/;
-    while (true) { /*while*/
-      variable4 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
-      variable5 =  variable3 /*j*/;
-      variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-      variable7 = variable6;
-      if (UNTAG_Bool(variable7)) { /* and */
-        variable7 = variable4;
-        variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
-        variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
-      }
-      variable6 = variable7;
-      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-      variable6 = variable4;
-      variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
-      variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
-      goto return_label13;
-      return_label13: while(false);
-      variable4 = variable6;
-      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  variable0 /*start_prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*start_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*start_prop*/) /*MMMethod::==*/)))))));
-      if (!UNTAG_Bool(variable4)) break; /* while*/
-      variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1))) /*j*/;
-      continue_12: while(0);
-    }
-    break_12: while(0);
-    variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1))) /*j*/;
-  }
-  variable4 = NIT_NULL /*decl variable stop_prop*/;
-  variable5 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
-  variable5 = ((array___AbstractArray___length_t)CALL(variable5,COLOR_abstract_collection___Collection___length))(variable5) /*Array::length*/;
-  variable5 = TAG_Bool(UNTAG_Int( variable3 /*j*/)<UNTAG_Int(variable5));
-  if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
-    variable6 =  variable3 /*j*/;
-    variable7 = TAG_Bool(UNTAG_Int( variable6 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-    variable8 = variable7;
-    if (UNTAG_Bool(variable8)) { /* and */
-      variable8 = variable5;
-      variable8 = ATTR_array___AbstractArray____length(variable8) /*Array::_length*/;
-      variable8 = TAG_Bool(UNTAG_Int( variable6 /*index*/)<UNTAG_Int(variable8));
-    }
-    variable7 = variable8;
-    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-    variable7 = variable5;
-    variable7 = ATTR_array___Array____items(variable7) /*Array::_items*/;
-    variable7 = UNBOX_NativeArray(variable7)[UNTAG_Int( variable6 /*index*/)];
-    goto return_label14;
-    return_label14: while(false);
-    variable5 = variable7;
-    variable4 = variable5 /*stop_prop=*/;
-  }
-  variable6 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
-  variable6 = ((array___AbstractArray___length_t)CALL(variable6,COLOR_abstract_collection___Collection___length))(variable6) /*Array::length*/;
-  variable5 = variable6;
-  while (true) { /*while*/
-    variable6 = TAG_Bool(UNTAG_Int( variable2 /*i*/)<UNTAG_Int( variable5 /*l*/));
-    if (!UNTAG_Bool(variable6)) break; /* while*/
-    variable7 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
-    variable8 =  variable2 /*i*/;
-    variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-    variable10 = variable9;
-    if (UNTAG_Bool(variable10)) { /* and */
-      variable10 = variable7;
-      variable10 = ATTR_array___AbstractArray____length(variable10) /*Array::_length*/;
-      variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
-    }
-    variable9 = variable10;
-    if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-    variable9 = variable7;
-    variable9 = ATTR_array___Array____items(variable9) /*Array::_items*/;
-    variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
-    goto return_label16;
-    return_label16: while(false);
-    variable7 = variable9;
-    variable6 = variable7;
-    variable7 = TAG_Bool(( variable6 /*p*/ ==  variable4 /*stop_prop*/) || (( variable6 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*p*/, variable4 /*stop_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))( variable6 /*p*/,  variable4 /*stop_prop*/) /*MMMethod::==*/)))));
-    if (UNTAG_Bool(variable7)) { /*if*/
-      goto break_15;
-    }
-    variable8 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method_params))( self) /*CompilerVisitor::method_params*/;
-    variable7 = variable8;
-    variable8 = ((genericity___MMLocalProperty___signature_t)CALL( variable6 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable6 /*p*/) /*MMMethod::signature*/;
-    variable8 = ((static_type___MMSignature___arity_t)CALL(variable8,COLOR_static_type___MMSignature___arity))(variable8) /*MMSignature::arity*/;
-    variable8 = TAG_Bool((variable8)==( TAG_Int(0)));
-    if (UNTAG_Bool(variable8)) { /*if*/
-      variable8 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
-      variable9 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method_params))( self) /*CompilerVisitor::method_params*/;
-      variable10 =  TAG_Int(0);
-      variable11 = TAG_Bool(UNTAG_Int( variable10 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-      variable12 = variable11;
-      if (UNTAG_Bool(variable12)) { /* and */
-        variable12 = variable9;
-        variable12 = ATTR_array___AbstractArray____length(variable12) /*Array::_length*/;
-        variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
-      }
-      variable11 = variable12;
-      if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-      variable11 = variable9;
-      variable11 = ATTR_array___Array____items(variable11) /*Array::_items*/;
-      variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
-      goto return_label17;
-      return_label17: while(false);
-      variable9 = variable11;
-      ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*Array::add*/;
-      variable7 = variable8 /*cargs=*/;
-    }
-    ((compiling_methods___MMMethod___compile_call_t)CALL( variable6 /*p*/,COLOR_compiling_methods___MMMethod___compile_call))( variable6 /*p*/,  self,  variable7 /*cargs*/) /*MMMethod::compile_call*/;
-    variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*i*/;
-    continue_15: while(0);
-  }
-  break_15: while(0);
-  return_label9: while(false);
+val_t compiling_methods___NitMethodContext___break_label(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_compiling_methods___NitMethodContext___break_label};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  tracehead = trace.prev;
+  return ATTR_compiling_methods___NitMethodContext____break_label( self) /*NitMethodContext::_break_label*/;
+}
+void compiling_methods___NitMethodContext___break_label__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 283, LOCATE_compiling_methods___NitMethodContext___break_label__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___NitMethodContext____break_label( self) /*NitMethodContext::_break_label*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMMethod::compile_call (src/compiling//compiling_methods.nit:193,2--233:14)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-    val_t variable5;
-    static val_t once_value_variable5_19; static int once_bool_variable5_19;
-      val_t variable6;
-      static val_t once_value_variable6_20; static int once_bool_variable6_20;
-  static val_t once_value_variable4_21; static int once_bool_variable4_21;
-  static val_t once_value_variable5_22; static int once_bool_variable5_22;
-    val_t variable7;
-    val_t variable8;
-    val_t variable9;
-    val_t variable10;
-    val_t variable11;
-    val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  val_t variable20;
-  val_t variable21;
-  val_t variable22;
-  val_t variable23;
-  val_t variable24;
-    static val_t once_value_variable8_24; static int once_bool_variable8_24;
-      val_t variable25;
-      val_t variable26;
-      val_t variable27;
-      val_t variable28;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable3 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( self) /*MMMethod::concrete_property*/;
-  variable2 = variable3;
-  variable3 = TAG_Bool(( variable2 /*i*/==NIT_NULL) || VAL_ISA( variable2 /*i*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:200,3--26\n"); nit_exit(1);}
-  variable3 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( variable2 /*i*/,COLOR_syntax_base___MMSrcLocalProperty___node))( variable2 /*i*/) /*MMSrcMethod::node*/;
-  variable3 = TAG_Bool((variable3==NIT_NULL) || VAL_ISA(variable3, COLOR_AInternMethPropdef, ID_AInternMethPropdef)) /*cast AInternMethPropdef*/;
-  variable4 = variable3;
-  if (!UNTAG_Bool(variable4)) { /* or */
-    variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable2 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable2 /*i*/) /*MMSrcMethod::local_class*/;
-    variable4 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___name))(variable4) /*MMLocalClass::name*/;
-    if (once_bool_variable5_19) variable5 = once_value_variable5_19;
-    else {
-      variable5 = NEW_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
-      variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
-      once_value_variable5_19 = variable5;
-      once_bool_variable5_19 = true;
-    }
-    variable4 = TAG_Bool((variable4 == variable5) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4,variable5)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable5) /*Symbol::==*/)))));
-    variable5 = variable4;
-    if (UNTAG_Bool(variable5)) { /* and */
-      variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
-      if (once_bool_variable6_20) variable6 = once_value_variable6_20;
-      else {
-        variable6 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
-        variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-        once_value_variable6_20 = variable6;
-        once_bool_variable6_20 = true;
-      }
-      variable5 = TAG_Bool((variable5 == variable6) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5, variable6) /*Symbol::==*/)))));
-    }
-    variable4 = variable5;
-  }
-  variable3 = variable4;
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable4 = ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL( variable2 /*i*/,COLOR_compiling_methods___MMSrcMethod___do_compile_inside))( variable2 /*i*/,  variable0 /*v*/,  variable1 /*cargs*/) /*MMSrcMethod::do_compile_inside*/;
-    variable3 = variable4;
-    variable2 =  variable3 /*e*/;
-    goto return_label18;
-  }
-  if (once_bool_variable4_21) variable4 = once_value_variable4_21;
-  else {
-    variable4 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
-    variable4 = ((symbol___String___to_symbol_t)CALL(variable4,COLOR_symbol___String___to_symbol))(variable4) /*String::to_symbol*/;
-    once_value_variable4_21 = variable4;
-    once_bool_variable4_21 = true;
-  }
-  variable3 = variable4;
-  if (once_bool_variable5_22) variable5 = once_value_variable5_22;
-  else {
-    variable5 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
-    variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
-    once_value_variable5_22 = variable5;
-    once_bool_variable5_22 = true;
-  }
-  variable4 = variable5;
-  variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
-  variable5 = TAG_Bool((variable5 ==  variable4 /*ne*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, variable4 /*ne*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5,  variable4 /*ne*/) /*Symbol::==*/)))));
-  if (UNTAG_Bool(variable5)) { /*if*/
-    variable6 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMMethod::signature*/;
-    variable6 = ((static_type___MMSignature___recv_t)CALL(variable6,COLOR_static_type___MMSignature___recv))(variable6) /*MMSignature::recv*/;
-    variable6 = ((static_type___MMType___select_method_t)CALL(variable6,COLOR_static_type___MMType___select_method))(variable6,  variable3 /*ee*/) /*MMType::select_method*/;
-    variable5 = variable6;
-    variable7 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable5 /*eqp*/,COLOR_compiling_methods___MMMethod___compile_call))( variable5 /*eqp*/,  variable0 /*v*/,  variable1 /*cargs*/) /*MMMethod::compile_call*/;
-    variable6 = variable7;
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(!UNTAG_Bool("), TAG_Int(21)); /*new String*/
-    variable9 = variable8;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
-    variable10 =  variable6 /*eqcall*/;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-    variable12 = variable11;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-    variable2 = variable7;
-    goto return_label18;
-  }
-  variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMMethod::global*/;
-  variable5 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable5,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable5) /*MMGlobalProperty::is_init*/;
-  if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((array___Collection___to_a_t)CALL( variable1 /*cargs*/,COLOR_array___Collection___to_a))( variable1 /*cargs*/) /*Array::to_a*/;
-    variable1 = variable5 /*cargs=*/;
-    variable5 = NEW_string___String___with_native(BOX_NativeString("init_table /*YYY*/"), TAG_Int(18)); /*new String*/
-    ((array___AbstractArray___add_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*cargs*/, variable5) /*Array::add*/;
-  }
-  variable6 = NEW_string___String___init(); /*new String*/
-  variable7 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-  variable9 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMMethod::cname*/;
-  variable10 = variable9;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("_t)CALL("), TAG_Int(8)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-  variable13 =  TAG_Int(0);
-  variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-  variable15 = variable14;
-  if (UNTAG_Bool(variable15)) { /* and */
-    variable15 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
-    variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-  }
-  variable14 = variable15;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-  variable14 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
-  variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-  goto return_label23;
-  return_label23: while(false);
-  variable13 = variable14;
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-  variable17 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMMethod::global*/;
-  variable17 = ((compiling_base___MMGlobalProperty___color_id_t)CALL(variable17,COLOR_compiling_base___MMGlobalProperty___color_id))(variable17) /*MMGlobalProperty::color_id*/;
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-  variable20 = variable19;
-  ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
-  variable5 = variable6;
-  variable7 = NEW_string___String___init(); /*new String*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
-  variable10 =  variable5 /*m*/;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable13 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable13) /*Array::join*/;
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
-  variable17 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMMethod::local_class*/;
-  variable18 = variable17;
-  variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
-  variable20 = variable19;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable20) /*String::append*/;
-  variable21 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
-  variable22 = variable21;
-  variable22 = ((string___String___to_s_t)CALL(variable22,COLOR_string___Object___to_s))(variable22) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable22) /*String::append*/;
-  variable23 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
-  variable24 = variable23;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable24) /*String::append*/;
-  variable6 = variable7;
-  variable7 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
-  variable7 = TAG_Bool((variable7 ==  variable3 /*ee*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, variable3 /*ee*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7,  variable3 /*ee*/) /*Symbol::==*/)))));
-  if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("UNTAG_Bool("), TAG_Int(11)); /*new String*/
-    variable9 = variable8;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
-    variable10 =  variable6 /*vcall*/;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-    variable12 = variable11;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-    variable6 = variable7 /*vcall=*/;
-    if (once_bool_variable8_24) variable8 = once_value_variable8_24;
-    else {
-      variable8 = NEW_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
-      variable8 = ((symbol___String___to_symbol_t)CALL(variable8,COLOR_symbol___String___to_symbol))(variable8) /*String::to_symbol*/;
-      once_value_variable8_24 = variable8;
-      once_bool_variable8_24 = true;
-    }
-    variable7 = variable8;
-    variable8 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable2 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable2 /*i*/) /*MMSrcMethod::local_class*/;
-    variable8 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable8,COLOR_abstractmetamodel___MMLocalClass___name))(variable8) /*MMLocalClass::name*/;
-    variable8 = TAG_Bool((variable8 ==  variable7 /*obj*/) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8, variable7 /*obj*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8,  variable7 /*obj*/) /*Symbol::==*/)))));
-    if (UNTAG_Bool(variable8)) { /*if*/
-      variable8 = NEW_string___String___init(); /*new String*/
-      variable9 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
-      variable10 = variable9;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
-      variable11 =  variable5 /*m*/;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable11) /*String::append*/;
-      variable12 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
-      variable13 = variable12;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable13) /*String::append*/;
-      variable14 = ((compiling_base___MMLocalProperty___cname_t)CALL( variable2 /*i*/,COLOR_compiling_base___MMLocalProperty___cname))( variable2 /*i*/) /*MMSrcMethod::cname*/;
-      variable15 = variable14;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable15) /*String::append*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString(")?(IS_EQUAL_NN("), TAG_Int(15)); /*new String*/
-      variable17 = variable16;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable17) /*String::append*/;
-      variable18 =  TAG_Int(0);
-      variable19 = TAG_Bool(UNTAG_Int( variable18 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-      variable20 = variable19;
-      if (UNTAG_Bool(variable20)) { /* and */
-        variable20 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
-        variable20 = TAG_Bool(UNTAG_Int( variable18 /*index*/)<UNTAG_Int(variable20));
-      }
-      variable19 = variable20;
-      if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-      variable19 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
-      variable19 = UNBOX_NativeArray(variable19)[UNTAG_Int( variable18 /*index*/)];
-      goto return_label25;
-      return_label25: while(false);
-      variable18 = variable19;
-      variable19 = variable18;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable19) /*String::append*/;
-      variable20 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
-      variable21 = variable20;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable21) /*String::append*/;
-      variable22 =  TAG_Int(1);
-      variable23 = TAG_Bool(UNTAG_Int( variable22 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-      variable24 = variable23;
-      if (UNTAG_Bool(variable24)) { /* and */
-        variable24 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
-        variable24 = TAG_Bool(UNTAG_Int( variable22 /*index*/)<UNTAG_Int(variable24));
-      }
-      variable23 = variable24;
-      if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-      variable23 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
-      variable23 = UNBOX_NativeArray(variable23)[UNTAG_Int( variable22 /*index*/)];
-      goto return_label26;
-      return_label26: while(false);
-      variable22 = variable23;
-      variable23 = variable22;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable23) /*String::append*/;
-      variable24 = NEW_string___String___with_native(BOX_NativeString(")):("), TAG_Int(4)); /*new String*/
-      variable25 = variable24;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable25) /*String::append*/;
-      variable26 =  variable6 /*vcall*/;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable26) /*String::append*/;
-      variable27 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-      variable28 = variable27;
-      ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable28) /*String::append*/;
-      variable6 = variable8 /*vcall=*/;
-    }
-    variable8 = NEW_string___String___init(); /*new String*/
-    variable9 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
-    variable10 = variable9;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
-    variable11 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___Collection___first))( variable1 /*cargs*/) /*Array::first*/;
-    variable12 = variable11;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString(" == "), TAG_Int(4)); /*new String*/
-    variable14 = variable13;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
-    variable15 =  TAG_Int(1);
-    variable16 = TAG_Bool(UNTAG_Int( variable15 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-    variable17 = variable16;
-    if (UNTAG_Bool(variable17)) { /* and */
-      variable17 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
-      variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)<UNTAG_Int(variable17));
-    }
-    variable16 = variable17;
-    if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-    variable16 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
-    variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)];
-    goto return_label27;
-    return_label27: while(false);
-    variable15 = variable16;
-    variable16 = variable15;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable16) /*String::append*/;
-    variable17 = NEW_string___String___with_native(BOX_NativeString(") || (("), TAG_Int(7)); /*new String*/
-    variable18 = variable17;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable18) /*String::append*/;
-    variable19 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___Collection___first))( variable1 /*cargs*/) /*Array::first*/;
-    variable20 = variable19;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable20) /*String::append*/;
-    variable21 = NEW_string___String___with_native(BOX_NativeString(" != NIT_NULL) && "), TAG_Int(17)); /*new String*/
-    variable22 = variable21;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable22) /*String::append*/;
-    variable23 =  variable6 /*vcall*/;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable23) /*String::append*/;
-    variable24 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-    variable25 = variable24;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable25) /*String::append*/;
-    variable6 = variable8 /*vcall=*/;
-  }
-  variable7 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMMethod::signature*/;
-  variable7 = ((static_type___MMSignature___return_type_t)CALL(variable7,COLOR_static_type___MMSignature___return_type))(variable7) /*MMSignature::return_type*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable7 ==  NIT_NULL /*null*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  if (UNTAG_Bool(variable7)) { /*if*/
-    variable2 =  variable6 /*vcall*/;
-    goto return_label18;
-  } else { /*if*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-    variable7 = ((string___String_____plus_t)CALL( variable6 /*vcall*/,COLOR_string___String_____plus))( variable6 /*vcall*/, variable7) /*String::+*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
-    variable2 =  NIT_NULL /*null*/;
-    goto return_label18;
-  }
-  return_label18: while(false);
-  tracehead = trace.prev;
-  return variable2;
-}
-val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMMethod::compile_constructor_call (src/compiling//compiling_methods.nit:237,2--243:13)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  val_t variable20;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable3 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
-  variable2 = variable3;
-  variable4 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMMethod::signature*/;
-  variable4 = ((static_type___MMSignature___recv_t)CALL(variable4,COLOR_static_type___MMSignature___recv))(variable4) /*MMSignature::recv*/;
-  variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 =  variable2 /*recv*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(" = NEW_"), TAG_Int(7)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  variable10 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMMethod::global*/;
-  variable10 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable10,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable10) /*MMGlobalProperty::intro*/;
-  variable10 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable10,COLOR_compiling_base___MMLocalProperty___cname))(variable10) /*MMConcreteProperty::cname*/;
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
-  variable13 = variable12;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable14 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable14) /*Array::join*/;
-  variable15 = variable14;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString("); /*new "), TAG_Int(9)); /*new String*/
-  variable17 = variable16;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
-  variable18 =  variable3 /*stype*/;
-  variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
-  variable20 = variable19;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  variable2 =  variable2 /*recv*/;
-  goto return_label28;
-  return_label28: while(false);
-  tracehead = trace.prev;
-  return variable2;
+val_t compiling_methods___NitMethodContext___continue_label(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_compiling_methods___NitMethodContext___continue_label};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  tracehead = trace.prev;
+  return ATTR_compiling_methods___NitMethodContext____continue_label( self) /*NitMethodContext::_continue_label*/;
 }
-val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMMethod::compile_super_call (src/compiling//compiling_methods.nit:246,2--251:14)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  val_t variable20;
-  val_t variable21;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMMethod::cname*/;
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("_t)CALL("), TAG_Int(8)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 =  TAG_Int(0);
-  variable11 = TAG_Bool(UNTAG_Int( variable10 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-  variable12 = variable11;
-  if (UNTAG_Bool(variable12)) { /* and */
-    variable12 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
-    variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
-  }
-  variable11 = variable12;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-  variable11 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
-  variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
-  goto return_label30;
-  return_label30: while(false);
-  variable10 = variable11;
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
-  variable13 = variable12;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
-  variable14 = ((compiling_base___MMLocalProperty___color_id_for_super_t)CALL( self,COLOR_compiling_base___MMLocalProperty___color_id_for_super))( self) /*MMMethod::color_id_for_super*/;
-  variable15 = variable14;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-  variable17 = variable16;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
-  variable2 = variable3;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 =  variable2 /*m*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable10 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable10) /*Array::join*/;
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString(") /*super "), TAG_Int(10)); /*new String*/
-  variable13 = variable12;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
-  variable14 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMMethod::local_class*/;
-  variable15 = variable14;
-  variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
-  variable17 = variable16;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
-  variable18 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
-  variable19 = variable18;
-  variable19 = ((string___String___to_s_t)CALL(variable19,COLOR_string___Object___to_s))(variable19) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable19) /*String::append*/;
-  variable20 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
-  variable21 = variable20;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable21) /*String::append*/;
-  variable3 = variable4;
-  variable2 =  variable3 /*vcall*/;
-  goto return_label29;
-  return_label29: while(false);
-  tracehead = trace.prev;
-  return variable2;
-}
-val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMAttribute::compile_access (src/compiling//compiling_methods.nit:256,2--260:65)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable4 = variable3;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-  variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMAttribute::global*/;
-  variable5 = ((compiling_base___MMGlobalProperty___attr_access_t)CALL(variable5,COLOR_compiling_base___MMGlobalProperty___attr_access))(variable5) /*MMGlobalProperty::attr_access*/;
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
-  variable9 =  variable1 /*recv*/;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable11) /*String::append*/;
-  variable12 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMAttribute::local_class*/;
-  variable13 = variable12;
-  variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
-  variable15 = variable14;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable15) /*String::append*/;
-  variable16 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMAttribute::name*/;
-  variable17 = variable16;
-  variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
-  variable19 = variable18;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable19) /*String::append*/;
-  goto return_label31;
-  return_label31: while(false);
-  tracehead = trace.prev;
-  return variable2;
-}
-void compiling_methods___MMSrcLocalProperty___compile_property_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::MMSrcLocalProperty::compile_property_to_c (src/compiling//compiling_methods.nit:265,2--266:46)"};
-  val_t variable0;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
+void compiling_methods___NitMethodContext___continue_label__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 286, LOCATE_compiling_methods___NitMethodContext___continue_label__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___NitMethodContext____continue_label( self) /*NitMethodContext::_continue_label*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMSrcMethod::decl_csignature (src/compiling//compiling_methods.nit:270,2--300:10)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-    val_t variable11;
-    val_t variable12;
-    val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable3 = NEW_array___Array___init(); /*new Array[String]*/
-  variable2 = variable3;
-  variable3 = NIT_NULL /*decl variable params_new*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMSrcMethod::global*/;
-  variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
-  if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_array___Array___init(); /*new Array[String]*/
-    variable3 = variable4 /*params_new=*/;
-  }
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 =  TAG_Int(0);
-  variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-  variable9 = variable8;
-  if (UNTAG_Bool(variable9)) { /* and */
-    variable9 = ATTR_array___AbstractArray____length( variable1 /*args*/) /*Array::_length*/;
-    variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
-  }
-  variable8 = variable9;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-  variable8 = ATTR_array___Array____items( variable1 /*args*/) /*Array::_items*/;
-  variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
-  goto return_label34;
-  return_label34: while(false);
-  variable7 = variable8;
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable10 = variable9;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable4) /*Array::add*/;
-  variable4 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMSrcMethod::signature*/;
-  variable4 = ((static_type___MMSignature___arity_t)CALL(variable4,COLOR_static_type___MMSignature___arity))(variable4) /*MMSignature::arity*/;
-  variable5 = NEW_range___Range___without_last( TAG_Int(0), variable4); /*new Range[Int]*/
-  variable4 = variable5;
-  variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
-  while (true) { /*for*/
-    variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
-    if (!UNTAG_Bool(variable5)) break; /*for*/
-    variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
-    variable9 = variable8;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
-    variable10 = TAG_Int(UNTAG_Int( variable5 /*i*/)+UNTAG_Int( TAG_Int(1)));
-    variable11 = variable10;
-    variable12 = TAG_Bool(UNTAG_Int( variable11 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-    variable13 = variable12;
-    if (UNTAG_Bool(variable13)) { /* and */
-      variable13 = ATTR_array___AbstractArray____length( variable1 /*args*/) /*Array::_length*/;
-      variable13 = TAG_Bool(UNTAG_Int( variable11 /*index*/)<UNTAG_Int(variable13));
-    }
-    variable12 = variable13;
-    if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-    variable12 = ATTR_array___Array____items( variable1 /*args*/) /*Array::_items*/;
-    variable12 = UNBOX_NativeArray(variable12)[UNTAG_Int( variable11 /*index*/)];
-    goto return_label36;
-    return_label36: while(false);
-    variable10 = variable12;
-    variable11 = variable10;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-    variable13 = variable12;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
-    variable6 = variable7;
-    ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/,  variable6 /*p*/) /*Array::add*/;
-    variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*params_new*/ ==  NIT_NULL /*null*/) || (( variable3 /*params_new*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable3 /*params_new*/,COLOR_kernel___Object_____eqeq))( variable3 /*params_new*/,  NIT_NULL /*null*/) /*Array::==*/)))));
-    if (UNTAG_Bool(variable7)) { /*if*/
-      ((array___AbstractArray___add_t)CALL( variable3 /*params_new*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*params_new*/,  variable6 /*p*/) /*Array::add*/;
-    }
-    continue_35: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
-  }
-  break_35: while(0);
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMSrcMethod::global*/;
-  variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
-  if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString("int* init_table"), TAG_Int(15)); /*new String*/
-    ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable4) /*Array::add*/;
-  }
-  variable4 = NIT_NULL /*decl variable ret*/;
-  variable5 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMSrcMethod::signature*/;
-  variable5 = ((static_type___MMSignature___return_type_t)CALL(variable5,COLOR_static_type___MMSignature___return_type))(variable5) /*MMSignature::return_type*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable5 ==  NIT_NULL /*null*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
-    variable4 = variable5 /*ret=*/;
-  } else { /*if*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)); /*new String*/
-    variable4 = variable5 /*ret=*/;
-  }
-  variable6 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable6 = ((string___Collection___join_t)CALL( variable2 /*params*/,COLOR_string___Collection___join))( variable2 /*params*/, variable6) /*Array::join*/;
-  variable5 = variable6;
-  variable7 = NEW_string___String___init(); /*new String*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
-  variable10 =  variable4 /*ret*/;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-  variable13 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMSrcMethod::cname*/;
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
-  variable17 =  variable5 /*p*/;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-  variable19 = variable18;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable19) /*String::append*/;
-  variable6 = variable7;
-  variable7 = NEW_string___String___init(); /*new String*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
-  variable10 =  variable4 /*ret*/;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-  variable13 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMSrcMethod::cname*/;
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)); /*new String*/
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
-  variable17 =  variable5 /*p*/;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
-  variable19 = variable18;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable19) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-  variable7 = ((string___String_____plus_t)CALL( variable6 /*s*/,COLOR_string___String_____plus))( variable6 /*s*/, variable7) /*String::+*/;
-  ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*params_new*/ ==  NIT_NULL /*null*/) || (( variable3 /*params_new*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable3 /*params_new*/,COLOR_kernel___Object_____eqeq))( variable3 /*params_new*/,  NIT_NULL /*null*/) /*Array::==*/)))));
-  if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
-    variable9 = variable8;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
-    variable10 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMSrcMethod::cname*/;
-    variable11 = variable10;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
-    variable13 = variable12;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-    variable14 = ((string___Collection___join_t)CALL( variable3 /*params_new*/,COLOR_string___Collection___join))( variable3 /*params_new*/, variable14) /*Array::join*/;
-    variable15 = variable14;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable15) /*String::append*/;
-    variable16 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
-    variable17 = variable16;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
-  }
-  variable2 =  variable6 /*s*/;
-  goto return_label33;
-  return_label33: while(false);
+val_t compiling_methods___NitMethodContext___return_value(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 289, LOCATE_compiling_methods___NitMethodContext___return_value};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
-  return variable2;
+  return ATTR_compiling_methods___NitMethodContext____return_value( self) /*NitMethodContext::_return_value*/;
 }
-void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::MMSrcMethod::compile_property_to_c (src/compiling//compiling_methods.nit:303,2--331:17)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-    val_t variable4;
-    val_t variable5;
-    val_t variable6;
-    val_t variable7;
-    val_t variable8;
-    val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  val_t variable20;
-  val_t variable21;
-  val_t variable22;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  ((compiling_methods___CompilerVisitor___clear_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___clear))( variable0 /*v*/) /*CompilerVisitor::clear*/;
-  variable2 = NEW_array___Array___init(); /*new Array[String]*/
-  variable1 = variable2;
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" self"), TAG_Int(5)); /*new String*/
-  ((array___AbstractArray___add_t)CALL( variable1 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*args*/, variable2) /*Array::add*/;
-  variable2 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMSrcMethod::signature*/;
-  variable2 = ((static_type___MMSignature___arity_t)CALL(variable2,COLOR_static_type___MMSignature___arity))(variable2) /*MMSignature::arity*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
-  variable2 = variable3;
-  variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
-  while (true) { /*for*/
-    variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
-    if (!UNTAG_Bool(variable3)) break; /*for*/
-    variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
-    variable4 = NEW_string___String___init(); /*new String*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)); /*new String*/
-    variable6 = variable5;
-    ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-    variable7 =  variable3 /*i*/;
-    variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
-    ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-    variable9 = variable8;
-    ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-    ((array___AbstractArray___add_t)CALL( variable1 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*args*/, variable4) /*Array::add*/;
-    continue_38: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
-  }
-  break_38: while(0);
-  variable3 = ((compiling_methods___MMSrcMethod___decl_csignature_t)CALL( self,COLOR_compiling_methods___MMSrcMethod___decl_csignature))( self,  variable0 /*v*/,  variable1 /*args*/) /*MMSrcMethod::decl_csignature*/;
-  variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 =  variable2 /*cs*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  variable4 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable0 /*v*/) /*CompilerVisitor::ctx*/;
-  variable3 = variable4;
-  variable4 = NEW_compiling_base___CContext___init(); /*new CContext*/
-  ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::ctx=*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, \""), TAG_Int(31)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___module))( self) /*MMSrcMethod::module*/;
-  variable7 = ((abstractmetamodel___MMModule___name_t)CALL(variable7,COLOR_abstractmetamodel___MMModule___name))(variable7) /*MMModule::name*/;
-  variable8 = variable7;
-  variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
-  variable10 = variable9;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMSrcMethod::local_class*/;
-  variable11 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable11,COLOR_abstractmetamodel___MMLocalClass___name))(variable11) /*MMLocalClass::name*/;
-  variable12 = variable11;
-  variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  variable15 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMSrcMethod::name*/;
-  variable16 = variable15;
-  variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)); /*new String*/
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
-  variable19 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMSrcMethod::node*/;
-  variable19 = ((parser_prod___Prod___locate_t)CALL(variable19,COLOR_parser_prod___PNode___locate))(variable19) /*PPropdef::locate*/;
-  variable20 = variable19;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
-  variable21 = NEW_string___String___with_native(BOX_NativeString(")\"};"), TAG_Int(4)); /*new String*/
-  variable22 = variable21;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  variable5 = ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL( self,COLOR_compiling_methods___MMSrcMethod___do_compile_inside))( self,  variable0 /*v*/,  variable1 /*args*/) /*MMSrcMethod::do_compile_inside*/;
-  variable4 = variable5;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
-  variable5 = TAG_Bool(( variable4 /*s*/ ==  NIT_NULL /*null*/) || (( variable4 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable4 /*s*/,COLOR_kernel___Object_____eqeq))( variable4 /*s*/,  NIT_NULL /*null*/) /*String::==*/)));
-  if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = NEW_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)); /*new String*/
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
-  } else { /*if*/
-    variable5 = NEW_string___String___init(); /*new String*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)); /*new String*/
-    variable7 = variable6;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
-    variable8 =  variable4 /*s*/;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-    variable9 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-    variable10 = variable9;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
-  }
-  variable5 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable0 /*v*/) /*CompilerVisitor::ctx*/;
-  ((compiling_base___CContext___append_t)CALL( variable3 /*ctx_old*/,COLOR_compiling_base___CContext___append))( variable3 /*ctx_old*/, variable5) /*CContext::append*/;
-  ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable0 /*v*/,  variable3 /*ctx_old*/) /*CompilerVisitor::ctx=*/;
-  ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
+void compiling_methods___NitMethodContext___return_value__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 289, LOCATE_compiling_methods___NitMethodContext___return_value__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___NitMethodContext____return_value( self) /*NitMethodContext::_return_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMSrcMethod::do_compile_inside (src/compiling//compiling_methods.nit:334,2--335:74)"};
+val_t compiling_methods___NitMethodContext___break_value(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 292, LOCATE_compiling_methods___NitMethodContext___break_value};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method do_compile_inside called (src/compiling//compiling_methods.nit:334,2)\n");
-  nit_exit(1);
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
-  return NIT_NULL;
+  return ATTR_compiling_methods___NitMethodContext____break_value( self) /*NitMethodContext::_break_value*/;
 }
-val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMReadImplementationMethod::do_compile_inside (src/compiling//compiling_methods.nit:339,2--341:45)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMReadImplementationMethod::node*/;
-  variable2 = ((mmbuilder___AAttrPropdef___prop_t)CALL(variable2,COLOR_syntax_base___AAttrPropdef___prop))(variable2) /*AAttrPropdef::prop*/;
-  variable3 =  TAG_Int(0);
-  variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-  variable5 = variable4;
-  if (UNTAG_Bool(variable5)) { /* and */
-    variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*Array::_length*/;
-    variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
-  }
-  variable4 = variable5;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-  variable4 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
-  variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
-  goto return_label40;
-  return_label40: while(false);
-  variable3 = variable4;
-  variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2,  variable0 /*v*/, variable3) /*MMSrcAttribute::compile_access*/;
-  goto return_label39;
-  return_label39: while(false);
+void compiling_methods___NitMethodContext___break_value__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 292, LOCATE_compiling_methods___NitMethodContext___break_value__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___NitMethodContext____break_value( self) /*NitMethodContext::_break_value*/ =  param0;
   tracehead = trace.prev;
-  return variable2;
+  return;
 }
-val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMWriteImplementationMethod::do_compile_inside (src/compiling//compiling_methods.nit:346,2--349:13)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMWriteImplementationMethod::node*/;
-  variable2 = ((mmbuilder___AAttrPropdef___prop_t)CALL(variable2,COLOR_syntax_base___AAttrPropdef___prop))(variable2) /*AAttrPropdef::prop*/;
-  variable3 =  TAG_Int(0);
-  variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-  variable5 = variable4;
-  if (UNTAG_Bool(variable5)) { /* and */
-    variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*Array::_length*/;
-    variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
-  }
-  variable4 = variable5;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-  variable4 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
-  variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
-  goto return_label42;
-  return_label42: while(false);
-  variable3 = variable4;
-  variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2,  variable0 /*v*/, variable3) /*MMSrcAttribute::compile_access*/;
-  variable3 =  TAG_Int(1);
-  variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-  variable5 = variable4;
-  if (UNTAG_Bool(variable5)) { /* and */
-    variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*Array::_length*/;
-    variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
-  }
-  variable4 = variable5;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-  variable4 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
-  variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
-  goto return_label43;
-  return_label43: while(false);
-  variable3 = variable4;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2, variable3) /*CompilerVisitor::add_assignment*/;
-  variable2 =  NIT_NULL /*null*/;
-  goto return_label41;
-  return_label41: while(false);
-  tracehead = trace.prev;
-  return variable2;
+val_t compiling_methods___NitMethodContext___continue_value(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 295, LOCATE_compiling_methods___NitMethodContext___continue_value};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  tracehead = trace.prev;
+  return ATTR_compiling_methods___NitMethodContext____continue_value( self) /*NitMethodContext::_continue_value*/;
 }
-val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMMethSrcMethod::do_compile_inside (src/compiling//compiling_methods.nit:354,2--356:47)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMMethSrcMethod::node*/;
-  variable2 = ((compiling_methods___AMethPropdef___do_compile_inside_t)CALL(variable2,COLOR_compiling_methods___AMethPropdef___do_compile_inside))(variable2,  variable0 /*v*/,  self,  variable1 /*params*/) /*AMethPropdef::do_compile_inside*/;
-  goto return_label44;
-  return_label44: while(false);
-  tracehead = trace.prev;
-  return variable2;
-}
-val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "compiling_methods::MMType::compile_cast (src/compiling//compiling_methods.nit:361,2--367:99)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  val_t variable20;
-  val_t variable21;
-  val_t variable22;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable3 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
-  variable3 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___global))(variable3) /*MMLocalClass::global*/;
-  variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 =  variable1 /*recv*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("==NIT_NULL) || VAL_ISA("), TAG_Int(23)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable9 =  variable1 /*recv*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable12 = ((compiling_base___MMGlobalClass___color_id_t)CALL( variable2 /*g*/,COLOR_compiling_base___MMGlobalClass___color_id))( variable2 /*g*/) /*MMGlobalClass::color_id*/;
-  variable13 = variable12;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable15 = variable14;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
-  variable16 = ((compiling_base___MMGlobalClass___id_id_t)CALL( variable2 /*g*/,COLOR_compiling_base___MMGlobalClass___id_id))( variable2 /*g*/) /*MMGlobalClass::id_id*/;
-  variable17 = variable16;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString(")) /*cast "), TAG_Int(10)); /*new String*/
-  variable19 = variable18;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable19) /*String::append*/;
-  variable20 =  self;
-  variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable20) /*String::append*/;
-  variable21 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
-  variable22 = variable21;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable22) /*String::append*/;
-  variable2 = variable3;
-  goto return_label45;
-  return_label45: while(false);
+void compiling_methods___NitMethodContext___continue_value__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 295, LOCATE_compiling_methods___NitMethodContext___continue_value__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___NitMethodContext____continue_value( self) /*NitMethodContext::_continue_value*/ =  param0;
   tracehead = trace.prev;
-  return variable2;
-}
-void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, "compiling_methods::MMType::compile_type_check (src/compiling//compiling_methods.nit:370,2--375:171)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  val_t variable20;
-  val_t variable21;
-  val_t variable22;
-  val_t variable23;
-  val_t variable24;
-  val_t variable25;
-  val_t variable26;
-  val_t variable27;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 =  param2;
-  variable4 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
-  variable4 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___global))(variable4) /*MMLocalClass::global*/;
-  variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("if (("), TAG_Int(5)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 =  variable1 /*recv*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("!=NIT_NULL) && !VAL_ISA("), TAG_Int(24)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  variable10 =  variable1 /*recv*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = ((compiling_base___MMGlobalClass___color_id_t)CALL( variable3 /*g*/,COLOR_compiling_base___MMGlobalClass___color_id))( variable3 /*g*/) /*MMGlobalClass::color_id*/;
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
-  variable17 = ((compiling_base___MMGlobalClass___id_id_t)CALL( variable3 /*g*/,COLOR_compiling_base___MMGlobalClass___id_id))( variable3 /*g*/) /*MMGlobalClass::id_id*/;
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Cast failled at "), TAG_Int(38)); /*new String*/
-  variable20 = variable19;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
-  variable21 = ((parser_prod___PNode___locate_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___locate))( variable2 /*n*/) /*PNode::locate*/;
-  variable22 = variable21;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
-  variable23 = NEW_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1); } /*cast "), TAG_Int(28)); /*new String*/
-  variable24 = variable23;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable24) /*String::append*/;
-  variable25 =  self;
-  variable25 = ((string___String___to_s_t)CALL(variable25,COLOR_string___Object___to_s))(variable25) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable25) /*String::append*/;
-  variable26 = NEW_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)); /*new String*/
-  variable27 = variable26;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable27) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
+  return;
+}
+void compiling_methods___NitMethodContext___init(val_t  self, val_t  param0, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 298, LOCATE_compiling_methods___NitMethodContext___init};
+  val_t variable[3];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_NitMethodContext].i]) return;
+  /* Register variable[2]: Method return value and escape marker */
+  ATTR_compiling_methods___NitMethodContext____method(variable[0]) /*NitMethodContext::_method*/ =  variable[1] /*method*/;
+  return_label72: while(false);
+  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_NitMethodContext].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___AMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, "compiling_methods::AMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:382,2--383:95)"};
+val_t compiling_methods___ClosureVariable___ctypename(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 307, LOCATE_compiling_methods___ClosureVariable___ctypename};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method do_compile_inside called (src/compiling//compiling_methods.nit:382,2)\n");
-  nit_exit(1);
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
-  return NIT_NULL;
+  return ATTR_compiling_methods___ClosureVariable____ctypename( self) /*ClosureVariable::_ctypename*/;
 }
-val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, "compiling_methods::AConcreteMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:387,2--446:12)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-      val_t variable7;
-      val_t variable8;
-      val_t variable9;
-      val_t variable10;
-        val_t variable11;
-        val_t variable12;
-        val_t variable13;
-        val_t variable14;
-        val_t variable15;
-        val_t variable16;
-        val_t variable17;
-        val_t variable18;
-        val_t variable19;
-    val_t variable20;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 =  param2;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*method*/) /*MMSrcMethod::global*/;
-  variable4 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable4) /*MMGlobalProperty::intro*/;
-  variable3 = variable4;
-  variable5 = ((genericity___MMLocalProperty___signature_t)CALL( variable3 /*orig_meth*/,COLOR_static_type___MMLocalProperty___signature))( variable3 /*orig_meth*/) /*MMLocalProperty::signature*/;
-  variable6 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
-  variable6 = ((static_type___MMSignature___recv_t)CALL(variable6,COLOR_static_type___MMSignature___recv))(variable6) /*MMSignature::recv*/;
-  variable5 = ((vararg___MMSignature___adaptation_to_t)CALL(variable5,COLOR_genericity___MMSignature___adaptation_to))(variable5, variable6) /*MMSignature::adaptation_to*/;
-  variable4 = variable5;
-  variable5 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AConcreteMethPropdef::n_signature*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable5 ==  NIT_NULL /*null*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5,  NIT_NULL /*null*/) /*PSignature::==*/)))))));
-  if (UNTAG_Bool(variable5)) { /*if*/
-    variable6 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AConcreteMethPropdef::n_signature*/;
-    variable5 = variable6;
-    variable6 = TAG_Bool(( variable5 /*sig*/==NIT_NULL) || VAL_ISA( variable5 /*sig*/, COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:393,4--28\n"); nit_exit(1);}
-    variable6 = ((parser_nodes___ASignature___n_params_t)CALL( variable5 /*sig*/,COLOR_parser_nodes___ASignature___n_params))( variable5 /*sig*/) /*ASignature::n_params*/;
-    variable6 = ((list___List___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*List::iterator*/;
-    while (true) { /*for*/
-      variable7 = ((list___ListIterator___is_ok_t)CALL(variable6,COLOR_abstract_collection___Iterator___is_ok))(variable6) /*ListIterator::is_ok*/;
-      if (!UNTAG_Bool(variable7)) break; /*for*/
-      variable7 = ((list___ListIterator___item_t)CALL(variable6,COLOR_abstract_collection___Iterator___item))(variable6) /*ListIterator::item*/;
-      variable9 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
-      variable8 = variable9;
-      variable9 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-      variable10 = ((mmbuilder___PParam___variable_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___variable))( variable7 /*ap*/) /*PParam::variable*/;
-      ((abstract_collection___Map_____braeq_t)CALL(variable9,COLOR_abstract_collection___Map_____braeq))(variable9, variable10,  variable8 /*cname*/) /*Map::[]=*/;
-      variable10 = ((mmbuilder___PParam___position_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___position))( variable7 /*ap*/) /*PParam::position*/;
-      variable10 = ((static_type___MMSignature_____bra_t)CALL( variable4 /*orig_sig*/,COLOR_static_type___MMSignature_____bra))( variable4 /*orig_sig*/, variable10) /*MMSignature::[]*/;
-      variable9 = variable10;
-      variable10 = ((mmbuilder___PParam___variable_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___variable))( variable7 /*ap*/) /*PParam::variable*/;
-      variable10 = ((syntax_base___Variable___stype_t)CALL(variable10,COLOR_syntax_base___Variable___stype))(variable10) /*Variable::stype*/;
-      variable10 = ((static_type___MMType_____l_t)CALL( variable9 /*orig_type*/,COLOR_static_type___MMType_____l))( variable9 /*orig_type*/, variable10) /*MMType::<*/;
-      if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable10)))) { /*if*/
-        variable10 = NEW_string___String___init(); /*new String*/
-        variable11 = NEW_string___String___with_native(BOX_NativeString("/* check if p<"), TAG_Int(14)); /*new String*/
-        variable12 = variable11;
-        ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
-        variable13 = ((mmbuilder___PParam___variable_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___variable))( variable7 /*ap*/) /*PParam::variable*/;
-        variable13 = ((syntax_base___Variable___stype_t)CALL(variable13,COLOR_syntax_base___Variable___stype))(variable13) /*Variable::stype*/;
-        variable14 = variable13;
-        variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
-        ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
-        variable15 = NEW_string___String___with_native(BOX_NativeString(" with p:"), TAG_Int(8)); /*new String*/
-        variable16 = variable15;
-        ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
-        variable17 =  variable9 /*orig_type*/;
-        variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
-        ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable17) /*String::append*/;
-        variable18 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
-        variable19 = variable18;
-        ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable19) /*String::append*/;
-        ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
-        variable10 = ((mmbuilder___PParam___variable_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___variable))( variable7 /*ap*/) /*PParam::variable*/;
-        variable10 = ((syntax_base___Variable___stype_t)CALL(variable10,COLOR_syntax_base___Variable___stype))(variable10) /*Variable::stype*/;
-        variable11 = ((mmbuilder___PParam___position_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___position))( variable7 /*ap*/) /*PParam::position*/;
-        variable11 = TAG_Int(UNTAG_Int(variable11)+UNTAG_Int( TAG_Int(1)));
-        variable12 = variable11;
-        variable13 = TAG_Bool(UNTAG_Int( variable12 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-        variable14 = variable13;
-        if (UNTAG_Bool(variable14)) { /* and */
-          variable14 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
-          variable14 = TAG_Bool(UNTAG_Int( variable12 /*index*/)<UNTAG_Int(variable14));
-        }
-        variable13 = variable14;
-        if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-        variable13 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
-        variable13 = UNBOX_NativeArray(variable13)[UNTAG_Int( variable12 /*index*/)];
-        goto return_label49;
-        return_label49: while(false);
-        variable11 = variable13;
-        ((compiling_methods___MMType___compile_type_check_t)CALL(variable10,COLOR_compiling_methods___MMType___compile_type_check))(variable10,  variable0 /*v*/, variable11,  variable7 /*ap*/) /*MMType::compile_type_check*/;
-      }
-      variable10 = ((mmbuilder___PParam___position_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___position))( variable7 /*ap*/) /*PParam::position*/;
-      variable10 = TAG_Int(UNTAG_Int(variable10)+UNTAG_Int( TAG_Int(1)));
-      variable11 = variable10;
-      variable12 = TAG_Bool(UNTAG_Int( variable11 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-      variable13 = variable12;
-      if (UNTAG_Bool(variable13)) { /* and */
-        variable13 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
-        variable13 = TAG_Bool(UNTAG_Int( variable11 /*index*/)<UNTAG_Int(variable13));
-      }
-      variable12 = variable13;
-      if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-      variable12 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
-      variable12 = UNBOX_NativeArray(variable12)[UNTAG_Int( variable11 /*index*/)];
-      goto return_label50;
-      return_label50: while(false);
-      variable10 = variable12;
-      ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable8 /*cname*/, variable10) /*CompilerVisitor::add_assignment*/;
-      continue_48: while(0);
-      ((list___ListIterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*ListIterator::next*/;
-    }
-    break_48: while(0);
-  }
-  variable6 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
-  variable5 = variable6;
-  variable7 = ((compiling_methods___CompilerVisitor___return_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label))( variable0 /*v*/) /*CompilerVisitor::return_label*/;
-  variable6 = variable7;
-  variable8 = ((compiling_methods___CompilerVisitor___return_value_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value))( variable0 /*v*/) /*CompilerVisitor::return_value*/;
-  variable7 = variable8;
-  variable9 = ((compiling_methods___CompilerVisitor___has_return_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return))( variable0 /*v*/) /*CompilerVisitor::has_return*/;
-  variable8 = variable9;
-  variable9 = NIT_NULL /*decl variable itpos*/;
-  variable10 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
-  if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = NEW_string___String___init(); /*new String*/
-    variable11 = NEW_string___String___with_native(BOX_NativeString("VAL2OBJ("), TAG_Int(8)); /*new String*/
-    variable12 = variable11;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
-    variable13 =  TAG_Int(0);
-    variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-    variable15 = variable14;
-    if (UNTAG_Bool(variable15)) { /* and */
-      variable15 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
-      variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-    }
-    variable14 = variable15;
-    if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-    variable14 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
-    variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-    goto return_label51;
-    return_label51: while(false);
-    variable13 = variable14;
-    variable14 = variable13;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
-    variable15 = NEW_string___String___with_native(BOX_NativeString(")->vft["), TAG_Int(7)); /*new String*/
-    variable16 = variable15;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
-    variable17 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
-    variable17 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable17,COLOR_abstractmetamodel___MMLocalClass___global))(variable17) /*MMLocalClass::global*/;
-    variable17 = ((compiling_base___MMGlobalClass___init_table_pos_id_t)CALL(variable17,COLOR_compiling_base___MMGlobalClass___init_table_pos_id))(variable17) /*MMGlobalClass::init_table_pos_id*/;
-    variable18 = variable17;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable18) /*String::append*/;
-    variable19 = NEW_string___String___with_native(BOX_NativeString("].i"), TAG_Int(3)); /*new String*/
-    variable20 = variable19;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable20) /*String::append*/;
-    variable9 = variable10 /*itpos=*/;
-    variable10 = NEW_string___String___init(); /*new String*/
-    variable11 = NEW_string___String___with_native(BOX_NativeString("if (init_table["), TAG_Int(15)); /*new String*/
-    variable12 = variable11;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
-    variable13 =  variable9 /*itpos*/;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString("]) return;"), TAG_Int(10)); /*new String*/
-    variable15 = variable14;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable15) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
-  }
-  ((compiling_methods___CompilerVisitor___method_params__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params__eq))( variable0 /*v*/,  variable2 /*params*/) /*CompilerVisitor::method_params=*/;
-  ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/,  TAG_Bool(false)) /*CompilerVisitor::has_return=*/;
-  variable10 = NEW_string___String___init(); /*new String*/
-  variable11 = NEW_string___String___with_native(BOX_NativeString("return_label"), TAG_Int(12)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
-  variable13 = ((compiling_base___CompilerVisitor___new_number_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___new_number))( variable0 /*v*/) /*CompilerVisitor::new_number*/;
-  variable14 = variable13;
-  variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
-  ((compiling_methods___CompilerVisitor___return_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label__eq))( variable0 /*v*/, variable10) /*CompilerVisitor::return_label=*/;
-  variable10 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
-  variable10 = ((static_type___MMSignature___return_type_t)CALL(variable10,COLOR_static_type___MMSignature___return_type))(variable10) /*MMSignature::return_type*/;
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable10 ==  NIT_NULL /*null*/) || ((variable10 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable10, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))(variable10,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
-    ((compiling_methods___CompilerVisitor___return_value__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value__eq))( variable0 /*v*/, variable10) /*CompilerVisitor::return_value=*/;
-    variable10 = ((compiling_methods___CompilerVisitor___return_value_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value))( variable0 /*v*/) /*CompilerVisitor::return_value*/;
-    ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable10) /*CompilerVisitor::free_var*/;
-  } else { /*if*/
-    ((compiling_methods___CompilerVisitor___return_value__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value__eq))( variable0 /*v*/,  NIT_NULL /*null*/) /*CompilerVisitor::return_value=*/;
-  }
-  variable10 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
-  if (UNTAG_Bool(variable10)) { /*if*/
-    ((compiling_methods___CompilerVisitor___method__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method__eq))( variable0 /*v*/,  variable1 /*method*/) /*CompilerVisitor::method=*/;
-    ((compiling_methods___CompilerVisitor___invoke_super_init_calls_after_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___invoke_super_init_calls_after))( variable0 /*v*/,  NIT_NULL /*null*/) /*CompilerVisitor::invoke_super_init_calls_after*/;
-  }
-  variable10 = ((parser_nodes___AConcreteMethPropdef___n_block_t)CALL( self,COLOR_parser_nodes___AConcreteMethPropdef___n_block))( self) /*AConcreteMethPropdef::n_block*/;
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable10 ==  NIT_NULL /*null*/) || ((variable10 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable10, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))(variable10,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
-  if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((parser_nodes___AConcreteMethPropdef___n_block_t)CALL( self,COLOR_parser_nodes___AConcreteMethPropdef___n_block))( self) /*AConcreteMethPropdef::n_block*/;
-    ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable10) /*CompilerVisitor::compile_stmt*/;
-  }
-  variable10 = ((compiling_methods___CompilerVisitor___has_return_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return))( variable0 /*v*/) /*CompilerVisitor::has_return*/;
-  if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = NEW_string___String___init(); /*new String*/
-    variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-    variable12 = variable11;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
-    variable13 = ((compiling_methods___CompilerVisitor___return_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label))( variable0 /*v*/) /*CompilerVisitor::return_label*/;
-    variable14 = variable13;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
-    variable15 = NEW_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)); /*new String*/
-    variable16 = variable15;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
-  }
-  variable10 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
-  if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = NEW_string___String___init(); /*new String*/
-    variable11 = NEW_string___String___with_native(BOX_NativeString("init_table["), TAG_Int(11)); /*new String*/
-    variable12 = variable11;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
-    variable13 =  variable9 /*itpos*/;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString("] = 1;"), TAG_Int(6)); /*new String*/
-    variable15 = variable14;
-    ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable15) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
-  }
-  variable11 = ((compiling_methods___CompilerVisitor___return_value_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value))( variable0 /*v*/) /*CompilerVisitor::return_value*/;
-  variable10 = variable11;
-  ((compiling_methods___CompilerVisitor___method_params__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params__eq))( variable0 /*v*/,  variable5 /*old_method_params*/) /*CompilerVisitor::method_params=*/;
-  ((compiling_methods___CompilerVisitor___return_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label__eq))( variable0 /*v*/,  variable6 /*old_return_label*/) /*CompilerVisitor::return_label=*/;
-  ((compiling_methods___CompilerVisitor___return_value__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value__eq))( variable0 /*v*/,  variable7 /*old_return_value*/) /*CompilerVisitor::return_value=*/;
-  ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/,  variable8 /*old_has_return*/) /*CompilerVisitor::has_return=*/;
-  variable3 =  variable10 /*ret*/;
-  goto return_label47;
-  return_label47: while(false);
-  tracehead = trace.prev;
-  return variable3;
+void compiling_methods___ClosureVariable___ctypename__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 307, LOCATE_compiling_methods___ClosureVariable___ctypename__eq};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  ATTR_compiling_methods___ClosureVariable____ctypename( self) /*ClosureVariable::_ctypename*/ =  param0;
+  tracehead = trace.prev;
+  return;
 }
-val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, "compiling_methods::ADeferredMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:451,2--458:14)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 =  param2;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Deferred method "), TAG_Int(33)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 = ((mmbuilder___AMethPropdef___name_t)CALL( self,COLOR_mmbuilder___AMethPropdef___name))( self) /*ADeferredMethPropdef::name*/;
-  variable7 = variable6;
-  variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(" called ("), TAG_Int(9)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*ADeferredMethPropdef::first_token*/;
-  variable10 = ((parser_prod___Token___locate_t)CALL(variable10,COLOR_parser_prod___PNode___locate))(variable10) /*Token::locate*/;
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString(")\\n\");"), TAG_Int(6)); /*new String*/
-  variable13 = variable12;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("nit_exit(1);"), TAG_Int(12)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  variable3 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
-  variable3 = ((static_type___MMSignature___return_type_t)CALL(variable3,COLOR_static_type___MMSignature___return_type))(variable3) /*MMSignature::return_type*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)); /*new String*/
-    goto return_label52;
-  } else { /*if*/
-    variable3 =  NIT_NULL /*null*/;
-    goto return_label52;
-  }
-  return_label52: while(false);
+val_t compiling_methods___MMMethod___compile_expr_call(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 311, LOCATE_compiling_methods___MMMethod___compile_expr_call};
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_static_type___MMSignature___return_type(variable[4])(variable[4]) /*MMSignature::return_type*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMMethod___compile_expr_call, LOCATE_compiling_methods, 315); nit_exit(1);}
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[0])(variable[0],  variable[1] /*v*/,  variable[2] /*cargs*/) /*MMMethod::intern_compile_call*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[4] /*s*/ ==  NIT_NULL /*null*/) || (( variable[4] /*s*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[4] /*s*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[4] /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[4] /*s*/)( variable[4] /*s*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable[5])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMMethod___compile_expr_call, LOCATE_compiling_methods, 317); nit_exit(1);}
+  variable[3] =  variable[4] /*s*/;
+  goto return_label73;
+  return_label73: while(false);
   tracehead = trace.prev;
-  return variable3;
+  return variable[3];
 }
-val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, "compiling_methods::AExternMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:464,2--485:14)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  val_t variable20;
-  val_t variable21;
-  val_t variable22;
-  val_t variable23;
-  val_t variable24;
-  val_t variable25;
-  val_t variable26;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 =  param2;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___module))( variable1 /*method*/) /*MMSrcMethod::module*/;
-  variable7 = ((abstractmetamodel___MMModule___name_t)CALL(variable7,COLOR_abstractmetamodel___MMModule___name))(variable7) /*MMModule::name*/;
-  variable8 = variable7;
-  variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable10 = variable9;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
-  variable11 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable11,COLOR_abstractmetamodel___MMLocalClass___name))(variable11) /*MMLocalClass::name*/;
-  variable12 = variable11;
-  variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
-  variable15 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
-  variable15 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable15,COLOR_abstractmetamodel___MMLocalClass___name))(variable15) /*MMLocalClass::name*/;
-  variable16 = variable15;
-  variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
-  variable19 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*method*/) /*MMSrcMethod::name*/;
-  variable20 = variable19;
-  variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
-  variable21 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable22 = variable21;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
-  variable23 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
-  variable23 = ((static_type___MMSignature___arity_t)CALL(variable23,COLOR_static_type___MMSignature___arity))(variable23) /*MMSignature::arity*/;
-  variable24 = variable23;
-  variable24 = ((string___String___to_s_t)CALL(variable24,COLOR_string___Object___to_s))(variable24) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable24) /*String::append*/;
-  variable25 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable26 = variable25;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable26) /*String::append*/;
-  variable3 = variable4;
-  variable4 = ((parser_nodes___AExternMethPropdef___n_extern_t)CALL( self,COLOR_parser_nodes___AExternMethPropdef___n_extern))( self) /*AExternMethPropdef::n_extern*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  NIT_NULL /*null*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  NIT_NULL /*null*/) /*TString::==*/)))))));
-  if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = ((parser_nodes___AExternMethPropdef___n_extern_t)CALL( self,COLOR_parser_nodes___AExternMethPropdef___n_extern))( self) /*AExternMethPropdef::n_extern*/;
-    variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*TString::text*/;
-    variable3 = variable4 /*ename=*/;
-    variable4 = ((array___AbstractArray___length_t)CALL( variable3 /*ename*/,COLOR_abstract_collection___Collection___length))( variable3 /*ename*/) /*String::length*/;
-    variable4 = TAG_Int(UNTAG_Int(variable4)-UNTAG_Int( TAG_Int(2)));
-    variable4 = ((string___String___substring_t)CALL( variable3 /*ename*/,COLOR_string___String___substring))( variable3 /*ename*/,  TAG_Int(1), variable4) /*String::substring*/;
-    variable3 = variable4 /*ename=*/;
-  }
-  variable5 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
-  variable4 = variable5;
-  variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*params*/,COLOR_abstract_collection___Collection___length))( variable2 /*params*/) /*Array::length*/;
-  variable6 = ((static_type___MMSignature___arity_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___arity))( variable4 /*sig*/) /*MMSignature::arity*/;
-  variable6 = TAG_Int(UNTAG_Int(variable6)+UNTAG_Int( TAG_Int(1)));
-  variable5 = TAG_Bool((variable5)!=(variable6));
-  if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = NEW_string___String___init(); /*new String*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("par:"), TAG_Int(4)); /*new String*/
-    variable7 = variable6;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
-    variable8 = ((array___AbstractArray___length_t)CALL( variable2 /*params*/,COLOR_abstract_collection___Collection___length))( variable2 /*params*/) /*Array::length*/;
-    variable9 = variable8;
-    variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
-    variable10 = NEW_string___String___with_native(BOX_NativeString(" sig:"), TAG_Int(5)); /*new String*/
-    variable11 = variable10;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
-    variable12 = ((static_type___MMSignature___arity_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___arity))( variable4 /*sig*/) /*MMSignature::arity*/;
-    variable13 = variable12;
-    variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
-    variable14 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-    variable15 = variable14;
-    ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
-    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable5) /*AExternMethPropdef::printl*/;
-  }
-  variable6 = NEW_array___Array___init(); /*new Array[String]*/
-  variable5 = variable6;
-  variable6 = ((static_type___MMSignature___recv_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___recv))( variable4 /*sig*/) /*MMSignature::recv*/;
-  variable7 =  TAG_Int(0);
-  variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-  variable9 = variable8;
-  if (UNTAG_Bool(variable9)) { /* and */
-    variable9 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
-    variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
-  }
-  variable8 = variable9;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-  variable8 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
-  variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
-  goto return_label54;
-  return_label54: while(false);
-  variable7 = variable8;
-  variable6 = ((compiling_base___MMType___unboxtype_t)CALL(variable6,COLOR_compiling_base___MMType___unboxtype))(variable6, variable7) /*MMType::unboxtype*/;
-  ((array___AbstractArray___add_t)CALL( variable5 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*args*/, variable6) /*Array::add*/;
-  variable6 = ((static_type___MMSignature___arity_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___arity))( variable4 /*sig*/) /*MMSignature::arity*/;
-  variable7 = NEW_range___Range___without_last( TAG_Int(0), variable6); /*new Range[Int]*/
-  variable6 = variable7;
-  variable6 = ((range___Range___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*Range::iterator*/;
-  while (true) { /*for*/
-    variable7 = ((abstract_collection___Iterator___is_ok_t)CALL(variable6,COLOR_abstract_collection___Iterator___is_ok))(variable6) /*Iterator::is_ok*/;
-    if (!UNTAG_Bool(variable7)) break; /*for*/
-    variable7 = ((abstract_collection___Iterator___item_t)CALL(variable6,COLOR_abstract_collection___Iterator___item))(variable6) /*Iterator::item*/;
-    variable8 = ((static_type___MMSignature_____bra_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature_____bra))( variable4 /*sig*/,  variable7 /*i*/) /*MMSignature::[]*/;
-    variable9 = TAG_Int(UNTAG_Int( variable7 /*i*/)+UNTAG_Int( TAG_Int(1)));
-    variable10 = variable9;
-    variable11 = TAG_Bool(UNTAG_Int( variable10 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-    variable12 = variable11;
-    if (UNTAG_Bool(variable12)) { /* and */
-      variable12 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
-      variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
-    }
-    variable11 = variable12;
-    if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-    variable11 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
-    variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
-    goto return_label56;
-    return_label56: while(false);
-    variable9 = variable11;
-    variable8 = ((compiling_base___MMType___unboxtype_t)CALL(variable8,COLOR_compiling_base___MMType___unboxtype))(variable8, variable9) /*MMType::unboxtype*/;
-    ((array___AbstractArray___add_t)CALL( variable5 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*args*/, variable8) /*Array::add*/;
-    continue_55: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*Iterator::next*/;
-  }
-  break_55: while(0);
-  variable7 = NEW_string___String___init(); /*new String*/
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
-  variable10 =  variable3 /*ename*/;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable13 = ((string___Collection___join_t)CALL( variable5 /*args*/,COLOR_string___Collection___join))( variable5 /*args*/, variable13) /*Array::join*/;
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
-  variable15 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
-  variable6 = variable7;
-  variable7 = ((static_type___MMSignature___return_type_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___return_type))( variable4 /*sig*/) /*MMSignature::return_type*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable7 ==  NIT_NULL /*null*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((static_type___MMSignature___return_type_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___return_type))( variable4 /*sig*/) /*MMSignature::return_type*/;
-    variable7 = ((compiling_base___MMType___boxtype_t)CALL(variable7,COLOR_compiling_base___MMType___boxtype))(variable7,  variable6 /*s*/) /*MMType::boxtype*/;
-    variable3 = variable7;
-    goto return_label53;
-  } else { /*if*/
-    variable7 = NEW_string___String___init(); /*new String*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-    variable9 = variable8;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
-    variable10 =  variable6 /*s*/;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
-    variable11 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-    variable12 = variable11;
-    ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
-    variable3 =  NIT_NULL /*null*/;
-    goto return_label53;
-  }
-  return_label53: while(false);
-  tracehead = trace.prev;
-  return variable3;
+void compiling_methods___MMMethod___compile_stmt_call(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 321, LOCATE_compiling_methods___MMMethod___compile_stmt_call};
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_static_type___MMSignature___return_type(variable[4])(variable[4]) /*MMSignature::return_type*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))));
+  if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMMethod___compile_stmt_call, LOCATE_compiling_methods, 325); nit_exit(1);}
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[0])(variable[0],  variable[1] /*v*/,  variable[2] /*cargs*/) /*MMMethod::intern_compile_call*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Bool(( variable[4] /*s*/ ==  NIT_NULL /*null*/) || (( variable[4] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[4] /*s*/)( variable[4] /*s*/,  NIT_NULL /*null*/) /*String::==*/)));
+  if (!UNTAG_Bool(variable[5])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMMethod___compile_stmt_call, LOCATE_compiling_methods, 327); nit_exit(1);}
+  return_label74: while(false);
+  tracehead = trace.prev;
+  return;
 }
-val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, "compiling_methods::AInternMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:491,2--659:10)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  static val_t once_value_variable6_58; static int once_bool_variable6_58;
-    static val_t once_value_variable6_59; static int once_bool_variable6_59;
-      val_t variable7;
-      val_t variable8;
-      val_t variable9;
-      val_t variable10;
-      val_t variable11;
-      val_t variable12;
-      static val_t once_value_variable6_61; static int once_bool_variable6_61;
-        static val_t once_value_variable6_63; static int once_bool_variable6_63;
-          static val_t once_value_variable6_65; static int once_bool_variable6_65;
-            static val_t once_value_variable6_67; static int once_bool_variable6_67;
-              static val_t once_value_variable6_69; static int once_bool_variable6_69;
-               static val_t once_value_variable6_71; static int once_bool_variable6_71;
-               static val_t once_value_variable6_73; static int once_bool_variable6_73;
-               val_t variable13;
-               val_t variable14;
-               val_t variable15;
-               val_t variable16;
-               static val_t once_value_variable6_76; static int once_bool_variable6_76;
-               static val_t once_value_variable6_79; static int once_bool_variable6_79;
-               static val_t once_value_variable6_82; static int once_bool_variable6_82;
-               static val_t once_value_variable6_85; static int once_bool_variable6_85;
-               static val_t once_value_variable6_88; static int once_bool_variable6_88;
-               static val_t once_value_variable6_91; static int once_bool_variable6_91;
-               static val_t once_value_variable6_94; static int once_bool_variable6_94;
-               static val_t once_value_variable6_97; static int once_bool_variable6_97;
-               static val_t once_value_variable6_100; static int once_bool_variable6_100;
-               static val_t once_value_variable6_103; static int once_bool_variable6_103;
-               static val_t once_value_variable6_106; static int once_bool_variable6_106;
-               static val_t once_value_variable6_109; static int once_bool_variable6_109;
-    static val_t once_value_variable6_112; static int once_bool_variable6_112;
-      static val_t once_value_variable6_113; static int once_bool_variable6_113;
-        static val_t once_value_variable6_115; static int once_bool_variable6_115;
-          static val_t once_value_variable6_117; static int once_bool_variable6_117;
-            static val_t once_value_variable6_119; static int once_bool_variable6_119;
-              static val_t once_value_variable6_121; static int once_bool_variable6_121;
-               static val_t once_value_variable6_124; static int once_bool_variable6_124;
-               static val_t once_value_variable6_127; static int once_bool_variable6_127;
-               static val_t once_value_variable6_130; static int once_bool_variable6_130;
-               static val_t once_value_variable6_133; static int once_bool_variable6_133;
-               static val_t once_value_variable6_136; static int once_bool_variable6_136;
-               static val_t once_value_variable6_139; static int once_bool_variable6_139;
-               static val_t once_value_variable6_142; static int once_bool_variable6_142;
-      static val_t once_value_variable6_145; static int once_bool_variable6_145;
-        static val_t once_value_variable6_146; static int once_bool_variable6_146;
-          static val_t once_value_variable6_148; static int once_bool_variable6_148;
-            static val_t once_value_variable6_150; static int once_bool_variable6_150;
-              static val_t once_value_variable6_152; static int once_bool_variable6_152;
-               static val_t once_value_variable6_154; static int once_bool_variable6_154;
-               static val_t once_value_variable6_156; static int once_bool_variable6_156;
-               static val_t once_value_variable6_158; static int once_bool_variable6_158;
-               static val_t once_value_variable6_160; static int once_bool_variable6_160;
-               static val_t once_value_variable6_163; static int once_bool_variable6_163;
-               static val_t once_value_variable6_166; static int once_bool_variable6_166;
-               static val_t once_value_variable6_169; static int once_bool_variable6_169;
-               static val_t once_value_variable6_172; static int once_bool_variable6_172;
-               static val_t once_value_variable6_175; static int once_bool_variable6_175;
-               static val_t once_value_variable6_178; static int once_bool_variable6_178;
-               static val_t once_value_variable6_181; static int once_bool_variable6_181;
-               static val_t once_value_variable6_184; static int once_bool_variable6_184;
-               static val_t once_value_variable6_187; static int once_bool_variable6_187;
-               static val_t once_value_variable6_190; static int once_bool_variable6_190;
-        static val_t once_value_variable6_193; static int once_bool_variable6_193;
-          static val_t once_value_variable6_194; static int once_bool_variable6_194;
-            static val_t once_value_variable6_196; static int once_bool_variable6_196;
-              static val_t once_value_variable6_198; static int once_bool_variable6_198;
-               static val_t once_value_variable6_200; static int once_bool_variable6_200;
-               static val_t once_value_variable6_202; static int once_bool_variable6_202;
-               static val_t once_value_variable6_204; static int once_bool_variable6_204;
-               static val_t once_value_variable6_207; static int once_bool_variable6_207;
-          static val_t once_value_variable6_210; static int once_bool_variable6_210;
-            static val_t once_value_variable6_211; static int once_bool_variable6_211;
-              static val_t once_value_variable6_213; static int once_bool_variable6_213;
-               static val_t once_value_variable6_216; static int once_bool_variable6_216;
-               val_t variable17;
-               val_t variable18;
-               val_t variable19;
-               val_t variable20;
-               static val_t once_value_variable6_220; static int once_bool_variable6_220;
-            static val_t once_value_variable6_224; static int once_bool_variable6_224;
-              static val_t once_value_variable6_225; static int once_bool_variable6_225;
-               static val_t once_value_variable6_227; static int once_bool_variable6_227;
-               static val_t once_value_variable6_229; static int once_bool_variable6_229;
-               static val_t once_value_variable6_232; static int once_bool_variable6_232;
-               static val_t once_value_variable6_236; static int once_bool_variable6_236;
-               val_t variable21;
-               val_t variable22;
-               val_t variable23;
-               val_t variable24;
-               val_t variable25;
-               val_t variable26;
-               val_t variable27;
-               val_t variable28;
-              static val_t once_value_variable6_242; static int once_bool_variable6_242;
-               static val_t once_value_variable6_244; static int once_bool_variable6_244;
-               static val_t once_value_variable6_245; static int once_bool_variable6_245;
-               static val_t once_value_variable6_248; static int once_bool_variable6_248;
-               static val_t once_value_variable6_250; static int once_bool_variable6_250;
-               static val_t once_value_variable6_252; static int once_bool_variable6_252;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 =  param2;
-  variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
-  variable4 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___name))(variable4) /*MMLocalClass::name*/;
-  variable3 = variable4;
-  variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*method*/) /*MMSrcMethod::name*/;
-  variable4 = variable5;
-  variable5 = NIT_NULL /*decl variable s*/;
-  if (once_bool_variable6_58) variable6 = once_value_variable6_58;
-  else {
-    variable6 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
-    variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-    once_value_variable6_58 = variable6;
-    once_bool_variable6_58 = true;
-  }
-  variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
-  if (UNTAG_Bool(variable6)) { /*if*/
-    if (once_bool_variable6_59) variable6 = once_value_variable6_59;
-    else {
-      variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
-      variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-      once_value_variable6_59 = variable6;
-      once_bool_variable6_59 = true;
-    }
-    variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-    if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-      variable8 = variable7;
-      ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-      variable9 =  TAG_Int(0);
-      variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-      variable11 = variable10;
-      if (UNTAG_Bool(variable11)) { /* and */
-        variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-        variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-      }
-      variable10 = variable11;
-      if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-      variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-      variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-      goto return_label60;
-      return_label60: while(false);
-      variable9 = variable10;
-      variable10 = variable9;
-      ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-      variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-      variable12 = variable11;
-      ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-      variable5 = variable6 /*s=*/;
-    } else { /*if*/
-      if (once_bool_variable6_61) variable6 = once_value_variable6_61;
+val_t compiling_methods___MMMethod___intern_compile_call(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 330, LOCATE_compiling_methods___MMMethod___intern_compile_call};
+      static val_t once_value_76; static int once_bool_76; /* Once value for variable[6]*/
+        static val_t once_value_77 = NIT_NULL; /* Once value for string variable[6]*/
+        static val_t once_value_78; static int once_bool_78; /* Once value for variable[6]*/
+          static val_t once_value_79 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_80; static int once_bool_80; /* Once value for variable[6]*/
+    static val_t once_value_81 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_82; static int once_bool_82; /* Once value for variable[7]*/
+    static val_t once_value_83 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_84 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_85 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_86 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_87 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_88 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_90 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_91 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_92 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_93 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_94 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_95 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_96 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_97 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_98 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_99; static int once_bool_99; /* Once value for variable[10]*/
+      static val_t once_value_100 = NIT_NULL; /* Once value for string variable[10]*/
+      static val_t once_value_101 = NIT_NULL; /* Once value for string variable[11]*/
+      static val_t once_value_102 = NIT_NULL; /* Once value for string variable[11]*/
+      static val_t once_value_103 = NIT_NULL; /* Once value for string variable[11]*/
+      static val_t once_value_105 = NIT_NULL; /* Once value for string variable[11]*/
+      static val_t once_value_107 = NIT_NULL; /* Once value for string variable[11]*/
+      static val_t once_value_108 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_109 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_110 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_112 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_113 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_114 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_115 = NIT_NULL; /* Once value for string variable[9]*/
+  val_t variable[15];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Local variable */
+  variable[4] = variable[0];
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Bool(( variable[4] /*i*/==NIT_NULL) || VAL_ISA( variable[4] /*i*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
+  if (UNTAG_Bool(variable[5])) { /*if*/
+    /* Register variable[5]: Result */
+    variable[5] = TAG_Bool(( variable[4] /*i*/==NIT_NULL) || VAL_ISA( variable[4] /*i*/, COLOR_MMMethSrcMethod, ID_MMMethSrcMethod)) /*cast MMMethSrcMethod*/;
+    /* Ensure var variable[5]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[5])) { /* and */
+      /* Register variable[5]: Result */
+      variable[5] = CALL_syntax_base___MMLocalProperty___node( variable[4] /*i*/)( variable[4] /*i*/) /*MMMethSrcMethod::node*/;
+      /* Register variable[5]: Result */
+      variable[5] = TAG_Bool((variable[5]==NIT_NULL) || VAL_ISA(variable[5], COLOR_AInternMethPropdef, ID_AInternMethPropdef)) /*cast AInternMethPropdef*/;
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: Left 'or' operand*/
+    if (!UNTAG_Bool(variable[5])) { /* or */
+      /* Register variable[5]: Result */
+      variable[5] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[4] /*i*/)( variable[4] /*i*/) /*MMLocalProperty::local_class*/;
+      /* Register variable[5]: Result */
+      variable[5] = CALL_abstractmetamodel___MMLocalClass___name(variable[5])(variable[5]) /*MMLocalClass::name*/;
+      /* Register variable[6]: Once expression result */
+      if (once_bool_76) variable[6] = once_value_76;
       else {
-        variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
-        variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-        once_value_variable6_61 = variable6;
-        once_bool_variable6_61 = true;
-      }
-      variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-      if (UNTAG_Bool(variable6)) { /*if*/
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(-UNTAG_Int("), TAG_Int(19)); /*new String*/
-        variable8 = variable7;
-        ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-        variable9 =  TAG_Int(0);
-        variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-        variable11 = variable10;
-        if (UNTAG_Bool(variable11)) { /* and */
-          variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-          variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-        }
-        variable10 = variable11;
-        if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-        variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-        variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-        goto return_label62;
-        return_label62: while(false);
-        variable9 = variable10;
-        variable10 = variable9;
-        ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-        variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-        variable12 = variable11;
-        ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-        variable5 = variable6 /*s=*/;
-      } else { /*if*/
-        if (once_bool_variable6_63) variable6 = once_value_variable6_63;
+        /* Register variable[6]: Once String constant */
+        if (once_value_77 != NIT_NULL) variable[6] = once_value_77;
         else {
-          variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
-          variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-          once_value_variable6_63 = variable6;
-          once_bool_variable6_63 = true;
+          variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)) /*new String*/;
+          once_value_77 = variable[6];
         }
-        variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-        if (UNTAG_Bool(variable6)) { /*if*/
-          variable6 = NEW_string___String___init(); /*new String*/
-          variable7 = NEW_string___String___with_native(BOX_NativeString("printf(\"%d\\n\", UNTAG_Int("), TAG_Int(25)); /*new String*/
-          variable8 = variable7;
-          ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-          variable9 =  TAG_Int(0);
-          variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-          variable11 = variable10;
-          if (UNTAG_Bool(variable11)) { /* and */
-            variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-            variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-          }
-          variable10 = variable11;
-          if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-          variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-          variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-          goto return_label64;
-          return_label64: while(false);
-          variable9 = variable10;
-          variable10 = variable9;
-          ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-          variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
-          variable12 = variable11;
-          ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-          ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-        } else { /*if*/
-          if (once_bool_variable6_65) variable6 = once_value_variable6_65;
+        /* Register variable[6]: Result */
+        /* Register variable[6]: Result */
+        variable[6] = CALL_symbol___String___to_symbol(variable[6])(variable[6]) /*String::to_symbol*/;
+        once_value_76 = variable[6];
+        once_bool_76 = true;
+      }
+      /* Register variable[6]: Result */
+      /* Register variable[5]: Result */
+      variable[5] = TAG_Bool((variable[5] == variable[6]) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5],variable[6])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], variable[6]) /*Object::==*/)))));
+      /* Ensure var variable[5]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[5])) { /* and */
+        /* Register variable[5]: Result */
+        variable[5] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+        /* Register variable[6]: Once expression result */
+        if (once_bool_78) variable[6] = once_value_78;
+        else {
+          /* Register variable[6]: Once String constant */
+          if (once_value_79 != NIT_NULL) variable[6] = once_value_79;
           else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
-            variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_65 = variable6;
-            once_bool_variable6_65 = true;
-          }
-          variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-          if (UNTAG_Bool(variable6)) { /*if*/
-            variable6 = NEW_string___String___init(); /*new String*/
-            variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Int("), TAG_Int(19)); /*new String*/
-            variable8 = variable7;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-            variable9 =  TAG_Int(0);
-            variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-            variable11 = variable10;
-            if (UNTAG_Bool(variable11)) { /* and */
-              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-              variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-            }
-            variable10 = variable11;
-            if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-            variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-            variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-            goto return_label66;
-            return_label66: while(false);
-            variable9 = variable10;
-            variable10 = variable9;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-            variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-            variable12 = variable11;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-            variable5 = variable6 /*s=*/;
-          } else { /*if*/
-            if (once_bool_variable6_67) variable6 = once_value_variable6_67;
-            else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
-              variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_67 = variable6;
-              once_bool_variable6_67 = true;
-            }
-            variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-            if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
-              variable8 = variable7;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-              variable9 =  TAG_Int(0);
-              variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-              variable11 = variable10;
-              if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-              }
-              variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-              variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-              variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label68;
-              return_label68: while(false);
-              variable9 = variable10;
-              variable10 = variable9;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
-              variable12 = variable11;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-              variable5 = variable6 /*s=*/;
-            } else { /*if*/
-              if (once_bool_variable6_69) variable6 = once_value_variable6_69;
-              else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_69 = variable6;
-               once_bool_variable6_69 = true;
-              }
-              variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-              if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label70;
-               return_label70: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-              } else { /*if*/
-               if (once_bool_variable6_71) variable6 = once_value_variable6_71;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("to_f"), TAG_Int(4)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_71 = variable6;
-               once_bool_variable6_71 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float((float)UNTAG_Int("), TAG_Int(27)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label72;
-               return_label72: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_73) variable6 = once_value_variable6_73;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_73 = variable6;
-               once_bool_variable6_73 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label74;
-               return_label74: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label75;
-               return_label75: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_76) variable6 = once_value_variable6_76;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_76 = variable6;
-               once_bool_variable6_76 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label77;
-               return_label77: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label78;
-               return_label78: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_79) variable6 = once_value_variable6_79;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_79 = variable6;
-               once_bool_variable6_79 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label80;
-               return_label80: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")*UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label81;
-               return_label81: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_82) variable6 = once_value_variable6_82;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_82 = variable6;
-               once_bool_variable6_82 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label83;
-               return_label83: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")/UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label84;
-               return_label84: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_85) variable6 = once_value_variable6_85;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_85 = variable6;
-               once_bool_variable6_85 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label86;
-               return_label86: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")%UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label87;
-               return_label87: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_88) variable6 = once_value_variable6_88;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_88 = variable6;
-               once_bool_variable6_88 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label89;
-               return_label89: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label90;
-               return_label90: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_91) variable6 = once_value_variable6_91;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_91 = variable6;
-               once_bool_variable6_91 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label92;
-               return_label92: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label93;
-               return_label93: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_94) variable6 = once_value_variable6_94;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_94 = variable6;
-               once_bool_variable6_94 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label95;
-               return_label95: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<=UNTAG_Int("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label96;
-               return_label96: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_97) variable6 = once_value_variable6_97;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_97 = variable6;
-               once_bool_variable6_97 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label98;
-               return_label98: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>=UNTAG_Int("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label99;
-               return_label99: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_100) variable6 = once_value_variable6_100;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("lshift"), TAG_Int(6)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_100 = variable6;
-               once_bool_variable6_100 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label101;
-               return_label101: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<<UNTAG_Int("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label102;
-               return_label102: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_103) variable6 = once_value_variable6_103;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("rshift"), TAG_Int(6)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_103 = variable6;
-               once_bool_variable6_103 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label104;
-               return_label104: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>>UNTAG_Int("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label105;
-               return_label105: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_106) variable6 = once_value_variable6_106;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_106 = variable6;
-               once_bool_variable6_106 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label107;
-               return_label107: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label108;
-               return_label108: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_109) variable6 = once_value_variable6_109;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_109 = variable6;
-               once_bool_variable6_109 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label110;
-               return_label110: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label111;
-               return_label111: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-              }
-            }
+            variable[6] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)) /*new String*/;
+            once_value_79 = variable[6];
           }
+          /* Register variable[6]: Result */
+          /* Register variable[6]: Result */
+          variable[6] = CALL_symbol___String___to_symbol(variable[6])(variable[6]) /*String::to_symbol*/;
+          once_value_78 = variable[6];
+          once_bool_78 = true;
         }
+        /* Register variable[6]: Result */
+        /* Register variable[5]: Result */
+        variable[5] = TAG_Bool((variable[5] == variable[6]) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5],variable[6])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], variable[6]) /*Object::==*/)))));
       }
+      /* Register variable[5]: Result */
     }
-  } else { /*if*/
-    if (once_bool_variable6_112) variable6 = once_value_variable6_112;
+    /* Register variable[5]: Result */
+    if (UNTAG_Bool(variable[5])) { /*if*/
+      /* Register variable[5]: Local variable */
+      /* Register variable[6]: Result */
+      variable[6] = CALL_compiling_methods___MMSrcMethod___do_compile_inside( variable[4] /*i*/)( variable[4] /*i*/,  variable[1] /*v*/,  variable[2] /*cargs*/) /*MMSrcMethod::do_compile_inside*/;
+      variable[5] = variable[6];
+      variable[3] =  variable[5] /*e*/;
+      goto return_label75;
+    }
+  }
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Once expression result */
+  if (once_bool_80) variable[6] = once_value_80;
+  else {
+    /* Register variable[6]: Once String constant */
+    if (once_value_81 != NIT_NULL) variable[6] = once_value_81;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
+      once_value_81 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Register variable[6]: Result */
+    variable[6] = CALL_symbol___String___to_symbol(variable[6])(variable[6]) /*String::to_symbol*/;
+    once_value_80 = variable[6];
+    once_bool_80 = true;
+  }
+  /* Register variable[6]: Result */
+  variable[5] = variable[6];
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Once expression result */
+  if (once_bool_82) variable[7] = once_value_82;
+  else {
+    /* Register variable[7]: Once String constant */
+    if (once_value_83 != NIT_NULL) variable[7] = once_value_83;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)) /*new String*/;
+      once_value_83 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    /* Register variable[7]: Result */
+    variable[7] = CALL_symbol___String___to_symbol(variable[7])(variable[7]) /*String::to_symbol*/;
+    once_value_82 = variable[7];
+    once_bool_82 = true;
+  }
+  /* Register variable[7]: Result */
+  variable[6] = variable[7];
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+  /* Register variable[7]: Result */
+  variable[7] = TAG_Bool((variable[7] ==  variable[6] /*ne*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], variable[6] /*ne*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7],  variable[6] /*ne*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable[7])) { /*if*/
+    /* Register variable[7]: Local variable */
+    /* Register variable[8]: Result */
+    variable[8] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_static_type___MMSignature___recv(variable[8])(variable[8]) /*MMSignature::recv*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_static_type___MMType___local_class(variable[8])(variable[8]) /*MMType::local_class*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_abstractmetamodel___MMLocalClass___select_method(variable[8])(variable[8],  variable[5] /*ee*/) /*MMLocalClass::select_method*/;
+    variable[7] = variable[8];
+    /* Register variable[8]: Local variable */
+    /* Register variable[9]: Result */
+    variable[9] = CALL_compiling_methods___MMMethod___compile_expr_call( variable[7] /*eqp*/)( variable[7] /*eqp*/,  variable[1] /*v*/,  variable[2] /*cargs*/) /*MMMethod::compile_expr_call*/;
+    variable[8] = variable[9];
+    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_84 != NIT_NULL) variable[10] = once_value_84;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(!UNTAG_Bool("), TAG_Int(21)) /*new String*/;
+      once_value_84 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    variable[10] =  variable[8] /*eqcall*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_85 != NIT_NULL) variable[10] = once_value_85;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+      once_value_85 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+    variable[3] = variable[9];
+    goto return_label75;
+  }
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[7])(variable[7]) /*MMGlobalProperty::is_init*/;
+  if (UNTAG_Bool(variable[7])) { /*if*/
+    /* Register variable[7]: Result */
+    variable[7] = CALL_array___Collection___to_a( variable[2] /*cargs*/)( variable[2] /*cargs*/) /*Collection::to_a*/;
+    variable[2] = variable[7] /*cargs=*/;
+    /* Register variable[7]: Once String constant */
+    if (once_value_86 != NIT_NULL) variable[7] = once_value_86;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("init_table /*YYY*/"), TAG_Int(18)) /*new String*/;
+      once_value_86 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    CALL_abstract_collection___SimpleCollection___add( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[7]) /*AbstractArray::add*/;
+  }
+  /* Register variable[7]: Local variable */
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_87 != NIT_NULL) variable[9] = once_value_87;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_87 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_base___MMGlobalProperty___meth_call(variable[9])(variable[9]) /*MMGlobalProperty::meth_call*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_88 != NIT_NULL) variable[9] = once_value_88;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_88 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Local variable */
+  variable[9] =  variable[2] /*cargs*/;
+  /* Register variable[10]: Local variable */
+  variable[10] =  TAG_Int(0);
+  /* Register variable[11]: Method return value and escape marker */
+  /* Register variable[12]: Result */
+  variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[12]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[12])) { /* and */
+    /* Register variable[12]: Result */
+    variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+    /* Register variable[12]: Result */
+    variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+  }
+  /* Register variable[12]: Result */
+  if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[12]: Result */
+  variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+  /* Register variable[12]: Result */
+  variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+  variable[11] = variable[12];
+  goto return_label89;
+  return_label89: while(false);
+  /* Register variable[9]: Result */
+  variable[9] = variable[11];
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_90 != NIT_NULL) variable[9] = once_value_90;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_90 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  variable[7] = variable[8];
+  /* Register variable[8]: Local variable */
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_91 != NIT_NULL) variable[10] = once_value_91;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_91 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[7] /*m*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_92 != NIT_NULL) variable[10] = once_value_92;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_92 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_93 != NIT_NULL) variable[10] = once_value_93;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_93 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Register variable[10]: Result */
+  variable[10] = CALL_string___Collection___join( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[10]) /*Collection::join*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_94 != NIT_NULL) variable[10] = once_value_94;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)) /*new String*/;
+    once_value_94 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_95 != NIT_NULL) variable[10] = once_value_95;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
+    once_value_95 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_96 != NIT_NULL) variable[10] = once_value_96;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_96 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  variable[8] = variable[9];
+  /* Register variable[9]: Result */
+  variable[9] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+  /* Register variable[9]: Result */
+  variable[9] = TAG_Bool((variable[9] ==  variable[5] /*ee*/) || ((variable[9] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[9])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[9], variable[5] /*ee*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[9])(variable[9],  variable[5] /*ee*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable[9])) { /*if*/
+    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_97 != NIT_NULL) variable[10] = once_value_97;
     else {
-      variable6 = NEW_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
-      variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-      once_value_variable6_112 = variable6;
-      once_bool_variable6_112 = true;
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString("UNTAG_Bool("), TAG_Int(11)) /*new String*/;
+      once_value_97 = variable[10];
     }
-    variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
-    if (UNTAG_Bool(variable6)) { /*if*/
-      if (once_bool_variable6_113) variable6 = once_value_variable6_113;
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    variable[10] =  variable[8] /*vcall*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_98 != NIT_NULL) variable[10] = once_value_98;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+      once_value_98 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+    variable[8] = variable[9] /*vcall=*/;
+    /* Register variable[9]: Local variable */
+    /* Register variable[10]: Once expression result */
+    if (once_bool_99) variable[10] = once_value_99;
+    else {
+      /* Register variable[10]: Once String constant */
+      if (once_value_100 != NIT_NULL) variable[10] = once_value_100;
       else {
-        variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
-        variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-        once_value_variable6_113 = variable6;
-        once_bool_variable6_113 = true;
+        variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)) /*new String*/;
+        once_value_100 = variable[10];
       }
-      variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-      if (UNTAG_Bool(variable6)) { /*if*/
-        variable6 = NEW_string___String___init(); /*new String*/
-        variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((int)UNBOX_Float("), TAG_Int(25)); /*new String*/
-        variable8 = variable7;
-        ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-        variable9 =  TAG_Int(0);
-        variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-        variable11 = variable10;
-        if (UNTAG_Bool(variable11)) { /* and */
-          variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-          variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-        }
-        variable10 = variable11;
-        if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-        variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-        variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-        goto return_label114;
-        return_label114: while(false);
-        variable9 = variable10;
-        variable10 = variable9;
-        ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-        variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-        variable12 = variable11;
-        ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-        variable5 = variable6 /*s=*/;
-      } else { /*if*/
-        if (once_bool_variable6_115) variable6 = once_value_variable6_115;
-        else {
-          variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
-          variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-          once_value_variable6_115 = variable6;
-          once_bool_variable6_115 = true;
-        }
-        variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-        if (UNTAG_Bool(variable6)) { /*if*/
-          variable6 = NEW_string___String___init(); /*new String*/
-          variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(-UNBOX_Float("), TAG_Int(23)); /*new String*/
-          variable8 = variable7;
-          ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-          variable9 =  TAG_Int(0);
-          variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-          variable11 = variable10;
-          if (UNTAG_Bool(variable11)) { /* and */
-            variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-            variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-          }
-          variable10 = variable11;
-          if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-          variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-          variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-          goto return_label116;
-          return_label116: while(false);
-          variable9 = variable10;
-          variable10 = variable9;
-          ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-          variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-          variable12 = variable11;
-          ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-          variable5 = variable6 /*s=*/;
-        } else { /*if*/
-          if (once_bool_variable6_117) variable6 = once_value_variable6_117;
-          else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
-            variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_117 = variable6;
-            once_bool_variable6_117 = true;
-          }
-          variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-          if (UNTAG_Bool(variable6)) { /*if*/
-            variable6 = NEW_string___String___init(); /*new String*/
-            variable7 = NEW_string___String___with_native(BOX_NativeString("printf(\"%f\\n\", UNBOX_Float("), TAG_Int(27)); /*new String*/
-            variable8 = variable7;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-            variable9 =  TAG_Int(0);
-            variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-            variable11 = variable10;
-            if (UNTAG_Bool(variable11)) { /* and */
-              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-              variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-            }
-            variable10 = variable11;
-            if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-            variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-            variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-            goto return_label118;
-            return_label118: while(false);
-            variable9 = variable10;
-            variable10 = variable9;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-            variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
-            variable12 = variable11;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-            ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-          } else { /*if*/
-            if (once_bool_variable6_119) variable6 = once_value_variable6_119;
-            else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
-              variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_119 = variable6;
-              once_bool_variable6_119 = true;
-            }
-            variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-            if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((int)UNBOX_Float("), TAG_Int(25)); /*new String*/
-              variable8 = variable7;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-              variable9 =  TAG_Int(0);
-              variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-              variable11 = variable10;
-              if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-              }
-              variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-              variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-              variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label120;
-              return_label120: while(false);
-              variable9 = variable10;
-              variable10 = variable9;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-              variable12 = variable11;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-              variable5 = variable6 /*s=*/;
-            } else { /*if*/
-              if (once_bool_variable6_121) variable6 = once_value_variable6_121;
-              else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_121 = variable6;
-               once_bool_variable6_121 = true;
-              }
-              variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-              if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label122;
-               return_label122: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNBOX_Float("), TAG_Int(14)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label123;
-               return_label123: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-              } else { /*if*/
-               if (once_bool_variable6_124) variable6 = once_value_variable6_124;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_124 = variable6;
-               once_bool_variable6_124 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label125;
-               return_label125: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-UNBOX_Float("), TAG_Int(14)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label126;
-               return_label126: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_127) variable6 = once_value_variable6_127;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_127 = variable6;
-               once_bool_variable6_127 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label128;
-               return_label128: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")*UNBOX_Float("), TAG_Int(14)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label129;
-               return_label129: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_130) variable6 = once_value_variable6_130;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_130 = variable6;
-               once_bool_variable6_130 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label131;
-               return_label131: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")/UNBOX_Float("), TAG_Int(14)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label132;
-               return_label132: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_133) variable6 = once_value_variable6_133;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_133 = variable6;
-               once_bool_variable6_133 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label134;
-               return_label134: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<UNBOX_Float("), TAG_Int(14)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label135;
-               return_label135: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_136) variable6 = once_value_variable6_136;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_136 = variable6;
-               once_bool_variable6_136 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label137;
-               return_label137: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>UNBOX_Float("), TAG_Int(14)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label138;
-               return_label138: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_139) variable6 = once_value_variable6_139;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_139 = variable6;
-               once_bool_variable6_139 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label140;
-               return_label140: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<=UNBOX_Float("), TAG_Int(15)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label141;
-               return_label141: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_142) variable6 = once_value_variable6_142;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_142 = variable6;
-               once_bool_variable6_142 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label143;
-               return_label143: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>=UNBOX_Float("), TAG_Int(15)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label144;
-               return_label144: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-              }
-            }
-          }
-        }
+      /* Register variable[10]: Result */
+      /* Register variable[10]: Result */
+      variable[10] = CALL_symbol___String___to_symbol(variable[10])(variable[10]) /*String::to_symbol*/;
+      once_value_99 = variable[10];
+      once_bool_99 = true;
+    }
+    /* Register variable[10]: Result */
+    variable[9] = variable[10];
+    /* Register variable[10]: Result */
+    variable[10] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[4] /*i*/)( variable[4] /*i*/) /*MMLocalProperty::local_class*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_abstractmetamodel___MMLocalClass___name(variable[10])(variable[10]) /*MMLocalClass::name*/;
+    /* Register variable[10]: Result */
+    variable[10] = TAG_Bool((variable[10] ==  variable[9] /*obj*/) || ((variable[10] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[10])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[10], variable[9] /*obj*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[10])(variable[10],  variable[9] /*obj*/) /*Object::==*/)))));
+    if (UNTAG_Bool(variable[10])) { /*if*/
+      variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+      /* Register variable[11]: Once String constant */
+      if (once_value_101 != NIT_NULL) variable[11] = once_value_101;
+      else {
+        variable[11] = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)) /*new String*/;
+        once_value_101 = variable[11];
       }
-    } else { /*if*/
-      if (once_bool_variable6_145) variable6 = once_value_variable6_145;
+      /* Register variable[11]: Result */
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      variable[11] =  variable[7] /*m*/ /* Ensure var: super-string element*/;
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[11]: Once String constant */
+      if (once_value_102 != NIT_NULL) variable[11] = once_value_102;
       else {
-        variable6 = NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
-        variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-        once_value_variable6_145 = variable6;
-        once_bool_variable6_145 = true;
+        variable[11] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
+        once_value_102 = variable[11];
       }
-      variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
-      if (UNTAG_Bool(variable6)) { /*if*/
-        if (once_bool_variable6_146) variable6 = once_value_variable6_146;
-        else {
-          variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
-          variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-          once_value_variable6_146 = variable6;
-          once_bool_variable6_146 = true;
-        }
-        variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-        if (UNTAG_Bool(variable6)) { /*if*/
-          variable6 = NEW_string___String___init(); /*new String*/
-          variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
-          variable8 = variable7;
-          ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-          variable9 =  TAG_Int(0);
-          variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-          variable11 = variable10;
-          if (UNTAG_Bool(variable11)) { /* and */
-            variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-            variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-          }
-          variable10 = variable11;
-          if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-          variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-          variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-          goto return_label147;
-          return_label147: while(false);
-          variable9 = variable10;
-          variable10 = variable9;
-          ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-          variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-          variable12 = variable11;
-          ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-          variable5 = variable6 /*s=*/;
-        } else { /*if*/
-          if (once_bool_variable6_148) variable6 = once_value_variable6_148;
-          else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
-            variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_148 = variable6;
-            once_bool_variable6_148 = true;
-          }
-          variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-          if (UNTAG_Bool(variable6)) { /*if*/
-            variable6 = NEW_string___String___init(); /*new String*/
-            variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(-UNTAG_Char("), TAG_Int(21)); /*new String*/
-            variable8 = variable7;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-            variable9 =  TAG_Int(0);
-            variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-            variable11 = variable10;
-            if (UNTAG_Bool(variable11)) { /* and */
-              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-              variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-            }
-            variable10 = variable11;
-            if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-            variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-            variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-            goto return_label149;
-            return_label149: while(false);
-            variable9 = variable10;
-            variable10 = variable9;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-            variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-            variable12 = variable11;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-            variable5 = variable6 /*s=*/;
-          } else { /*if*/
-            if (once_bool_variable6_150) variable6 = once_value_variable6_150;
-            else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
-              variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_150 = variable6;
-              once_bool_variable6_150 = true;
-            }
-            variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-            if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char("), TAG_Int(39)); /*new String*/
-              variable8 = variable7;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-              variable9 =  TAG_Int(0);
-              variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-              variable11 = variable10;
-              if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-              }
-              variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-              variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-              variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label151;
-              return_label151: while(false);
-              variable9 = variable10;
-              variable10 = variable9;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
-              variable12 = variable11;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-              ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-            } else { /*if*/
-              if (once_bool_variable6_152) variable6 = once_value_variable6_152;
-              else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_152 = variable6;
-               once_bool_variable6_152 = true;
-              }
-              variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-              if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char("), TAG_Int(34)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label153;
-               return_label153: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-              } else { /*if*/
-               if (once_bool_variable6_154) variable6 = once_value_variable6_154;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_154 = variable6;
-               once_bool_variable6_154 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label155;
-               return_label155: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_156) variable6 = once_value_variable6_156;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_156 = variable6;
-               once_bool_variable6_156 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label157;
-               return_label157: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_158) variable6 = once_value_variable6_158;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_158 = variable6;
-               once_bool_variable6_158 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label159;
-               return_label159: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-'0')"), TAG_Int(6)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_160) variable6 = once_value_variable6_160;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_160 = variable6;
-               once_bool_variable6_160 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label161;
-               return_label161: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Char("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label162;
-               return_label162: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_163) variable6 = once_value_variable6_163;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_163 = variable6;
-               once_bool_variable6_163 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label164;
-               return_label164: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")-UNTAG_Char("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label165;
-               return_label165: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_166) variable6 = once_value_variable6_166;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_166 = variable6;
-               once_bool_variable6_166 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label167;
-               return_label167: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")*UNTAG_Char("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label168;
-               return_label168: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_169) variable6 = once_value_variable6_169;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_169 = variable6;
-               once_bool_variable6_169 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label170;
-               return_label170: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")/UNTAG_Char("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label171;
-               return_label171: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_172) variable6 = once_value_variable6_172;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_172 = variable6;
-               once_bool_variable6_172 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label173;
-               return_label173: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")%UNTAG_Char("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label174;
-               return_label174: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_175) variable6 = once_value_variable6_175;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_175 = variable6;
-               once_bool_variable6_175 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label176;
-               return_label176: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<UNTAG_Char("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label177;
-               return_label177: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_178) variable6 = once_value_variable6_178;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_178 = variable6;
-               once_bool_variable6_178 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label179;
-               return_label179: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>UNTAG_Char("), TAG_Int(13)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label180;
-               return_label180: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_181) variable6 = once_value_variable6_181;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_181 = variable6;
-               once_bool_variable6_181 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label182;
-               return_label182: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")<=UNTAG_Char("), TAG_Int(14)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label183;
-               return_label183: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_184) variable6 = once_value_variable6_184;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_184 = variable6;
-               once_bool_variable6_184 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label185;
-               return_label185: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")>=UNTAG_Char("), TAG_Int(14)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label186;
-               return_label186: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_187) variable6 = once_value_variable6_187;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_187 = variable6;
-               once_bool_variable6_187 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label188;
-               return_label188: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label189;
-               return_label189: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_190) variable6 = once_value_variable6_190;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_190 = variable6;
-               once_bool_variable6_190 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label191;
-               return_label191: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label192;
-               return_label192: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-               }
-              }
-            }
-          }
-        }
-      } else { /*if*/
-        if (once_bool_variable6_193) variable6 = once_value_variable6_193;
-        else {
-          variable6 = NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
-          variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-          once_value_variable6_193 = variable6;
-          once_bool_variable6_193 = true;
-        }
-        variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
-        if (UNTAG_Bool(variable6)) { /*if*/
-          if (once_bool_variable6_194) variable6 = once_value_variable6_194;
-          else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
-            variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_194 = variable6;
-            once_bool_variable6_194 = true;
-          }
-          variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-          if (UNTAG_Bool(variable6)) { /*if*/
-            variable6 = NEW_string___String___init(); /*new String*/
-            variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
-            variable8 = variable7;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-            variable9 =  TAG_Int(0);
-            variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-            variable11 = variable10;
-            if (UNTAG_Bool(variable11)) { /* and */
-              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-              variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-            }
-            variable10 = variable11;
-            if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-            variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-            variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-            goto return_label195;
-            return_label195: while(false);
-            variable9 = variable10;
-            variable10 = variable9;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-            variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-            variable12 = variable11;
-            ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-            variable5 = variable6 /*s=*/;
-          } else { /*if*/
-            if (once_bool_variable6_196) variable6 = once_value_variable6_196;
-            else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
-              variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_196 = variable6;
-              once_bool_variable6_196 = true;
-            }
-            variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-            if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(-UNTAG_Bool("), TAG_Int(21)); /*new String*/
-              variable8 = variable7;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-              variable9 =  TAG_Int(0);
-              variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-              variable11 = variable10;
-              if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-              }
-              variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-              variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-              variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label197;
-              return_label197: while(false);
-              variable9 = variable10;
-              variable10 = variable9;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-              variable12 = variable11;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-              variable5 = variable6 /*s=*/;
-            } else { /*if*/
-              if (once_bool_variable6_198) variable6 = once_value_variable6_198;
-              else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_198 = variable6;
-               once_bool_variable6_198 = true;
-              }
-              variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-              if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("(void)printf(UNTAG_Bool("), TAG_Int(24)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label199;
-               return_label199: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")?\"true\\n\":\"false\\n\");"), TAG_Int(22)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-              } else { /*if*/
-               if (once_bool_variable6_200) variable6 = once_value_variable6_200;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_200 = variable6;
-               once_bool_variable6_200 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Bool("), TAG_Int(20)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label201;
-               return_label201: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_202) variable6 = once_value_variable6_202;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_202 = variable6;
-               once_bool_variable6_202 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label203;
-               return_label203: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_204) variable6 = once_value_variable6_204;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_204 = variable6;
-               once_bool_variable6_204 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label205;
-               return_label205: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label206;
-               return_label206: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_207) variable6 = once_value_variable6_207;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_207 = variable6;
-               once_bool_variable6_207 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label208;
-               return_label208: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label209;
-               return_label209: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               }
-               }
-               }
-               }
-              }
-            }
-          }
-        } else { /*if*/
-          if (once_bool_variable6_210) variable6 = once_value_variable6_210;
-          else {
-            variable6 = NEW_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)); /*new String*/
-            variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-            once_value_variable6_210 = variable6;
-            once_bool_variable6_210 = true;
-          }
-          variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
-          if (UNTAG_Bool(variable6)) { /*if*/
-            if (once_bool_variable6_211) variable6 = once_value_variable6_211;
-            else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
-              variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_211 = variable6;
-              once_bool_variable6_211 = true;
-            }
-            variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-            if (UNTAG_Bool(variable6)) { /*if*/
-              variable6 = NEW_string___String___init(); /*new String*/
-              variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeArray("), TAG_Int(26)); /*new String*/
-              variable8 = variable7;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-              variable9 =  TAG_Int(0);
-              variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-              variable11 = variable10;
-              if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-              }
-              variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-              variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-              variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-              goto return_label212;
-              return_label212: while(false);
-              variable9 = variable10;
-              variable10 = variable9;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-              variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-              variable12 = variable11;
-              ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-              variable5 = variable6 /*s=*/;
-            } else { /*if*/
-              if (once_bool_variable6_213) variable6 = once_value_variable6_213;
-              else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_213 = variable6;
-               once_bool_variable6_213 = true;
-              }
-              variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-              if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label214;
-               return_label214: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label215;
-               return_label215: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")]"), TAG_Int(2)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-              } else { /*if*/
-               if (once_bool_variable6_216) variable6 = once_value_variable6_216;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_216 = variable6;
-               once_bool_variable6_216 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label217;
-               return_label217: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label218;
-               return_label218: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")]="), TAG_Int(3)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable17 =  TAG_Int(2);
-               variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable19 = variable18;
-               if (UNTAG_Bool(variable19)) { /* and */
-               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
-               }
-               variable18 = variable19;
-               if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
-               goto return_label219;
-               return_label219: while(false);
-               variable17 = variable18;
-               variable18 = variable17;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-               variable19 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-               variable20 = variable19;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
-               ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-               } else { /*if*/
-               if (once_bool_variable6_220) variable6 = once_value_variable6_220;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_220 = variable6;
-               once_bool_variable6_220 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeArray("), TAG_Int(31)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(1);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label221;
-               return_label221: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("), UNBOX_NativeArray("), TAG_Int(21)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(0);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label222;
-               return_label222: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable17 =  TAG_Int(2);
-               variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable19 = variable18;
-               if (UNTAG_Bool(variable19)) { /* and */
-               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
-               }
-               variable18 = variable19;
-               if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
-               goto return_label223;
-               return_label223: while(false);
-               variable17 = variable18;
-               variable18 = variable17;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-               variable19 = NEW_string___String___with_native(BOX_NativeString(")*sizeof(val_t));"), TAG_Int(17)); /*new String*/
-               variable20 = variable19;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
-               ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-               }
-               }
-              }
-            }
-          } else { /*if*/
-            if (once_bool_variable6_224) variable6 = once_value_variable6_224;
-            else {
-              variable6 = NEW_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)); /*new String*/
-              variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-              once_value_variable6_224 = variable6;
-              once_bool_variable6_224 = true;
-            }
-            variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
-            if (UNTAG_Bool(variable6)) { /*if*/
-              if (once_bool_variable6_225) variable6 = once_value_variable6_225;
-              else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_225 = variable6;
-               once_bool_variable6_225 = true;
-              }
-              variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-              if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeString("), TAG_Int(27)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label226;
-               return_label226: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-              } else { /*if*/
-               if (once_bool_variable6_227) variable6 = once_value_variable6_227;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("atoi"), TAG_Int(4)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_227 = variable6;
-               once_bool_variable6_227 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label228;
-               return_label228: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_229) variable6 = once_value_variable6_229;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_229 = variable6;
-               once_bool_variable6_229 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNBOX_NativeString("), TAG_Int(28)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label230;
-               return_label230: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label231;
-               return_label231: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")])"), TAG_Int(3)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_232) variable6 = once_value_variable6_232;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_232 = variable6;
-               once_bool_variable6_232 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("UNBOX_NativeString("), TAG_Int(19)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label233;
-               return_label233: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label234;
-               return_label234: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")]=UNTAG_Char("), TAG_Int(14)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable17 =  TAG_Int(2);
-               variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable19 = variable18;
-               if (UNTAG_Bool(variable19)) { /* and */
-               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
-               }
-               variable18 = variable19;
-               if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
-               goto return_label235;
-               return_label235: while(false);
-               variable17 = variable18;
-               variable18 = variable17;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-               variable19 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
-               variable20 = variable19;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
-               ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-               } else { /*if*/
-               if (once_bool_variable6_236) variable6 = once_value_variable6_236;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_236 = variable6;
-               once_bool_variable6_236 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(1);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label237;
-               return_label237: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(4);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label238;
-               return_label238: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString("), UNBOX_NativeString("), TAG_Int(22)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable17 =  TAG_Int(0);
-               variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable19 = variable18;
-               if (UNTAG_Bool(variable19)) { /* and */
-               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
-               }
-               variable18 = variable19;
-               if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
-               goto return_label239;
-               return_label239: while(false);
-               variable17 = variable18;
-               variable18 = variable17;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
-               variable19 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
-               variable20 = variable19;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
-               variable21 =  TAG_Int(3);
-               variable22 = TAG_Bool(UNTAG_Int( variable21 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable23 = variable22;
-               if (UNTAG_Bool(variable23)) { /* and */
-               variable23 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable23 = TAG_Bool(UNTAG_Int( variable21 /*index*/)<UNTAG_Int(variable23));
-               }
-               variable22 = variable23;
-               if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable22 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable22 = UNBOX_NativeArray(variable22)[UNTAG_Int( variable21 /*index*/)];
-               goto return_label240;
-               return_label240: while(false);
-               variable21 = variable22;
-               variable22 = variable21;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable22) /*String::append*/;
-               variable23 = NEW_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
-               variable24 = variable23;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable24) /*String::append*/;
-               variable25 =  TAG_Int(2);
-               variable26 = TAG_Bool(UNTAG_Int( variable25 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable27 = variable26;
-               if (UNTAG_Bool(variable27)) { /* and */
-               variable27 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable27 = TAG_Bool(UNTAG_Int( variable25 /*index*/)<UNTAG_Int(variable27));
-               }
-               variable26 = variable27;
-               if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable26 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable26 = UNBOX_NativeArray(variable26)[UNTAG_Int( variable25 /*index*/)];
-               goto return_label241;
-               return_label241: while(false);
-               variable25 = variable26;
-               variable26 = variable25;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable26) /*String::append*/;
-               variable27 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
-               variable28 = variable27;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable28) /*String::append*/;
-               ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-               }
-               }
-               }
-               }
-              }
-            } else { /*if*/
-              if (once_bool_variable6_242) variable6 = once_value_variable6_242;
-              else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_242 = variable6;
-               once_bool_variable6_242 = true;
-              }
-              variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-              if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((int)"), TAG_Int(13)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label243;
-               return_label243: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-              } else { /*if*/
-               if (once_bool_variable6_244) variable6 = once_value_variable6_244;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("sys"), TAG_Int(3)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_244 = variable6;
-               once_bool_variable6_244 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___with_native(BOX_NativeString("(G_sys)"), TAG_Int(7)); /*new String*/
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_245) variable6 = once_value_variable6_245;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("is_same_type"), TAG_Int(12)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_245 = variable6;
-               once_bool_variable6_245 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool((VAL2VFT("), TAG_Int(18)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(0);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label246;
-               return_label246: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(")==VAL2VFT("), TAG_Int(11)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable13 =  TAG_Int(1);
-               variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable15 = variable14;
-               if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
-               }
-               variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
-               goto return_label247;
-               return_label247: while(false);
-               variable13 = variable14;
-               variable14 = variable13;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
-               variable15 = NEW_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
-               variable16 = variable15;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_248) variable6 = once_value_variable6_248;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("exit"), TAG_Int(4)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_248 = variable6;
-               once_bool_variable6_248 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("exit(UNTAG_Int("), TAG_Int(15)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(1);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label249;
-               return_label249: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-               } else { /*if*/
-               if (once_bool_variable6_250) variable6 = once_value_variable6_250;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("calloc_array"), TAG_Int(12)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_250 = variable6;
-               once_bool_variable6_250 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_NativeArray((val_t*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(1);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label251;
-               return_label251: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(") * sizeof(val_t))))"), TAG_Int(20)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               if (once_bool_variable6_252) variable6 = once_value_variable6_252;
-               else {
-               variable6 = NEW_string___String___with_native(BOX_NativeString("calloc_string"), TAG_Int(13)); /*new String*/
-               variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-               once_value_variable6_252 = variable6;
-               once_bool_variable6_252 = true;
-               }
-               variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
-               if (UNTAG_Bool(variable6)) { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_NativeString((char*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  TAG_Int(1);
-               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-               variable11 = variable10;
-               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
-               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
-               }
-               variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-               variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
-               variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
-               goto return_label253;
-               return_label253: while(false);
-               variable9 = variable10;
-               variable10 = variable9;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
-               variable11 = NEW_string___String___with_native(BOX_NativeString(") * sizeof(char))))"), TAG_Int(19)); /*new String*/
-               variable12 = variable11;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-               variable5 = variable6 /*s=*/;
-               } else { /*if*/
-               variable6 = NEW_string___String___init(); /*new String*/
-               variable7 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Intern "), TAG_Int(24)); /*new String*/
-               variable8 = variable7;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
-               variable9 =  variable4 /*n*/;
-               variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-               variable10 = NEW_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);"), TAG_Int(18)); /*new String*/
-               variable11 = variable10;
-               ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
-               ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
-               }
-               }
-               }
-               }
-               }
-              }
-            }
-          }
-        }
+      /* Register variable[11]: Result */
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[11]: Result */
+      variable[11] = CALL_compiling_base___MMLocalProperty___cname( variable[4] /*i*/)( variable[4] /*i*/) /*MMLocalProperty::cname*/;
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[11]: Once String constant */
+      if (once_value_103 != NIT_NULL) variable[11] = once_value_103;
+      else {
+        variable[11] = NEW_String_string___String___with_native(BOX_NativeString(")?(IS_EQUAL_NN("), TAG_Int(15)) /*new String*/;
+        once_value_103 = variable[11];
+      }
+      /* Register variable[11]: Result */
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[11]: Local variable */
+      variable[11] =  variable[2] /*cargs*/;
+      /* Register variable[12]: Local variable */
+      variable[12] =  TAG_Int(0);
+      /* Register variable[13]: Method return value and escape marker */
+      /* Register variable[14]: Result */
+      variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[14]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[14])) { /* and */
+        /* Register variable[14]: Result */
+        variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
+        /* Register variable[14]: Result */
+        variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
+      }
+      /* Register variable[14]: Result */
+      if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[14]: Result */
+      variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
+      /* Register variable[14]: Result */
+      variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
+      variable[13] = variable[14];
+      goto return_label104;
+      return_label104: while(false);
+      /* Register variable[11]: Result */
+      variable[11] = variable[13];
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[11]: Once String constant */
+      if (once_value_105 != NIT_NULL) variable[11] = once_value_105;
+      else {
+        variable[11] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)) /*new String*/;
+        once_value_105 = variable[11];
+      }
+      /* Register variable[11]: Result */
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[11]: Local variable */
+      variable[11] =  variable[2] /*cargs*/;
+      /* Register variable[12]: Local variable */
+      variable[12] =  TAG_Int(1);
+      /* Register variable[13]: Method return value and escape marker */
+      /* Register variable[14]: Result */
+      variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[14]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[14])) { /* and */
+        /* Register variable[14]: Result */
+        variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
+        /* Register variable[14]: Result */
+        variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
+      }
+      /* Register variable[14]: Result */
+      if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[14]: Result */
+      variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
+      /* Register variable[14]: Result */
+      variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
+      variable[13] = variable[14];
+      goto return_label106;
+      return_label106: while(false);
+      /* Register variable[11]: Result */
+      variable[11] = variable[13];
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[11]: Once String constant */
+      if (once_value_107 != NIT_NULL) variable[11] = once_value_107;
+      else {
+        variable[11] = NEW_String_string___String___with_native(BOX_NativeString(")):("), TAG_Int(4)) /*new String*/;
+        once_value_107 = variable[11];
+      }
+      /* Register variable[11]: Result */
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      variable[11] =  variable[8] /*vcall*/ /* Ensure var: super-string element*/;
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[11]: Once String constant */
+      if (once_value_108 != NIT_NULL) variable[11] = once_value_108;
+      else {
+        variable[11] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+        once_value_108 = variable[11];
       }
+      /* Register variable[11]: Result */
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[10]: Result */
+      variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
+      variable[8] = variable[10] /*vcall=*/;
     }
+    variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[11]: Once String constant */
+    if (once_value_109 != NIT_NULL) variable[11] = once_value_109;
+    else {
+      variable[11] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
+      once_value_109 = variable[11];
+    }
+    /* Register variable[11]: Result */
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Result */
+    variable[11] = CALL_abstract_collection___Collection___first( variable[2] /*cargs*/)( variable[2] /*cargs*/) /*IndexedCollectionRead::first*/;
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Once String constant */
+    if (once_value_110 != NIT_NULL) variable[11] = once_value_110;
+    else {
+      variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" == "), TAG_Int(4)) /*new String*/;
+      once_value_110 = variable[11];
+    }
+    /* Register variable[11]: Result */
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Local variable */
+    variable[11] =  variable[2] /*cargs*/;
+    /* Register variable[12]: Local variable */
+    variable[12] =  TAG_Int(1);
+    /* Register variable[13]: Method return value and escape marker */
+    /* Register variable[14]: Result */
+    variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[14]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[14])) { /* and */
+      /* Register variable[14]: Result */
+      variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
+      /* Register variable[14]: Result */
+      variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
+    }
+    /* Register variable[14]: Result */
+    if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[14]: Result */
+    variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
+    /* Register variable[14]: Result */
+    variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
+    variable[13] = variable[14];
+    goto return_label111;
+    return_label111: while(false);
+    /* Register variable[11]: Result */
+    variable[11] = variable[13];
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Once String constant */
+    if (once_value_112 != NIT_NULL) variable[11] = once_value_112;
+    else {
+      variable[11] = NEW_String_string___String___with_native(BOX_NativeString(") || (("), TAG_Int(7)) /*new String*/;
+      once_value_112 = variable[11];
+    }
+    /* Register variable[11]: Result */
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Result */
+    variable[11] = CALL_abstract_collection___Collection___first( variable[2] /*cargs*/)( variable[2] /*cargs*/) /*IndexedCollectionRead::first*/;
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Once String constant */
+    if (once_value_113 != NIT_NULL) variable[11] = once_value_113;
+    else {
+      variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" != NIT_NULL) && "), TAG_Int(17)) /*new String*/;
+      once_value_113 = variable[11];
+    }
+    /* Register variable[11]: Result */
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    variable[11] =  variable[8] /*vcall*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Once String constant */
+    if (once_value_114 != NIT_NULL) variable[11] = once_value_114;
+    else {
+      variable[11] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+      once_value_114 = variable[11];
+    }
+    /* Register variable[11]: Result */
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
+    variable[8] = variable[10] /*vcall=*/;
+  }
+  /* Register variable[9]: Result */
+  variable[9] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_static_type___MMSignature___return_type(variable[9])(variable[9]) /*MMSignature::return_type*/;
+  /* Register variable[9]: Result */
+  variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[9] ==  NIT_NULL /*null*/) || ((variable[9] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[9])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[9], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[9])(variable[9],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[9])) { /*if*/
+    variable[3] =  variable[8] /*vcall*/;
+    goto return_label75;
+  } else { /*if*/
+    /* Register variable[9]: Once String constant */
+    if (once_value_115 != NIT_NULL) variable[9] = once_value_115;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_115 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Register variable[9]: Result */
+    variable[9] = CALL_string___String_____plus( variable[8] /*vcall*/)( variable[8] /*vcall*/, variable[9]) /*String::+*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
+    variable[3] =  NIT_NULL /*null*/;
+    goto return_label75;
+  }
+  return_label75: while(false);
+  tracehead = trace.prev;
+  return variable[3];
+}
+val_t compiling_methods___MMMethod___compile_call_and_closures(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 375, LOCATE_compiling_methods___MMMethod___compile_call_and_closures};
+  static val_t once_value_117 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_121 = NIT_NULL; /* Once value for string variable[13]*/
+    static val_t once_value_123 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_125 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_126 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_128 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_129 = NIT_NULL; /* Once value for string variable[15]*/
+      static val_t once_value_130 = NIT_NULL; /* Once value for string variable[15]*/
+      static val_t once_value_132 = NIT_NULL; /* Once value for string variable[15]*/
+      static val_t once_value_134 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_135 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_136 = NIT_NULL; /* Once value for string variable[15]*/
+      static val_t once_value_137 = NIT_NULL; /* Once value for string variable[15]*/
+      static val_t once_value_138 = NIT_NULL; /* Once value for string variable[15]*/
+      static val_t once_value_140 = NIT_NULL; /* Once value for string variable[15]*/
+      static val_t once_value_141 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_142 = NIT_NULL; /* Once value for string variable[14]*/
+  val_t variable[19];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Local variable */
+  variable[5] =  NIT_NULL /*null*/;
+  /* Register variable[6]: Local variable */
+  variable[6] =  TAG_Int(0);
+  /* Register variable[7]: Result */
+  variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*clos_defs*/ ==  NIT_NULL /*null*/) || (( variable[3] /*clos_defs*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*clos_defs*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*clos_defs*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*clos_defs*/)( variable[3] /*clos_defs*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[7])) { /*if*/
+    /* Register variable[7]: Result */
+    variable[7] = CALL_abstract_collection___Collection___length( variable[3] /*clos_defs*/)( variable[3] /*clos_defs*/) /*AbstractArrayRead::length*/;
+    variable[6] = variable[7] /*arity=*/;
+  }
+  /* Register variable[7]: Local variable */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___NitMethodContext___break_value(variable[8])(variable[8]) /*NitMethodContext::break_value*/;
+  variable[7] = variable[8];
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_117 != NIT_NULL) variable[9] = once_value_117;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Closure return value and escape marker"), TAG_Int(38)) /*new String*/;
+    once_value_117 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CFunctionContext___get_var(variable[8])(variable[8], variable[9]) /*CFunctionContext::get_var*/;
+  variable[5] = variable[8] /*ve=*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___break_value__eq(variable[8])(variable[8],  variable[5] /*ve*/) /*NitMethodContext::break_value=*/;
+  /* Register variable[8]: Local variable */
+  /* Register variable[9]: Result */
+  variable[9] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[8] = variable[9];
+  /* Register variable[9]: Local variable */
+  /* Register variable[10]: Result */
+  variable[10] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[9] = variable[10];
+  CALL_abstract_collection___SimpleCollection___add_all( variable[8] /*realcargs*/)( variable[8] /*realcargs*/,  variable[2] /*cargs*/) /*SimpleCollection::add_all*/;
+  /* Register variable[10]: Result */
+  variable[10] = NEW_Range_range___Range___without_last( TAG_Int(0),  variable[6] /*arity*/) /*new Range[Int]*/;
+  /* Register variable[10]: For iterator */
+  variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[11]: For 'is_ok' result */
+    variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[11])) break; /*for*/
+    variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[12]: Local variable */
+    variable[12] = variable[11];
+    /* Register variable[13]: Local variable */
+    /* Register variable[14]: Local variable */
+    variable[14] =  variable[3] /*clos_defs*/;
+    /* Register variable[15]: Local variable */
+    variable[15] =  variable[12] /*i*/;
+    /* Register variable[16]: Method return value and escape marker */
+    /* Register variable[17]: Result */
+    variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[17]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[17])) { /* and */
+      /* Register variable[17]: Result */
+      variable[17] = ATTR_array___AbstractArrayRead____length(variable[14]) /*AbstractArrayRead::_length*/;
+      /* Register variable[17]: Result */
+      variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)<UNTAG_Int(variable[17]));
+    }
+    /* Register variable[17]: Result */
+    if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[17]: Result */
+    variable[17] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
+    /* Register variable[17]: Result */
+    variable[17] = UNBOX_NativeArray(variable[17])[UNTAG_Int( variable[15] /*index*/)];
+    variable[16] = variable[17];
+    goto return_label119;
+    return_label119: while(false);
+    /* Register variable[14]: Result */
+    variable[14] = variable[16];
+    /* Register variable[15]: Result */
+    variable[15] = CALL_compiling_methods___MMMethod___closure_cname(variable[0])(variable[0],  variable[12] /*i*/) /*MMMethod::closure_cname*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_compiling_methods___PClosureDef___compile_closure(variable[14])(variable[14],  variable[1] /*v*/, variable[15]) /*PClosureDef::compile_closure*/;
+    variable[13] = variable[14];
+    CALL_abstract_collection___SimpleCollection___add( variable[9] /*closcns*/)( variable[9] /*closcns*/,  variable[13] /*cn*/) /*AbstractArray::add*/;
+    CALL_abstract_collection___SimpleCollection___add( variable[8] /*realcargs*/)( variable[8] /*realcargs*/,  variable[13] /*cn*/) /*AbstractArray::add*/;
+    continue_118: while(0);
+    CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*Iterator::next*/;
+  }
+  break_118: while(0);
+  /* Register variable[10]: Result */
+  variable[10] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_static_type___MMSignature___closures(variable[10])(variable[10]) /*MMSignature::closures*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_abstract_collection___Collection___length(variable[10])(variable[10]) /*AbstractArrayRead::length*/;
+  /* Register variable[10]: Result */
+  variable[10] = NEW_Range_range___Range___without_last( variable[6] /*arity*/, variable[10]) /*new Range[Int]*/;
+  /* Register variable[10]: For iterator */
+  variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[11]: For 'is_ok' result */
+    variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[11])) break; /*for*/
+    variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[12]: Local variable */
+    variable[12] = variable[11];
+    /* Register variable[13]: Once String constant */
+    if (once_value_121 != NIT_NULL) variable[13] = once_value_121;
+    else {
+      variable[13] = NEW_String_string___String___with_native(BOX_NativeString("NULL"), TAG_Int(4)) /*new String*/;
+      once_value_121 = variable[13];
+    }
+    /* Register variable[13]: Result */
+    CALL_abstract_collection___SimpleCollection___add( variable[8] /*realcargs*/)( variable[8] /*realcargs*/, variable[13]) /*AbstractArray::add*/;
+    continue_120: while(0);
+    CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*Iterator::next*/;
+  }
+  break_120: while(0);
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___break_value__eq(variable[10])(variable[10],  variable[7] /*old_bv*/) /*NitMethodContext::break_value=*/;
+  /* Register variable[10]: Local variable */
+  /* Register variable[11]: Result */
+  variable[11] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[0])(variable[0],  variable[1] /*v*/,  variable[8] /*realcargs*/) /*MMMethod::intern_compile_call*/;
+  variable[10] = variable[11];
+  /* Register variable[11]: Result */
+  variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*e*/ ==  NIT_NULL /*null*/) || (( variable[10] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*e*/)( variable[10] /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[11])) { /*if*/
+    CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[5] /*ve*/,  variable[10] /*e*/) /*CompilerVisitor::add_assignment*/;
+    variable[10] =  variable[5] /*ve*/ /*e=*/;
+  }
+  /* Register variable[11]: Result */
+  variable[11] = NEW_Range_range___Range___without_last( TAG_Int(0),  variable[6] /*arity*/) /*new Range[Int]*/;
+  /* Register variable[11]: For iterator */
+  variable[11] = CALL_abstract_collection___Collection___iterator(variable[11])(variable[11]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[12]: For 'is_ok' result */
+    variable[12] = CALL_abstract_collection___Iterator___is_ok(variable[11])(variable[11]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[12])) break; /*for*/
+    variable[12] = CALL_abstract_collection___Iterator___item(variable[11])(variable[11]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[13]: Local variable */
+    variable[13] = variable[12];
+    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_123 != NIT_NULL) variable[15] = once_value_123;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
+      once_value_123 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Local variable */
+    variable[15] =  variable[9] /*closcns*/;
+    /* Register variable[16]: Local variable */
+    variable[16] =  variable[13] /*i*/;
+    /* Register variable[17]: Method return value and escape marker */
+    /* Register variable[18]: Result */
+    variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[18]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[18])) { /* and */
+      /* Register variable[18]: Result */
+      variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
+      /* Register variable[18]: Result */
+      variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
+    }
+    /* Register variable[18]: Result */
+    if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[18]: Result */
+    variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
+    /* Register variable[18]: Result */
+    variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
+    variable[17] = variable[18];
+    goto return_label124;
+    return_label124: while(false);
+    /* Register variable[15]: Result */
+    variable[15] = variable[17];
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_125 != NIT_NULL) variable[15] = once_value_125;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke != NULL) {"), TAG_Int(22)) /*new String*/;
+      once_value_125 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+    CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_126 != NIT_NULL) variable[15] = once_value_126;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
+      once_value_126 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Local variable */
+    variable[15] =  variable[9] /*closcns*/;
+    /* Register variable[16]: Local variable */
+    variable[16] =  variable[13] /*i*/;
+    /* Register variable[17]: Method return value and escape marker */
+    /* Register variable[18]: Result */
+    variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[18]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[18])) { /* and */
+      /* Register variable[18]: Result */
+      variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
+      /* Register variable[18]: Result */
+      variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
+    }
+    /* Register variable[18]: Result */
+    if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[18]: Result */
+    variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
+    /* Register variable[18]: Result */
+    variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
+    variable[17] = variable[18];
+    goto return_label127;
+    return_label127: while(false);
+    /* Register variable[15]: Result */
+    variable[15] = variable[17];
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_128 != NIT_NULL) variable[15] = once_value_128;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke != &("), TAG_Int(17)) /*new String*/;
+      once_value_128 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    variable[15] =  variable[5] /*ve*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_129 != NIT_NULL) variable[15] = once_value_129;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(")) {"), TAG_Int(4)) /*new String*/;
+      once_value_129 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+    CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_compiling_methods___CFunctionContext___closure(variable[14])(variable[14]) /*CFunctionContext::closure*/;
+    /* Register variable[15]: Result */
+    variable[15] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[14]: Result */
+    variable[14] = TAG_Bool((variable[14] == variable[15]) || ((variable[14] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[14])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[14],variable[15])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[14])(variable[14], variable[15]) /*Object::==*/)))));
+    if (UNTAG_Bool(variable[14])) { /*if*/
+      variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+      /* Register variable[15]: Once String constant */
+      if (once_value_130 != NIT_NULL) variable[15] = once_value_130;
+      else {
+        variable[15] = NEW_String_string___String___with_native(BOX_NativeString("closctx->has_broke = "), TAG_Int(21)) /*new String*/;
+        once_value_130 = variable[15];
+      }
+      /* Register variable[15]: Result */
+      /* Ensure var variable[15]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      /* Register variable[15]: Local variable */
+      variable[15] =  variable[9] /*closcns*/;
+      /* Register variable[16]: Local variable */
+      variable[16] =  variable[13] /*i*/;
+      /* Register variable[17]: Method return value and escape marker */
+      /* Register variable[18]: Result */
+      variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[18]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[18])) { /* and */
+        /* Register variable[18]: Result */
+        variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
+        /* Register variable[18]: Result */
+        variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
+      }
+      /* Register variable[18]: Result */
+      if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[18]: Result */
+      variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
+      /* Register variable[18]: Result */
+      variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
+      variable[17] = variable[18];
+      goto return_label131;
+      return_label131: while(false);
+      /* Register variable[15]: Result */
+      variable[15] = variable[17];
+      /* Ensure var variable[15]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      /* Register variable[15]: Once String constant */
+      if (once_value_132 != NIT_NULL) variable[15] = once_value_132;
+      else {
+        variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke; closctx->broke_value = "), TAG_Int(36)) /*new String*/;
+        once_value_132 = variable[15];
+      }
+      /* Register variable[15]: Result */
+      /* Ensure var variable[15]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      /* Register variable[15]: Local variable */
+      variable[15] =  variable[9] /*closcns*/;
+      /* Register variable[16]: Local variable */
+      variable[16] =  variable[13] /*i*/;
+      /* Register variable[17]: Method return value and escape marker */
+      /* Register variable[18]: Result */
+      variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[18]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[18])) { /* and */
+        /* Register variable[18]: Result */
+        variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
+        /* Register variable[18]: Result */
+        variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
+      }
+      /* Register variable[18]: Result */
+      if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[18]: Result */
+      variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
+      /* Register variable[18]: Result */
+      variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
+      variable[17] = variable[18];
+      goto return_label133;
+      return_label133: while(false);
+      /* Register variable[15]: Result */
+      variable[15] = variable[17];
+      /* Ensure var variable[15]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      /* Register variable[15]: Once String constant */
+      if (once_value_134 != NIT_NULL) variable[15] = once_value_134;
+      else {
+        variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->broke_value;"), TAG_Int(14)) /*new String*/;
+        once_value_134 = variable[15];
+      }
+      /* Register variable[15]: Result */
+      /* Ensure var variable[15]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      /* Register variable[14]: Result */
+      variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+      CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+    }
+    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_135 != NIT_NULL) variable[15] = once_value_135;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
+      once_value_135 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Result */
+    variable[15] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[15]: Result */
+    variable[15] = CALL_compiling_methods___NitMethodContext___return_label(variable[15])(variable[15]) /*NitMethodContext::return_label*/;
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_136 != NIT_NULL) variable[15] = once_value_136;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_136 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+    CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+    /* Register variable[14]: Result */
+    variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*e*/ ==  NIT_NULL /*null*/) || (( variable[10] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*e*/)( variable[10] /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+    if (UNTAG_Bool(variable[14])) { /*if*/
+      variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+      /* Register variable[15]: Once String constant */
+      if (once_value_137 != NIT_NULL) variable[15] = once_value_137;
+      else {
+        variable[15] = NEW_String_string___String___with_native(BOX_NativeString("} else "), TAG_Int(7)) /*new String*/;
+        once_value_137 = variable[15];
+      }
+      /* Register variable[15]: Result */
+      /* Ensure var variable[15]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      variable[15] =  variable[5] /*ve*/ /* Ensure var: super-string element*/;
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      /* Register variable[15]: Once String constant */
+      if (once_value_138 != NIT_NULL) variable[15] = once_value_138;
+      else {
+        variable[15] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)) /*new String*/;
+        once_value_138 = variable[15];
+      }
+      /* Register variable[15]: Result */
+      /* Ensure var variable[15]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      /* Register variable[15]: Local variable */
+      variable[15] =  variable[9] /*closcns*/;
+      /* Register variable[16]: Local variable */
+      variable[16] =  variable[13] /*i*/;
+      /* Register variable[17]: Method return value and escape marker */
+      /* Register variable[18]: Result */
+      variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[18]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[18])) { /* and */
+        /* Register variable[18]: Result */
+        variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
+        /* Register variable[18]: Result */
+        variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
+      }
+      /* Register variable[18]: Result */
+      if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[18]: Result */
+      variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
+      /* Register variable[18]: Result */
+      variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
+      variable[17] = variable[18];
+      goto return_label139;
+      return_label139: while(false);
+      /* Register variable[15]: Result */
+      variable[15] = variable[17];
+      /* Ensure var variable[15]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      /* Register variable[15]: Once String constant */
+      if (once_value_140 != NIT_NULL) variable[15] = once_value_140;
+      else {
+        variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->broke_value;"), TAG_Int(14)) /*new String*/;
+        once_value_140 = variable[15];
+      }
+      /* Register variable[15]: Result */
+      /* Ensure var variable[15]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+      /* Register variable[14]: Result */
+      variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+      CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+    } else { /*if*/
+      /* Register variable[14]: Once String constant */
+      if (once_value_141 != NIT_NULL) variable[14] = once_value_141;
+      else {
+        variable[14] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+        once_value_141 = variable[14];
+      }
+      /* Register variable[14]: Result */
+      CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+    }
+    CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_142 != NIT_NULL) variable[14] = once_value_142;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+      once_value_142 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+    continue_122: while(0);
+    CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*Iterator::next*/;
+  }
+  break_122: while(0);
+  variable[4] =  variable[10] /*e*/;
+  goto return_label116;
+  return_label116: while(false);
+  tracehead = trace.prev;
+  return variable[4];
+}
+val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 435, LOCATE_compiling_methods___MMMethod___compile_constructor_call};
+  static val_t once_value_144 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_145 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_146 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_147 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_148 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_149 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_144 != NIT_NULL) variable[6] = once_value_144;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("NEW_"), TAG_Int(4)) /*new String*/;
+    once_value_144 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMType___local_class( variable[2] /*recvtype*/)( variable[2] /*recvtype*/) /*MMType::local_class*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_145 != NIT_NULL) variable[6] = once_value_145;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
+    once_value_145 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[6])(variable[6]) /*MMGlobalProperty::intro*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_base___MMLocalProperty___cname(variable[6])(variable[6]) /*MMLocalProperty::cname*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_146 != NIT_NULL) variable[6] = once_value_146;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_146 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_147 != NIT_NULL) variable[6] = once_value_147;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_147 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_string___Collection___join( variable[3] /*cargs*/)( variable[3] /*cargs*/, variable[6]) /*Collection::join*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_148 != NIT_NULL) variable[6] = once_value_148;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(") /*new "), TAG_Int(8)) /*new String*/;
+    once_value_148 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[2] /*recvtype*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_149 != NIT_NULL) variable[6] = once_value_149;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_149 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  variable[4] = variable[5];
+  goto return_label143;
+  return_label143: while(false);
+  tracehead = trace.prev;
+  return variable[4];
+}
+val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 441, LOCATE_compiling_methods___MMMethod___compile_super_call};
+  static val_t once_value_151 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_152 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_154 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_155 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_156 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_157 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_158 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_159 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_160 = NIT_NULL; /* Once value for string variable[7]*/
+  val_t variable[10];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Local variable */
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_151 != NIT_NULL) variable[6] = once_value_151;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_151 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_base___MMLocalProperty___super_meth_call(variable[0])(variable[0]) /*MMLocalProperty::super_meth_call*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_152 != NIT_NULL) variable[6] = once_value_152;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_152 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Local variable */
+  variable[6] =  variable[2] /*cargs*/;
+  /* Register variable[7]: Local variable */
+  variable[7] =  TAG_Int(0);
+  /* Register variable[8]: Method return value and escape marker */
+  /* Register variable[9]: Result */
+  variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[9]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[9])) { /* and */
+    /* Register variable[9]: Result */
+    variable[9] = ATTR_array___AbstractArrayRead____length(variable[6]) /*AbstractArrayRead::_length*/;
+    /* Register variable[9]: Result */
+    variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[9]));
+  }
+  /* Register variable[9]: Result */
+  if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[9]: Result */
+  variable[9] = ATTR_array___Array____items(variable[6]) /*Array::_items*/;
+  /* Register variable[9]: Result */
+  variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
+  variable[8] = variable[9];
+  goto return_label153;
+  return_label153: while(false);
+  /* Register variable[6]: Result */
+  variable[6] = variable[8];
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_154 != NIT_NULL) variable[6] = once_value_154;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_154 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Local variable */
+  variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_155 != NIT_NULL) variable[7] = once_value_155;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_155 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  variable[7] =  variable[4] /*m*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_156 != NIT_NULL) variable[7] = once_value_156;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_156 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_157 != NIT_NULL) variable[7] = once_value_157;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_157 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Collection___join( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[7]) /*Collection::join*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_158 != NIT_NULL) variable[7] = once_value_158;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(") /*super "), TAG_Int(10)) /*new String*/;
+    once_value_158 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_159 != NIT_NULL) variable[7] = once_value_159;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
+    once_value_159 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_160 != NIT_NULL) variable[7] = once_value_160;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_160 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
+  variable[5] = variable[6];
+  variable[3] =  variable[5] /*vcall*/;
+  goto return_label150;
+  return_label150: while(false);
+  tracehead = trace.prev;
+  return variable[3];
+}
+val_t compiling_methods___MMMethod___closure_cname(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 449, LOCATE_compiling_methods___MMMethod___closure_cname};
+  static val_t once_value_162 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_163 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_164 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_162 != NIT_NULL) variable[4] = once_value_162;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("FWBT_"), TAG_Int(5)) /*new String*/;
+    once_value_162 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_163 != NIT_NULL) variable[4] = once_value_163;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
+    once_value_163 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  variable[4] =  variable[1] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_164 != NIT_NULL) variable[4] = once_value_164;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_164 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  variable[2] = variable[3];
+  goto return_label161;
+  return_label161: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___MMAttribute___compile_isset(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 457, LOCATE_compiling_methods___MMAttribute___compile_isset};
+  static val_t once_value_166 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_167 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_168 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_169 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_170 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_166 != NIT_NULL) variable[6] = once_value_166;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool("), TAG_Int(9)) /*new String*/;
+    once_value_166 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_base___MMGlobalProperty___attr_access(variable[6])(variable[6]) /*MMGlobalProperty::attr_access*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_167 != NIT_NULL) variable[6] = once_value_167;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_167 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*recv*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_168 != NIT_NULL) variable[6] = once_value_168;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(")!=NIT_NULL) /* isset "), TAG_Int(22)) /*new String*/;
+    once_value_168 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_169 != NIT_NULL) variable[6] = once_value_169;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
+    once_value_169 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_170 != NIT_NULL) variable[6] = once_value_170;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_170 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  variable[4] = variable[5];
+  goto return_label165;
+  return_label165: while(false);
+  tracehead = trace.prev;
+  return variable[4];
+}
+val_t compiling_methods___MMAttribute___compile_read_access(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 463, LOCATE_compiling_methods___MMAttribute___compile_read_access};
+  static val_t once_value_172 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_173 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_174 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_175 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_176 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_177 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_178 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_179 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_180 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_181 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_182 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_183 = NIT_NULL; /* Once value for string variable[7]*/
+  val_t variable[8];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Local variable */
+  variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_172 != NIT_NULL) variable[7] = once_value_172;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_172 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_base___MMGlobalProperty___attr_access(variable[7])(variable[7]) /*MMGlobalProperty::attr_access*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_173 != NIT_NULL) variable[7] = once_value_173;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_173 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  variable[7] =  variable[3] /*recv*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_174 != NIT_NULL) variable[7] = once_value_174;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)) /*new String*/;
+    once_value_174 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_175 != NIT_NULL) variable[7] = once_value_175;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
+    once_value_175 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_176 != NIT_NULL) variable[7] = once_value_176;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_176 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMSignature___return_type(variable[6])(variable[6]) /*MMSignature::return_type*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMType___is_nullable(variable[6])(variable[6]) /*MMType::is_nullable*/;
+  variable[6] =  TAG_Bool(!UNTAG_Bool(variable[6])) /* Ensure var: Left 'and' operand*/;
+  if (UNTAG_Bool(variable[6])) { /* and */
+    /* Register variable[6]: Result */
+    variable[6] = CALL_compiling_base___CompilerVisitor___tc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::tc*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_mmloader___ToolContext___opt_warn(variable[6])(variable[6]) /*ToolContext::opt_warn*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_opts___Option___value(variable[6])(variable[6]) /*Option::value*/;
+    /* Register variable[6]: Result */
+    variable[6] = TAG_Bool(UNTAG_Int(variable[6])>UNTAG_Int( TAG_Int(0)));
+  }
+  /* Register variable[6]: Result */
+  if (UNTAG_Bool(variable[6])) { /*if*/
+    variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[7]: Once String constant */
+    if (once_value_177 != NIT_NULL) variable[7] = once_value_177;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_177 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[7]: Once String constant */
+    if (once_value_178 != NIT_NULL) variable[7] = once_value_178;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
+      once_value_178 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[7]: Once String constant */
+    if (once_value_179 != NIT_NULL) variable[7] = once_value_179;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_179 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/,  variable[5] /*res*/, variable[6]) /*CompilerVisitor::ensure_var*/;
+    variable[5] = variable[6] /*res=*/;
+    variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[7]: Once String constant */
+    if (once_value_180 != NIT_NULL) variable[7] = once_value_180;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
+      once_value_180 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+    variable[7] =  variable[5] /*res*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+    /* Register variable[7]: Once String constant */
+    if (once_value_181 != NIT_NULL) variable[7] = once_value_181;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" == NIT_NULL) { fprintf(stderr, \"Uninitialized attribute %s\", \""), TAG_Int(63)) /*new String*/;
+      once_value_181 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[7]: Once String constant */
+    if (once_value_182 != NIT_NULL) variable[7] = once_value_182;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("\"); "), TAG_Int(4)) /*new String*/;
+      once_value_182 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/,  variable[2] /*n*/) /*CompilerVisitor::printf_locate_error*/;
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+    /* Register variable[7]: Once String constant */
+    if (once_value_183 != NIT_NULL) variable[7] = once_value_183;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" } /* implicit isset */;"), TAG_Int(24)) /*new String*/;
+      once_value_183 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    /* Ensure var variable[7]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
+  }
+  variable[4] =  variable[5] /*res*/;
+  goto return_label171;
+  return_label171: while(false);
+  tracehead = trace.prev;
+  return variable[4];
+}
+void compiling_methods___MMAttribute___compile_write_access(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
+  struct trace_t trace = {NULL, NULL, 474, LOCATE_compiling_methods___MMAttribute___compile_write_access};
+  static val_t once_value_185 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_186 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_187 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_188 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_189 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_190 = NIT_NULL; /* Once value for string variable[7]*/
+  val_t variable[8];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Local variable */
+  variable[4] =  param3;
+  /* Register variable[5]: Method return value and escape marker */
+  variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_185 != NIT_NULL) variable[7] = once_value_185;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_185 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_base___MMGlobalProperty___attr_access(variable[7])(variable[7]) /*MMGlobalProperty::attr_access*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_186 != NIT_NULL) variable[7] = once_value_186;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_186 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  variable[7] =  variable[3] /*recv*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_187 != NIT_NULL) variable[7] = once_value_187;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)) /*new String*/;
+    once_value_187 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_188 != NIT_NULL) variable[7] = once_value_188;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
+    once_value_188 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_189 != NIT_NULL) variable[7] = once_value_189;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("*/ = "), TAG_Int(5)) /*new String*/;
+    once_value_189 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  variable[7] =  variable[4] /*value*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_190 != NIT_NULL) variable[7] = once_value_190;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_190 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
+  return_label184: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___MMLocalProperty___compile_property_to_c(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 482, LOCATE_compiling_methods___MMLocalProperty___compile_property_to_c};
+  val_t variable[3];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  return_label191: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 532, LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c};
+  static val_t once_value_193 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_195 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_196 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_198 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_199 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_200 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_201 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_202 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_203 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_204 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_205 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_206 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_207 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_208 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_209 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_210 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_211 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_212 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_213 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_214 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_215 = NIT_NULL; /* Once value for string variable[9]*/
+  val_t variable[13];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = NEW_CFunctionContext_compiling_methods___CFunctionContext___init( variable[1] /*v*/) /*new CFunctionContext*/;
+  CALL_compiling_methods___CompilerVisitor___cfc__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::cfc=*/;
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Once String constant */
+  if (once_value_193 != NIT_NULL) variable[4] = once_value_193;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" self"), TAG_Int(5)) /*new String*/;
+    once_value_193 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  CALL_abstract_collection___SimpleCollection___add( variable[3] /*args*/)( variable[3] /*args*/, variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_static_type___MMSignature___arity(variable[4])(variable[4]) /*MMSignature::arity*/;
+  /* Register variable[4]: Result */
+  variable[4] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]) /*new Range[Int]*/;
+  /* Register variable[4]: For iterator */
+  variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[5]: For 'is_ok' result */
+    variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[5])) break; /*for*/
+    variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[6]: Local variable */
+    variable[6] = variable[5];
+    variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_195 != NIT_NULL) variable[8] = once_value_195;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)) /*new String*/;
+      once_value_195 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    variable[8] =  variable[6] /*i*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_196 != NIT_NULL) variable[8] = once_value_196;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_196 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+    CALL_abstract_collection___SimpleCollection___add( variable[3] /*args*/)( variable[3] /*args*/, variable[7]) /*AbstractArray::add*/;
+    continue_194: while(0);
+    CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
+  }
+  break_194: while(0);
+  /* Register variable[4]: Result */
+  variable[4] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_static_type___MMSignature___closures(variable[4])(variable[4]) /*MMSignature::closures*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArrayRead::length*/;
+  /* Register variable[4]: Result */
+  variable[4] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]) /*new Range[Int]*/;
+  /* Register variable[4]: For iterator */
+  variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[5]: For 'is_ok' result */
+    variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[5])) break; /*for*/
+    variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[6]: Local variable */
+    variable[6] = variable[5];
+    variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_198 != NIT_NULL) variable[8] = once_value_198;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" wd"), TAG_Int(3)) /*new String*/;
+      once_value_198 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    variable[8] =  variable[6] /*i*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_199 != NIT_NULL) variable[8] = once_value_199;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_199 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+    CALL_abstract_collection___SimpleCollection___add( variable[3] /*args*/)( variable[3] /*args*/, variable[7]) /*AbstractArray::add*/;
+    continue_197: while(0);
+    CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
+  }
+  break_197: while(0);
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___MMSrcMethod___decl_csignature(variable[0])(variable[0],  variable[1] /*v*/,  variable[3] /*args*/) /*MMSrcMethod::decl_csignature*/;
+  variable[4] = variable[5];
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_200 != NIT_NULL) variable[6] = once_value_200;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("#define LOCATE_"), TAG_Int(15)) /*new String*/;
+    once_value_200 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_201 != NIT_NULL) variable[6] = once_value_201;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" \""), TAG_Int(2)) /*new String*/;
+    once_value_201 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalProperty___full_name(variable[0])(variable[0]) /*MMLocalProperty::full_name*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_202 != NIT_NULL) variable[6] = once_value_202;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)) /*new String*/;
+    once_value_202 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_decl*/;
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_203 != NIT_NULL) variable[6] = once_value_203;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_203 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[4] /*cs*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_204 != NIT_NULL) variable[6] = once_value_204;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)) /*new String*/;
+    once_value_204 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = NEW_CContext_compiling_base___CContext___init() /*new CContext*/;
+  CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::ctx=*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
+  CALL_abstract_collection___RemovableCollection___clear(variable[6])(variable[6]) /*AbstractArray::clear*/;
+  /* Register variable[6]: Local variable */
+  variable[6] =  TAG_Int(0);
+  /* Register variable[7]: Local variable */
+  variable[7] = variable[0];
+  /* Register variable[8]: Result */
+  variable[8] = CALL_syntax_base___MMLocalProperty___node( variable[7] /*s*/)( variable[7] /*s*/) /*MMLocalProperty::node*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] ==  NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    /* Register variable[8]: Result */
+    variable[8] = CALL_syntax_base___MMLocalProperty___node( variable[7] /*s*/)( variable[7] /*s*/) /*MMLocalProperty::node*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_parser_prod___PNode___line_number(variable[8])(variable[8]) /*PNode::line_number*/;
+    variable[6] = variable[8] /*ln=*/;
+  }
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_205 != NIT_NULL) variable[9] = once_value_205;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, NULL, "), TAG_Int(36)) /*new String*/;
+    once_value_205 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  variable[9] =  variable[6] /*ln*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_206 != NIT_NULL) variable[9] = once_value_206;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)) /*new String*/;
+    once_value_206 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_207 != NIT_NULL) variable[9] = once_value_207;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)) /*new String*/;
+    once_value_207 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_decl*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_208 != NIT_NULL) variable[8] = once_value_208;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)) /*new String*/;
+    once_value_208 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_209 != NIT_NULL) variable[9] = once_value_209;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("trace.file = LOCATE_"), TAG_Int(20)) /*new String*/;
+    once_value_209 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_abstractmetamodel___MMLocalProperty___module(variable[0])(variable[0]) /*MMLocalProperty::module*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_abstractmetamodel___MMModule___name(variable[9])(variable[9]) /*MMModule::name*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_210 != NIT_NULL) variable[9] = once_value_210;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_210 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[8]: Local variable */
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___MMSrcMethod___do_compile_inside(variable[0])(variable[0],  variable[1] /*v*/,  variable[3] /*args*/) /*MMSrcMethod::do_compile_inside*/;
+  variable[8] = variable[9];
+  /* Register variable[9]: Once String constant */
+  if (once_value_211 != NIT_NULL) variable[9] = once_value_211;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)) /*new String*/;
+    once_value_211 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[9]: Result */
+  variable[9] = TAG_Bool(( variable[8] /*s*/ ==  NIT_NULL /*null*/) || (( variable[8] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*s*/)( variable[8] /*s*/,  NIT_NULL /*null*/) /*String::==*/)));
+  if (UNTAG_Bool(variable[9])) { /*if*/
+    /* Register variable[9]: Once String constant */
+    if (once_value_212 != NIT_NULL) variable[9] = once_value_212;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)) /*new String*/;
+      once_value_212 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
+  } else { /*if*/
+    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_213 != NIT_NULL) variable[10] = once_value_213;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)) /*new String*/;
+      once_value_213 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    variable[10] =  variable[8] /*s*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_214 != NIT_NULL) variable[10] = once_value_214;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_214 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
+  }
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___generate_var_decls(variable[9])(variable[9]) /*CFunctionContext::generate_var_decls*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
+  CALL_compiling_base___CContext___append( variable[5] /*ctx_old*/)( variable[5] /*ctx_old*/, variable[9]) /*CContext::append*/;
+  CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/,  variable[5] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_215 != NIT_NULL) variable[9] = once_value_215;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_215 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
+  /* Register variable[9]: For iterator */
+  variable[9] = CALL_abstract_collection___Collection___iterator(variable[9])(variable[9]) /*AbstractArrayRead::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[10]: For 'is_ok' result */
+    variable[10] = CALL_abstract_collection___Iterator___is_ok(variable[9])(variable[9]) /*ArrayIterator::is_ok*/;
+    if (!UNTAG_Bool(variable[10])) break; /*for*/
+    variable[10] = CALL_abstract_collection___Iterator___item(variable[9])(variable[9]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[11]: Local variable */
+    variable[11] = variable[10];
+    /* Register variable[12]: Result */
+    variable[12] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
+    CALL_compiling_base___CContext___merge(variable[12])(variable[12],  variable[11] /*ctx*/) /*CContext::merge*/;
+    continue_216: while(0);
+    CALL_abstract_collection___Iterator___next(variable[9])(variable[9]) /*ArrayIterator::next*/;
+  }
+  break_216: while(0);
+  return_label192: while(false);
+  tracehead = trace.prev;
+  return;
+}
+val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 488, LOCATE_compiling_methods___MMSrcMethod___decl_csignature};
+  static val_t once_value_218 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_220 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_222 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_224 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_227 = NIT_NULL; /* Once value for string variable[12]*/
+      static val_t once_value_229 = NIT_NULL; /* Once value for string variable[16]*/
+    static val_t once_value_230 = NIT_NULL; /* Once value for string variable[13]*/
+      static val_t once_value_231 = NIT_NULL; /* Once value for string variable[13]*/
+    static val_t once_value_232 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_234 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_235 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_236 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_237 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_238 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_239 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_240 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_241 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_242 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_243 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_244 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_245 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_246 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_247 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_248 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_249 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_250 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_251 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_252 = NIT_NULL; /* Once value for string variable[9]*/
+  val_t variable[19];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[4] = variable[5];
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_218 != NIT_NULL) variable[6] = once_value_218;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)) /*new String*/;
+    once_value_218 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Local variable */
+  variable[6] =  variable[2] /*args*/;
+  /* Register variable[7]: Local variable */
+  variable[7] =  TAG_Int(0);
+  /* Register variable[8]: Method return value and escape marker */
+  /* Register variable[9]: Result */
+  variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[9]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[9])) { /* and */
+    /* Register variable[9]: Result */
+    variable[9] = ATTR_array___AbstractArrayRead____length(variable[6]) /*AbstractArrayRead::_length*/;
+    /* Register variable[9]: Result */
+    variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[9]));
+  }
+  /* Register variable[9]: Result */
+  if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[9]: Result */
+  variable[9] = ATTR_array___Array____items(variable[6]) /*Array::_items*/;
+  /* Register variable[9]: Result */
+  variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
+  variable[8] = variable[9];
+  goto return_label219;
+  return_label219: while(false);
+  /* Register variable[6]: Result */
+  variable[6] = variable[8];
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_220 != NIT_NULL) variable[6] = once_value_220;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_220 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMSignature___arity(variable[5])(variable[5]) /*MMSignature::arity*/;
+  /* Register variable[5]: Result */
+  variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[5]) /*new Range[Int]*/;
+  /* Register variable[5]: For iterator */
+  variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[6]: For 'is_ok' result */
+    variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[6])) break; /*for*/
+    variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[7]: Local variable */
+    variable[7] = variable[6];
+    /* Register variable[8]: Local variable */
+    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_222 != NIT_NULL) variable[10] = once_value_222;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)) /*new String*/;
+      once_value_222 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[10]: Result */
+    variable[10] = TAG_Int(UNTAG_Int( variable[7] /*i*/)+UNTAG_Int( TAG_Int(1)));
+    /* Register variable[11]: Local variable */
+    variable[11] =  variable[2] /*args*/;
+    /* Register variable[12]: Local variable */
+    variable[12] = variable[10];
+    /* Register variable[13]: Method return value and escape marker */
+    /* Register variable[14]: Result */
+    variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[14]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[14])) { /* and */
+      /* Register variable[14]: Result */
+      variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
+      /* Register variable[14]: Result */
+      variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
+    }
+    /* Register variable[14]: Result */
+    if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[14]: Result */
+    variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
+    /* Register variable[14]: Result */
+    variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
+    variable[13] = variable[14];
+    goto return_label223;
+    return_label223: while(false);
+    /* Register variable[10]: Result */
+    variable[10] = variable[13];
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_224 != NIT_NULL) variable[10] = once_value_224;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_224 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+    variable[8] = variable[9];
+    CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/,  variable[8] /*p*/) /*AbstractArray::add*/;
+    continue_221: while(0);
+    CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*Iterator::next*/;
+  }
+  break_221: while(0);
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMSignature___arity(variable[6])(variable[6]) /*MMSignature::arity*/;
+  /* Register variable[6]: Result */
+  variable[6] = TAG_Int(UNTAG_Int(variable[6])+UNTAG_Int( TAG_Int(1)));
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMSignature___closures(variable[6])(variable[6]) /*MMSignature::closures*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstract_collection___Collection___length(variable[6])(variable[6]) /*AbstractArrayRead::length*/;
+  /* Register variable[6]: Result */
+  variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6]) /*new Range[Int]*/;
+  /* Register variable[6]: For iterator */
+  variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[7]: For 'is_ok' result */
+    variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[7])) break; /*for*/
+    variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[8]: Local variable */
+    variable[8] = variable[7];
+    /* Register variable[9]: Local variable */
+    /* Register variable[10]: Result */
+    variable[10] = CALL_compiling_methods___MMMethod___closure_cname(variable[0])(variable[0],  variable[8] /*i*/) /*MMMethod::closure_cname*/;
+    variable[9] = variable[10];
+    /* Register variable[10]: Local variable */
+    /* Register variable[11]: Result */
+    variable[11] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+    /* Register variable[11]: Result */
+    variable[11] = CALL_static_type___MMSignature___closures(variable[11])(variable[11]) /*MMSignature::closures*/;
+    /* Register variable[12]: Local variable */
+    variable[12] = variable[11];
+    /* Register variable[13]: Local variable */
+    variable[13] =  variable[8] /*i*/;
+    /* Register variable[14]: Method return value and escape marker */
+    /* Register variable[15]: Result */
+    variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[15]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[15])) { /* and */
+      /* Register variable[15]: Result */
+      variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
+      /* Register variable[15]: Result */
+      variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
+    }
+    /* Register variable[15]: Result */
+    if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[15]: Result */
+    variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
+    /* Register variable[15]: Result */
+    variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
+    variable[14] = variable[15];
+    goto return_label226;
+    return_label226: while(false);
+    /* Register variable[11]: Result */
+    variable[11] = variable[14];
+    /* Register variable[11]: Result */
+    variable[11] = CALL_static_type___MMClosure___signature(variable[11])(variable[11]) /*MMClosure::signature*/;
+    variable[10] = variable[11];
+    /* Register variable[11]: Local variable */
+    /* Register variable[12]: Result */
+    variable[12] = NEW_Array_array___Array___init() /*new Array[String]*/;
+    variable[11] = variable[12];
+    /* Register variable[12]: Once String constant */
+    if (once_value_227 != NIT_NULL) variable[12] = once_value_227;
+    else {
+      variable[12] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ *"), TAG_Int(13)) /*new String*/;
+      once_value_227 = variable[12];
+    }
+    /* Register variable[12]: Result */
+    CALL_abstract_collection___SimpleCollection___add( variable[11] /*subparams*/)( variable[11] /*subparams*/, variable[12]) /*AbstractArray::add*/;
+    /* Register variable[12]: Result */
+    variable[12] = CALL_static_type___MMSignature___arity( variable[10] /*cs*/)( variable[10] /*cs*/) /*MMSignature::arity*/;
+    /* Register variable[12]: Result */
+    variable[12] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[12]) /*new Range[Int]*/;
+    /* Register variable[12]: For iterator */
+    variable[12] = CALL_abstract_collection___Collection___iterator(variable[12])(variable[12]) /*Range::iterator*/;
+    while (true) { /*for*/
+      /* Register variable[13]: For 'is_ok' result */
+      variable[13] = CALL_abstract_collection___Iterator___is_ok(variable[12])(variable[12]) /*Iterator::is_ok*/;
+      if (!UNTAG_Bool(variable[13])) break; /*for*/
+      variable[13] = CALL_abstract_collection___Iterator___item(variable[12])(variable[12]) /*Iterator::item*/ /* Ensure var: For item*/;
+      /* Register variable[14]: Local variable */
+      variable[14] = variable[13];
+      /* Register variable[15]: Local variable */
+      /* Register variable[16]: Once String constant */
+      if (once_value_229 != NIT_NULL) variable[16] = once_value_229;
+      else {
+        variable[16] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)) /*new String*/;
+        once_value_229 = variable[16];
+      }
+      /* Register variable[16]: Result */
+      variable[15] = variable[16];
+      CALL_abstract_collection___SimpleCollection___add( variable[11] /*subparams*/)( variable[11] /*subparams*/,  variable[15] /*p*/) /*AbstractArray::add*/;
+      continue_228: while(0);
+      CALL_abstract_collection___Iterator___next(variable[12])(variable[12]) /*Iterator::next*/;
+    }
+    break_228: while(0);
+    /* Register variable[12]: Local variable */
+    /* Register variable[13]: Once String constant */
+    if (once_value_230 != NIT_NULL) variable[13] = once_value_230;
+    else {
+      variable[13] = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)) /*new String*/;
+      once_value_230 = variable[13];
+    }
+    /* Register variable[13]: Result */
+    variable[12] = variable[13];
+    /* Register variable[13]: Result */
+    variable[13] = CALL_static_type___MMSignature___return_type( variable[10] /*cs*/)( variable[10] /*cs*/) /*MMSignature::return_type*/;
+    /* Register variable[13]: Result */
+    variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[13] ==  NIT_NULL /*null*/) || ((variable[13] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[13])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[13], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[13])(variable[13],  NIT_NULL /*null*/) /*Object::==*/)))))));
+    if (UNTAG_Bool(variable[13])) { /*if*/
+      /* Register variable[13]: Once String constant */
+      if (once_value_231 != NIT_NULL) variable[13] = once_value_231;
+      else {
+        variable[13] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)) /*new String*/;
+        once_value_231 = variable[13];
+      }
+      /* Register variable[13]: Result */
+      variable[12] = variable[13] /*r=*/;
+    }
+    variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_232 != NIT_NULL) variable[14] = once_value_232;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ *"), TAG_Int(13)) /*new String*/;
+      once_value_232 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[14]: Result */
+    variable[14] = TAG_Int(UNTAG_Int( variable[5] /*first_closure_index*/)+UNTAG_Int( variable[8] /*i*/));
+    /* Register variable[15]: Local variable */
+    variable[15] =  variable[2] /*args*/;
+    /* Register variable[16]: Local variable */
+    variable[16] = variable[14];
+    /* Register variable[17]: Method return value and escape marker */
+    /* Register variable[18]: Result */
+    variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[18]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[18])) { /* and */
+      /* Register variable[18]: Result */
+      variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
+      /* Register variable[18]: Result */
+      variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
+    }
+    /* Register variable[18]: Result */
+    if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[18]: Result */
+    variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
+    /* Register variable[18]: Result */
+    variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
+    variable[17] = variable[18];
+    goto return_label233;
+    return_label233: while(false);
+    /* Register variable[14]: Result */
+    variable[14] = variable[17];
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_234 != NIT_NULL) variable[14] = once_value_234;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_234 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[13]: Result */
+    variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
+    CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[13]) /*AbstractArray::add*/;
+    variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_235 != NIT_NULL) variable[14] = once_value_235;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)) /*new String*/;
+      once_value_235 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    variable[14] =  variable[12] /*r*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_236 != NIT_NULL) variable[14] = once_value_236;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" (*"), TAG_Int(3)) /*new String*/;
+      once_value_236 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    variable[14] =  variable[9] /*closcn*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_237 != NIT_NULL) variable[14] = once_value_237;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString(")("), TAG_Int(2)) /*new String*/;
+      once_value_237 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_238 != NIT_NULL) variable[14] = once_value_238;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+      once_value_238 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Register variable[14]: Result */
+    variable[14] = CALL_string___Collection___join( variable[11] /*subparams*/)( variable[11] /*subparams*/, variable[14]) /*Collection::join*/;
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_239 != NIT_NULL) variable[14] = once_value_239;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
+      once_value_239 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[13]: Result */
+    variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_decl*/;
+    continue_225: while(0);
+    CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
+  }
+  break_225: while(0);
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[6])(variable[6]) /*MMGlobalProperty::is_init*/;
+  if (UNTAG_Bool(variable[6])) { /*if*/
+    /* Register variable[6]: Once String constant */
+    if (once_value_240 != NIT_NULL) variable[6] = once_value_240;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("int* init_table"), TAG_Int(15)) /*new String*/;
+      once_value_240 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[6]) /*AbstractArray::add*/;
+  }
+  /* Register variable[6]: Local variable */
+  /*variable[6] is variable ret*/
+  /* Register variable[7]: Result */
+  variable[7] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_static_type___MMSignature___return_type(variable[7])(variable[7]) /*MMSignature::return_type*/;
+  /* Register variable[7]: Result */
+  variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] ==  NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[7])) { /*if*/
+    /* Register variable[7]: Once String constant */
+    if (once_value_241 != NIT_NULL) variable[7] = once_value_241;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)) /*new String*/;
+      once_value_241 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    variable[6] = variable[7] /*ret=*/;
+  } else { /*if*/
+    /* Register variable[7]: Once String constant */
+    if (once_value_242 != NIT_NULL) variable[7] = once_value_242;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)) /*new String*/;
+      once_value_242 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    variable[6] = variable[7] /*ret=*/;
+  }
+  /* Register variable[7]: Local variable */
+  /* Register variable[8]: Once String constant */
+  if (once_value_243 != NIT_NULL) variable[8] = once_value_243;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_243 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Collection___join( variable[4] /*params*/)( variable[4] /*params*/, variable[8]) /*Collection::join*/;
+  variable[7] = variable[8];
+  /* Register variable[8]: Local variable */
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_244 != NIT_NULL) variable[10] = once_value_244;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_244 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[6] /*ret*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_245 != NIT_NULL) variable[10] = once_value_245;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)) /*new String*/;
+    once_value_245 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_246 != NIT_NULL) variable[10] = once_value_246;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_246 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[7] /*p*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_247 != NIT_NULL) variable[10] = once_value_247;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_247 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  variable[8] = variable[9];
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_248 != NIT_NULL) variable[10] = once_value_248;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)) /*new String*/;
+    once_value_248 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[6] /*ret*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_249 != NIT_NULL) variable[10] = once_value_249;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)) /*new String*/;
+    once_value_249 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_250 != NIT_NULL) variable[10] = once_value_250;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)) /*new String*/;
+    once_value_250 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[7] /*p*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_251 != NIT_NULL) variable[10] = once_value_251;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
+    once_value_251 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_252 != NIT_NULL) variable[9] = once_value_252;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_252 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___String_____plus( variable[8] /*s*/)( variable[8] /*s*/, variable[9]) /*String::+*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
+  variable[3] =  variable[8] /*s*/;
+  goto return_label217;
+  return_label217: while(false);
+  tracehead = trace.prev;
+  return variable[3];
+}
+val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 578, LOCATE_compiling_methods___MMSrcMethod___do_compile_inside};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  fprintf(stderr, "Deferred method called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 578);
+  nit_exit(1);
+  tracehead = trace.prev;
+  return NIT_NULL;
+}
+val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 583, LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside};
+  val_t variable[10];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMAttrImplementationMethod::node*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___AAttrPropdef___prop(variable[4])(variable[4]) /*AAttrPropdef::prop*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMAttrImplementationMethod::node*/;
+  /* Register variable[6]: Local variable */
+  variable[6] =  variable[2] /*params*/;
+  /* Register variable[7]: Local variable */
+  variable[7] =  TAG_Int(0);
+  /* Register variable[8]: Method return value and escape marker */
+  /* Register variable[9]: Result */
+  variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[9]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[9])) { /* and */
+    /* Register variable[9]: Result */
+    variable[9] = ATTR_array___AbstractArrayRead____length(variable[6]) /*AbstractArrayRead::_length*/;
+    /* Register variable[9]: Result */
+    variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[9]));
+  }
+  /* Register variable[9]: Result */
+  if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[9]: Result */
+  variable[9] = ATTR_array___Array____items(variable[6]) /*Array::_items*/;
+  /* Register variable[9]: Result */
+  variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
+  variable[8] = variable[9];
+  goto return_label254;
+  return_label254: while(false);
+  /* Register variable[6]: Result */
+  variable[6] = variable[8];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___MMAttribute___compile_read_access(variable[4])(variable[4],  variable[1] /*v*/, variable[5], variable[6]) /*MMAttribute::compile_read_access*/;
+  variable[3] = variable[4];
+  goto return_label253;
+  return_label253: while(false);
+  tracehead = trace.prev;
+  return variable[3];
+}
+val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 590, LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside};
+  val_t variable[11];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMAttrImplementationMethod::node*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___AAttrPropdef___prop(variable[4])(variable[4]) /*AAttrPropdef::prop*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMAttrImplementationMethod::node*/;
+  /* Register variable[6]: Local variable */
+  variable[6] =  variable[2] /*params*/;
+  /* Register variable[7]: Local variable */
+  variable[7] =  TAG_Int(0);
+  /* Register variable[8]: Method return value and escape marker */
+  /* Register variable[9]: Result */
+  variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[9]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[9])) { /* and */
+    /* Register variable[9]: Result */
+    variable[9] = ATTR_array___AbstractArrayRead____length(variable[6]) /*AbstractArrayRead::_length*/;
+    /* Register variable[9]: Result */
+    variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[9]));
+  }
+  /* Register variable[9]: Result */
+  if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[9]: Result */
+  variable[9] = ATTR_array___Array____items(variable[6]) /*Array::_items*/;
+  /* Register variable[9]: Result */
+  variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
+  variable[8] = variable[9];
+  goto return_label256;
+  return_label256: while(false);
+  /* Register variable[6]: Result */
+  variable[6] = variable[8];
+  /* Register variable[7]: Local variable */
+  variable[7] =  variable[2] /*params*/;
+  /* Register variable[8]: Local variable */
+  variable[8] =  TAG_Int(1);
+  /* Register variable[9]: Method return value and escape marker */
+  /* Register variable[10]: Result */
+  variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[10]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[10])) { /* and */
+    /* Register variable[10]: Result */
+    variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
+    /* Register variable[10]: Result */
+    variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
+  }
+  /* Register variable[10]: Result */
+  if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[10]: Result */
+  variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
+  /* Register variable[10]: Result */
+  variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
+  variable[9] = variable[10];
+  goto return_label257;
+  return_label257: while(false);
+  /* Register variable[7]: Result */
+  variable[7] = variable[9];
+  CALL_compiling_methods___MMAttribute___compile_write_access(variable[4])(variable[4],  variable[1] /*v*/, variable[5], variable[6], variable[7]) /*MMAttribute::compile_write_access*/;
+  variable[3] =  NIT_NULL /*null*/;
+  goto return_label255;
+  return_label255: while(false);
+  tracehead = trace.prev;
+  return variable[3];
+}
+val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 598, LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside};
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMMethSrcMethod::node*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___AMethPropdef___do_compile_inside(variable[4])(variable[4],  variable[1] /*v*/, variable[0],  variable[2] /*params*/) /*AMethPropdef::do_compile_inside*/;
+  variable[3] = variable[4];
+  goto return_label258;
+  return_label258: while(false);
+  tracehead = trace.prev;
+  return variable[3];
+}
+val_t compiling_methods___MMImplicitInit___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 605, LOCATE_compiling_methods___MMImplicitInit___do_compile_inside};
+  val_t variable[18];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_abstract_collection___Collection___length( variable[2] /*params*/)( variable[2] /*params*/) /*AbstractArrayRead::length*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(variable[0])(variable[0]) /*MMImplicitInit::unassigned_attributes*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstract_collection___Collection___length(variable[6])(variable[6]) /*AbstractArrayRead::length*/;
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Int(UNTAG_Int(variable[5])-UNTAG_Int(variable[6]));
+  variable[4] = variable[5];
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstract_collection___Collection___first( variable[2] /*params*/)( variable[2] /*params*/) /*IndexedCollectionRead::first*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = CALL_syntax_base___MMImplicitInit___super_inits(variable[0])(variable[0]) /*MMImplicitInit::super_inits*/;
+  /* Register variable[6]: For iterator */
+  variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*AbstractArrayRead::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[7]: For 'is_ok' result */
+    variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*ArrayIterator::is_ok*/;
+    if (!UNTAG_Bool(variable[7])) break; /*for*/
+    variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[8]: Local variable */
+    variable[8] = variable[7];
+    /* Register variable[9]: Result */
+    variable[9] = TAG_Bool(( variable[8] /*sp*/==NIT_NULL) || VAL_ISA( variable[8] /*sp*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
+    if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMImplicitInit___do_compile_inside, LOCATE_compiling_methods, 610); nit_exit(1);}
+    /* Register variable[9]: Local variable */
+    variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10],  variable[5] /*recv*/) /*AbstractArray::add*/;
+    /* Register variable[10]: Result */
+    variable[9] = variable[10];
+    /* Register variable[10]: Result */
+    variable[10] = CALL_mmbuilder___MMImplicitInit___super_init(variable[0])(variable[0]) /*MMImplicitInit::super_init*/;
+    /* Register variable[10]: Result */
+    variable[10] = TAG_Bool(( variable[8] /*sp*/ == variable[10]) || (( variable[8] /*sp*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*sp*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*sp*/,variable[10])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*sp*/)( variable[8] /*sp*/, variable[10]) /*Object::==*/)))));
+    if (UNTAG_Bool(variable[10])) { /*if*/
+      /* Register variable[10]: Local variable */
+      /* Register variable[11]: Result */
+      variable[11] = NEW_Array_array___Array___with_capacity( variable[4] /*f*/) /*new Array[String]*/;
+      variable[10] = variable[11];
+      CALL_abstract_collection___SimpleCollection___add( variable[10] /*args*/)( variable[10] /*args*/,  variable[5] /*recv*/) /*AbstractArray::add*/;
+      /* Register variable[11]: Result */
+      variable[11] = NEW_Range_range___Range___without_last( TAG_Int(1),  variable[4] /*f*/) /*new Range[Int]*/;
+      /* Register variable[11]: For iterator */
+      variable[11] = CALL_abstract_collection___Collection___iterator(variable[11])(variable[11]) /*Range::iterator*/;
+      while (true) { /*for*/
+        /* Register variable[12]: For 'is_ok' result */
+        variable[12] = CALL_abstract_collection___Iterator___is_ok(variable[11])(variable[11]) /*Iterator::is_ok*/;
+        if (!UNTAG_Bool(variable[12])) break; /*for*/
+        variable[12] = CALL_abstract_collection___Iterator___item(variable[11])(variable[11]) /*Iterator::item*/ /* Ensure var: For item*/;
+        /* Register variable[13]: Local variable */
+        variable[13] = variable[12];
+        /* Register variable[14]: Local variable */
+        variable[14] =  variable[2] /*params*/;
+        /* Register variable[15]: Local variable */
+        variable[15] =  variable[13] /*i*/;
+        /* Register variable[16]: Method return value and escape marker */
+        /* Register variable[17]: Result */
+        variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+        /* Ensure var variable[17]: Left 'and' operand*/
+        if (UNTAG_Bool(variable[17])) { /* and */
+          /* Register variable[17]: Result */
+          variable[17] = ATTR_array___AbstractArrayRead____length(variable[14]) /*AbstractArrayRead::_length*/;
+          /* Register variable[17]: Result */
+          variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)<UNTAG_Int(variable[17]));
+        }
+        /* Register variable[17]: Result */
+        if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+        /* Register variable[17]: Result */
+        variable[17] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
+        /* Register variable[17]: Result */
+        variable[17] = UNBOX_NativeArray(variable[17])[UNTAG_Int( variable[15] /*index*/)];
+        variable[16] = variable[17];
+        goto return_label262;
+        return_label262: while(false);
+        /* Register variable[14]: Result */
+        variable[14] = variable[16];
+        CALL_abstract_collection___SimpleCollection___add( variable[10] /*args*/)( variable[10] /*args*/, variable[14]) /*AbstractArray::add*/;
+        continue_261: while(0);
+        CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*Iterator::next*/;
+      }
+      break_261: while(0);
+      CALL_compiling_methods___MMMethod___compile_stmt_call( variable[8] /*sp*/)( variable[8] /*sp*/,  variable[1] /*v*/,  variable[10] /*args*/) /*MMMethod::compile_stmt_call*/;
+    } else { /*if*/
+      CALL_compiling_methods___MMMethod___compile_stmt_call( variable[8] /*sp*/)( variable[8] /*sp*/,  variable[1] /*v*/,  variable[9] /*args_recv*/) /*MMMethod::compile_stmt_call*/;
+    }
+    continue_260: while(0);
+    CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*ArrayIterator::next*/;
+  }
+  break_260: while(0);
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstract_collection___Collection___length( variable[2] /*params*/)( variable[2] /*params*/) /*AbstractArrayRead::length*/;
+  /* Register variable[6]: Result */
+  variable[6] = NEW_Range_range___Range___without_last( variable[4] /*f*/, variable[6]) /*new Range[Int]*/;
+  /* Register variable[6]: For iterator */
+  variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[7]: For 'is_ok' result */
+    variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[7])) break; /*for*/
+    variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[8]: Local variable */
+    variable[8] = variable[7];
+    /* Register variable[9]: Local variable */
+    /* Register variable[10]: Result */
+    variable[10] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(variable[0])(variable[0]) /*MMImplicitInit::unassigned_attributes*/;
+    /* Register variable[11]: Result */
+    variable[11] = TAG_Int(UNTAG_Int( variable[8] /*i*/)-UNTAG_Int( variable[4] /*f*/));
+    /* Register variable[12]: Local variable */
+    variable[12] = variable[10];
+    /* Register variable[13]: Local variable */
+    variable[13] = variable[11];
+    /* Register variable[14]: Method return value and escape marker */
+    /* Register variable[15]: Result */
+    variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[15]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[15])) { /* and */
+      /* Register variable[15]: Result */
+      variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
+      /* Register variable[15]: Result */
+      variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
+    }
+    /* Register variable[15]: Result */
+    if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[15]: Result */
+    variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
+    /* Register variable[15]: Result */
+    variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
+    variable[14] = variable[15];
+    goto return_label264;
+    return_label264: while(false);
+    /* Register variable[10]: Result */
+    variable[10] = variable[14];
+    variable[9] = variable[10];
+    /* Register variable[10]: Local variable */
+    variable[10] =  variable[2] /*params*/;
+    /* Register variable[11]: Local variable */
+    variable[11] =  variable[8] /*i*/;
+    /* Register variable[12]: Method return value and escape marker */
+    /* Register variable[13]: Result */
+    variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[13]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[13])) { /* and */
+      /* Register variable[13]: Result */
+      variable[13] = ATTR_array___AbstractArrayRead____length(variable[10]) /*AbstractArrayRead::_length*/;
+      /* Register variable[13]: Result */
+      variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[13]));
+    }
+    /* Register variable[13]: Result */
+    if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[13]: Result */
+    variable[13] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
+    /* Register variable[13]: Result */
+    variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
+    variable[12] = variable[13];
+    goto return_label265;
+    return_label265: while(false);
+    /* Register variable[10]: Result */
+    variable[10] = variable[12];
+    CALL_compiling_methods___MMAttribute___compile_write_access( variable[9] /*attribute*/)( variable[9] /*attribute*/,  variable[1] /*v*/,  NIT_NULL /*null*/,  variable[5] /*recv*/, variable[10]) /*MMAttribute::compile_write_access*/;
+    continue_263: while(0);
+    CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
+  }
+  break_263: while(0);
+  variable[3] =  NIT_NULL /*null*/;
+  goto return_label259;
+  return_label259: while(false);
+  tracehead = trace.prev;
+  return variable[3];
+}
+val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 632, LOCATE_compiling_methods___MMType___compile_cast};
+  static val_t once_value_267 = NIT_NULL; /* Once value for string variable[7]*/
+      static val_t once_value_268 = NIT_NULL; /* Once value for string variable[8]*/
+      static val_t once_value_269 = NIT_NULL; /* Once value for string variable[8]*/
+      static val_t once_value_270 = NIT_NULL; /* Once value for string variable[8]*/
+      static val_t once_value_271 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_272 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_273 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_274 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_275 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_276 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_277 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_278 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_279 = NIT_NULL; /* Once value for string variable[8]*/
+  val_t variable[9];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalClass___global(variable[6])(variable[6]) /*MMLocalClass::global*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Once String constant */
+  if (once_value_267 != NIT_NULL) variable[7] = once_value_267;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_267 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  variable[6] = variable[7];
+  /* Register variable[7]: Result */
+  variable[7] = CALL_static_type___MMType___is_nullable( variable[3] /*fromtype*/)( variable[3] /*fromtype*/) /*MMType::is_nullable*/;
+  if (UNTAG_Bool(variable[7])) { /*if*/
+    /* Register variable[7]: Result */
+    variable[7] = CALL_static_type___MMType___is_nullable(variable[0])(variable[0]) /*MMType::is_nullable*/;
+    if (UNTAG_Bool(variable[7])) { /*if*/
+      variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+      /* Register variable[8]: Once String constant */
+      if (once_value_268 != NIT_NULL) variable[8] = once_value_268;
+      else {
+        variable[8] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+        once_value_268 = variable[8];
+      }
+      /* Register variable[8]: Result */
+      /* Ensure var variable[8]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+      variable[8] =  variable[2] /*recv*/ /* Ensure var: super-string element*/;
+      CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+      /* Register variable[8]: Once String constant */
+      if (once_value_269 != NIT_NULL) variable[8] = once_value_269;
+      else {
+        variable[8] = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL) || "), TAG_Int(15)) /*new String*/;
+        once_value_269 = variable[8];
+      }
+      /* Register variable[8]: Result */
+      /* Ensure var variable[8]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+      /* Register variable[7]: Result */
+      variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+      variable[6] = variable[7] /*s=*/;
+    } else { /*if*/
+      variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+      /* Register variable[8]: Once String constant */
+      if (once_value_270 != NIT_NULL) variable[8] = once_value_270;
+      else {
+        variable[8] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+        once_value_270 = variable[8];
+      }
+      /* Register variable[8]: Result */
+      /* Ensure var variable[8]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+      variable[8] =  variable[2] /*recv*/ /* Ensure var: super-string element*/;
+      CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+      /* Register variable[8]: Once String constant */
+      if (once_value_271 != NIT_NULL) variable[8] = once_value_271;
+      else {
+        variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!=NIT_NULL) && "), TAG_Int(15)) /*new String*/;
+        once_value_271 = variable[8];
+      }
+      /* Register variable[8]: Result */
+      /* Ensure var variable[8]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+      /* Register variable[7]: Result */
+      variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+      variable[6] = variable[7] /*s=*/;
+    }
+  } else { /*if*/
+    variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_272 != NIT_NULL) variable[8] = once_value_272;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+      once_value_272 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    variable[8] =  variable[2] /*recv*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_273 != NIT_NULL) variable[8] = once_value_273;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL) || "), TAG_Int(15)) /*new String*/;
+      once_value_273 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+    variable[6] = variable[7] /*s=*/;
+  }
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_274 != NIT_NULL) variable[8] = once_value_274;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool("), TAG_Int(9)) /*new String*/;
+    once_value_274 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  variable[8] =  variable[6] /*s*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_275 != NIT_NULL) variable[8] = once_value_275;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("VAL_ISA("), TAG_Int(8)) /*new String*/;
+    once_value_275 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  variable[8] =  variable[2] /*recv*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_276 != NIT_NULL) variable[8] = once_value_276;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_276 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_base___MMGlobalClass___color_id( variable[5] /*g*/)( variable[5] /*g*/) /*MMGlobalClass::color_id*/;
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_277 != NIT_NULL) variable[8] = once_value_277;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_277 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_base___MMGlobalClass___id_id( variable[5] /*g*/)( variable[5] /*g*/) /*MMGlobalClass::id_id*/;
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_278 != NIT_NULL) variable[8] = once_value_278;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")) /*cast "), TAG_Int(10)) /*new String*/;
+    once_value_278 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Ensure var variable[0]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[0])(variable[0]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_279 != NIT_NULL) variable[8] = once_value_279;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_279 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+  variable[4] = variable[7];
+  goto return_label266;
+  return_label266: while(false);
+  tracehead = trace.prev;
+  return variable[4];
+}
+void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
+  struct trace_t trace = {NULL, NULL, 652, LOCATE_compiling_methods___MMType___compile_type_check};
+  static val_t once_value_281 = NIT_NULL; /* Once value for string variable[8]*/
+      static val_t once_value_282 = NIT_NULL; /* Once value for string variable[9]*/
+      static val_t once_value_283 = NIT_NULL; /* Once value for string variable[9]*/
+      static val_t once_value_284 = NIT_NULL; /* Once value for string variable[9]*/
+      static val_t once_value_285 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_286 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_287 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_288 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_289 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_290 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_291 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_292 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_293 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_294 = NIT_NULL; /* Once value for string variable[9]*/
+  val_t variable[10];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Local variable */
+  variable[4] =  param3;
+  /* Register variable[5]: Method return value and escape marker */
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalClass___global(variable[7])(variable[7]) /*MMLocalClass::global*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Local variable */
+  /* Register variable[8]: Once String constant */
+  if (once_value_281 != NIT_NULL) variable[8] = once_value_281;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_281 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  variable[7] = variable[8];
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMType___is_nullable( variable[4] /*fromtype*/)( variable[4] /*fromtype*/) /*MMType::is_nullable*/;
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    /* Register variable[8]: Result */
+    variable[8] = CALL_static_type___MMType___is_nullable(variable[0])(variable[0]) /*MMType::is_nullable*/;
+    if (UNTAG_Bool(variable[8])) { /*if*/
+      variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+      /* Register variable[9]: Once String constant */
+      if (once_value_282 != NIT_NULL) variable[9] = once_value_282;
+      else {
+        variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+        once_value_282 = variable[9];
+      }
+      /* Register variable[9]: Result */
+      /* Ensure var variable[9]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+      variable[9] =  variable[2] /*recv*/ /* Ensure var: super-string element*/;
+      CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+      /* Register variable[9]: Once String constant */
+      if (once_value_283 != NIT_NULL) variable[9] = once_value_283;
+      else {
+        variable[9] = NEW_String_string___String___with_native(BOX_NativeString("!=NIT_NULL) && "), TAG_Int(15)) /*new String*/;
+        once_value_283 = variable[9];
+      }
+      /* Register variable[9]: Result */
+      /* Ensure var variable[9]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+      /* Register variable[8]: Result */
+      variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+      variable[7] = variable[8] /*s=*/;
+    } else { /*if*/
+      variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+      /* Register variable[9]: Once String constant */
+      if (once_value_284 != NIT_NULL) variable[9] = once_value_284;
+      else {
+        variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+        once_value_284 = variable[9];
+      }
+      /* Register variable[9]: Result */
+      /* Ensure var variable[9]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+      variable[9] =  variable[2] /*recv*/ /* Ensure var: super-string element*/;
+      CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+      /* Register variable[9]: Once String constant */
+      if (once_value_285 != NIT_NULL) variable[9] = once_value_285;
+      else {
+        variable[9] = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL) || "), TAG_Int(15)) /*new String*/;
+        once_value_285 = variable[9];
+      }
+      /* Register variable[9]: Result */
+      /* Ensure var variable[9]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+      /* Register variable[8]: Result */
+      variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+      variable[7] = variable[8] /*s=*/;
+    }
+  } else { /*if*/
+    variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_286 != NIT_NULL) variable[9] = once_value_286;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+      once_value_286 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    variable[9] =  variable[2] /*recv*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_287 != NIT_NULL) variable[9] = once_value_287;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("!=NIT_NULL) && "), TAG_Int(15)) /*new String*/;
+      once_value_287 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+    variable[7] = variable[8] /*s=*/;
+  }
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(13)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_288 != NIT_NULL) variable[9] = once_value_288;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
+    once_value_288 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  variable[9] =  variable[7] /*s*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_289 != NIT_NULL) variable[9] = once_value_289;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("!VAL_ISA("), TAG_Int(9)) /*new String*/;
+    once_value_289 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  variable[9] =  variable[2] /*recv*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_290 != NIT_NULL) variable[9] = once_value_290;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_290 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_base___MMGlobalClass___color_id( variable[6] /*g*/)( variable[6] /*g*/) /*MMGlobalClass::color_id*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_291 != NIT_NULL) variable[9] = once_value_291;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_291 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_base___MMGlobalClass___id_id( variable[6] /*g*/)( variable[6] /*g*/) /*MMGlobalClass::id_id*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_292 != NIT_NULL) variable[9] = once_value_292;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Cast failled\"); "), TAG_Int(38)) /*new String*/;
+    once_value_292 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/,  variable[3] /*n*/) /*CompilerVisitor::printf_locate_error*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_293 != NIT_NULL) variable[9] = once_value_293;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1); } /*cast "), TAG_Int(23)) /*new String*/;
+    once_value_293 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Ensure var variable[0]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[0])(variable[0]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_294 != NIT_NULL) variable[9] = once_value_294;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)) /*new String*/;
+    once_value_294 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  return_label280: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___MMType___compile_notnull_check(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 671, LOCATE_compiling_methods___MMType___compile_notnull_check};
+    static val_t once_value_296 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_297 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_298 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_299 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMType___is_nullable(variable[0])(variable[0]) /*MMType::is_nullable*/;
+  if (UNTAG_Bool(variable[5])) { /*if*/
+    variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_296 != NIT_NULL) variable[6] = once_value_296;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (("), TAG_Int(5)) /*new String*/;
+      once_value_296 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    variable[6] =  variable[2] /*recv*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_297 != NIT_NULL) variable[6] = once_value_297;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL)) { fprintf(stderr, \"Cast failled\"); "), TAG_Int(48)) /*new String*/;
+      once_value_297 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/,  variable[3] /*n*/) /*CompilerVisitor::printf_locate_error*/;
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_298 != NIT_NULL) variable[6] = once_value_298;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1); } /*cast "), TAG_Int(23)) /*new String*/;
+      once_value_298 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Ensure var variable[0]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[0])(variable[0]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_299 != NIT_NULL) variable[6] = once_value_299;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)) /*new String*/;
+      once_value_299 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  }
+  return_label295: while(false);
+  tracehead = trace.prev;
+  return;
+}
+val_t compiling_methods___AMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 683, LOCATE_compiling_methods___AMethPropdef___do_compile_inside};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  fprintf(stderr, "Deferred method called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 683);
+  nit_exit(1);
+  tracehead = trace.prev;
+  return NIT_NULL;
+}
+void compiling_methods___PSignature___compile_parameters(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 688, LOCATE_compiling_methods___PSignature___compile_parameters};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  fprintf(stderr, "Deferred method called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 688);
+  nit_exit(1);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___ASignature___compile_parameters(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 692, LOCATE_compiling_methods___ASignature___compile_parameters};
+      static val_t once_value_302 = NIT_NULL; /* Once value for string variable[11]*/
+      static val_t once_value_303 = NIT_NULL; /* Once value for string variable[11]*/
+      static val_t once_value_304 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_308 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_310 = NIT_NULL; /* Once value for string variable[11]*/
+  val_t variable[16];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___ASignature___n_params(variable[0])(variable[0]) /*ASignature::n_params*/;
+  /* Register variable[5]: For iterator */
+  variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*List::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[6]: For 'is_ok' result */
+    variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ListIterator::is_ok*/;
+    if (!UNTAG_Bool(variable[6])) break; /*for*/
+    variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ListIterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[7]: Local variable */
+    variable[7] = variable[6];
+    /* Register variable[8]: Local variable */
+    /* Register variable[9]: Result */
+    variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_compiling_methods___CFunctionContext___register_variable(variable[9])(variable[9], variable[10]) /*CFunctionContext::register_variable*/;
+    variable[8] = variable[9];
+    /* Register variable[9]: Result */
+    variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_compiling_methods___NitMethodContext___method_params(variable[9])(variable[9]) /*NitMethodContext::method_params*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[9]: Local variable */
+    /* Register variable[10]: Result */
+    variable[10] = CALL_syntax_base___PParam___position( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::position*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_static_type___MMSignature_____bra( variable[2] /*orig_sig*/)( variable[2] /*orig_sig*/, variable[10]) /*MMSignature::[]*/;
+    variable[9] = variable[10];
+    /* Register variable[10]: Result */
+    variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_syntax_base___Variable___stype(variable[10])(variable[10]) /*Variable::stype*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_static_type___MMType_____l( variable[9] /*orig_type*/)( variable[9] /*orig_type*/, variable[10]) /*MMType::<*/;
+    if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[10])))) { /*if*/
+      variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+      /* Register variable[11]: Once String constant */
+      if (once_value_302 != NIT_NULL) variable[11] = once_value_302;
+      else {
+        variable[11] = NEW_String_string___String___with_native(BOX_NativeString("/* check if p<"), TAG_Int(14)) /*new String*/;
+        once_value_302 = variable[11];
+      }
+      /* Register variable[11]: Result */
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[11]: Result */
+      variable[11] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
+      /* Register variable[11]: Result */
+      variable[11] = CALL_syntax_base___Variable___stype(variable[11])(variable[11]) /*Variable::stype*/;
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/) /*AbstractArray::add*/;
+      /* Register variable[11]: Once String constant */
+      if (once_value_303 != NIT_NULL) variable[11] = once_value_303;
+      else {
+        variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" with p:"), TAG_Int(8)) /*new String*/;
+        once_value_303 = variable[11];
+      }
+      /* Register variable[11]: Result */
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      variable[11] =  variable[9] /*orig_type*/ /* Ensure var: super-string element*/;
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/) /*AbstractArray::add*/;
+      /* Register variable[11]: Once String constant */
+      if (once_value_304 != NIT_NULL) variable[11] = once_value_304;
+      else {
+        variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
+        once_value_304 = variable[11];
+      }
+      /* Register variable[11]: Result */
+      /* Ensure var variable[11]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+      /* Register variable[10]: Result */
+      variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
+      CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
+      /* Register variable[10]: Result */
+      variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
+      /* Register variable[10]: Result */
+      variable[10] = CALL_syntax_base___Variable___stype(variable[10])(variable[10]) /*Variable::stype*/;
+      /* Register variable[11]: Result */
+      variable[11] = CALL_syntax_base___PParam___position( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::position*/;
+      /* Register variable[12]: Local variable */
+      variable[12] =  variable[3] /*params*/;
+      /* Register variable[13]: Local variable */
+      variable[13] = variable[11];
+      /* Register variable[14]: Method return value and escape marker */
+      /* Register variable[15]: Result */
+      variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[15]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[15])) { /* and */
+        /* Register variable[15]: Result */
+        variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
+        /* Register variable[15]: Result */
+        variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
+      }
+      /* Register variable[15]: Result */
+      if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[15]: Result */
+      variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
+      /* Register variable[15]: Result */
+      variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
+      variable[14] = variable[15];
+      goto return_label305;
+      return_label305: while(false);
+      /* Register variable[11]: Result */
+      variable[11] = variable[14];
+      CALL_compiling_methods___MMType___compile_type_check(variable[10])(variable[10],  variable[1] /*v*/, variable[11],  variable[7] /*ap*/,  variable[9] /*orig_type*/) /*MMType::compile_type_check*/;
+    }
+    /* Register variable[10]: Result */
+    variable[10] = CALL_syntax_base___PParam___position( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::position*/;
+    /* Register variable[11]: Local variable */
+    variable[11] =  variable[3] /*params*/;
+    /* Register variable[12]: Local variable */
+    variable[12] = variable[10];
+    /* Register variable[13]: Method return value and escape marker */
+    /* Register variable[14]: Result */
+    variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[14]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[14])) { /* and */
+      /* Register variable[14]: Result */
+      variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
+      /* Register variable[14]: Result */
+      variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
+    }
+    /* Register variable[14]: Result */
+    if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[14]: Result */
+    variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
+    /* Register variable[14]: Result */
+    variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
+    variable[13] = variable[14];
+    goto return_label306;
+    return_label306: while(false);
+    /* Register variable[10]: Result */
+    variable[10] = variable[13];
+    CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[8] /*cname*/, variable[10]) /*CompilerVisitor::add_assignment*/;
+    continue_301: while(0);
+    CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ListIterator::next*/;
+  }
+  break_301: while(0);
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___ASignature___n_closure_decls(variable[0])(variable[0]) /*ASignature::n_closure_decls*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_abstract_collection___Collection___length(variable[5])(variable[5]) /*List::length*/;
+  /* Register variable[5]: Result */
+  variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[5]) /*new Range[Int]*/;
+  /* Register variable[5]: For iterator */
+  variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[6]: For 'is_ok' result */
+    variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[6])) break; /*for*/
+    variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[7]: Local variable */
+    variable[7] = variable[6];
+    /* Register variable[8]: Local variable */
+    /* Register variable[9]: Result */
+    variable[9] = CALL_parser_nodes___ASignature___n_closure_decls(variable[0])(variable[0]) /*ASignature::n_closure_decls*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_abstract_collection___MapRead_____bra(variable[9])(variable[9],  variable[7] /*i*/) /*List::[]*/;
+    variable[8] = variable[9];
+    /* Register variable[9]: Local variable */
+    /* Register variable[10]: Result */
+    variable[10] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+    /* Register variable[11]: Result */
+    variable[11] = CALL_syntax_base___PClosureDecl___variable( variable[8] /*wd*/)( variable[8] /*wd*/) /*PClosureDecl::variable*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_compiling_methods___CFunctionContext___register_closurevariable(variable[10])(variable[10], variable[11]) /*CFunctionContext::register_closurevariable*/;
+    variable[9] = variable[10];
+    /* Register variable[10]: Result */
+    variable[10] = CALL_syntax_base___PClosureDecl___variable( variable[8] /*wd*/)( variable[8] /*wd*/) /*PClosureDecl::variable*/;
+    /* Register variable[11]: Result */
+    variable[11] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[11]: Result */
+    variable[11] = CALL_compiling_methods___NitMethodContext___method(variable[11])(variable[11]) /*NitMethodContext::method*/;
+    /* Register variable[11]: Result */
+    variable[11] = CALL_compiling_methods___MMMethod___closure_cname(variable[11])(variable[11],  variable[7] /*i*/) /*MMMethod::closure_cname*/;
+    CALL_compiling_methods___ClosureVariable___ctypename__eq(variable[10])(variable[10], variable[11]) /*ClosureVariable::ctypename=*/;
+    variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[11]: Once String constant */
+    if (once_value_308 != NIT_NULL) variable[11] = once_value_308;
+    else {
+      variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_308 = variable[11];
+    }
+    /* Register variable[11]: Result */
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Result */
+    variable[11] = CALL_static_type___MMSignature___arity( variable[2] /*orig_sig*/)( variable[2] /*orig_sig*/) /*MMSignature::arity*/;
+    /* Register variable[11]: Result */
+    variable[11] = TAG_Int(UNTAG_Int(variable[11])+UNTAG_Int( variable[7] /*i*/));
+    /* Register variable[12]: Local variable */
+    variable[12] =  variable[3] /*params*/;
+    /* Register variable[13]: Local variable */
+    variable[13] = variable[11];
+    /* Register variable[14]: Method return value and escape marker */
+    /* Register variable[15]: Result */
+    variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[15]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[15])) { /* and */
+      /* Register variable[15]: Result */
+      variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
+      /* Register variable[15]: Result */
+      variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
+    }
+    /* Register variable[15]: Result */
+    if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[15]: Result */
+    variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
+    /* Register variable[15]: Result */
+    variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
+    variable[14] = variable[15];
+    goto return_label309;
+    return_label309: while(false);
+    /* Register variable[11]: Result */
+    variable[11] = variable[14];
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Once String constant */
+    if (once_value_310 != NIT_NULL) variable[11] = once_value_310;
+    else {
+      variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_310 = variable[11];
+    }
+    /* Register variable[11]: Result */
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
+    CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[9] /*cname*/, variable[10]) /*CompilerVisitor::add_assignment*/;
+    continue_307: while(0);
+    CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*Iterator::next*/;
+  }
+  break_307: while(0);
+  return_label300: while(false);
+  tracehead = trace.prev;
+  return;
+}
+val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 716, LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside};
+    static val_t once_value_313 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_314 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_315 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_316 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_317 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_318 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_319 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_320 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_321 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_322 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_323 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_324 = NIT_NULL; /* Once value for string variable[9]*/
+  val_t variable[11];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = NEW_NitMethodContext_compiling_methods___NitMethodContext___init( variable[2] /*method*/) /*new NitMethodContext*/;
+  CALL_compiling_methods___CompilerVisitor___nmc__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::nmc=*/;
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_syntax_base___AMethPropdef___self_var(variable[0])(variable[0]) /*AMethPropdef::self_var*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CFunctionContext___register_variable(variable[7])(variable[7], variable[8]) /*CFunctionContext::register_variable*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Local variable */
+  variable[7] =  variable[3] /*params*/;
+  /* Register variable[8]: Local variable */
+  variable[8] =  TAG_Int(0);
+  /* Register variable[9]: Method return value and escape marker */
+  /* Register variable[10]: Result */
+  variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[10]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[10])) { /* and */
+    /* Register variable[10]: Result */
+    variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
+    /* Register variable[10]: Result */
+    variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
+  }
+  /* Register variable[10]: Result */
+  if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[10]: Result */
+  variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
+  /* Register variable[10]: Result */
+  variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
+  variable[9] = variable[10];
+  goto return_label312;
+  return_label312: while(false);
+  /* Register variable[7]: Result */
+  variable[7] = variable[9];
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[6] /*selfcname*/, variable[7]) /*CompilerVisitor::add_assignment*/;
+  CALL_abstract_collection___IndexedCollection___shift( variable[3] /*params*/)( variable[3] /*params*/) /*AbstractArray::shift*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[ParamVariable]*/ /* Ensure var: Literal array*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_syntax_base___AMethPropdef___self_var(variable[0])(variable[0]) /*AMethPropdef::self_var*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  CALL_compiling_methods___NitMethodContext___method_params__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::method_params=*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_parser_nodes___AMethPropdef___n_signature(variable[0])(variable[0]) /*AMethPropdef::n_signature*/;
+  /* Register variable[7]: Result */
+  variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] ==  NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[7])) { /*if*/
+    /* Register variable[7]: Local variable */
+    /* Register variable[8]: Result */
+    variable[8] = CALL_abstractmetamodel___MMLocalProperty___global( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::global*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[8])(variable[8]) /*MMGlobalProperty::intro*/;
+    variable[7] = variable[8];
+    /* Register variable[8]: Local variable */
+    /* Register variable[9]: Result */
+    variable[9] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_static_type___MMSignature___recv(variable[9])(variable[9]) /*MMSignature::recv*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_static_type___MMLocalProperty___signature_for( variable[7] /*orig_meth*/)( variable[7] /*orig_meth*/, variable[9]) /*MMLocalProperty::signature_for*/;
+    variable[8] = variable[9];
+    /* Register variable[9]: Result */
+    variable[9] = CALL_parser_nodes___AMethPropdef___n_signature(variable[0])(variable[0]) /*AMethPropdef::n_signature*/;
+    CALL_compiling_methods___PSignature___compile_parameters(variable[9])(variable[9],  variable[1] /*v*/,  variable[8] /*orig_sig*/,  variable[3] /*params*/) /*PSignature::compile_parameters*/;
+  }
+  /* Register variable[7]: Local variable */
+  variable[7] =  NIT_NULL /*null*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool((variable[0]==NIT_NULL) || VAL_ISA(variable[0], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_313 != NIT_NULL) variable[9] = once_value_313;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("VAL2OBJ("), TAG_Int(8)) /*new String*/;
+      once_value_313 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    variable[9] =  variable[6] /*selfcname*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_314 != NIT_NULL) variable[9] = once_value_314;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")->vft["), TAG_Int(7)) /*new String*/;
+      once_value_314 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_abstractmetamodel___MMLocalClass___global(variable[9])(variable[9]) /*MMLocalClass::global*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(variable[9])(variable[9]) /*MMGlobalClass::init_table_pos_id*/;
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_315 != NIT_NULL) variable[9] = once_value_315;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("].i"), TAG_Int(3)) /*new String*/;
+      once_value_315 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+    variable[7] = variable[8] /*itpos=*/;
+    variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_316 != NIT_NULL) variable[9] = once_value_316;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if (init_table["), TAG_Int(15)) /*new String*/;
+      once_value_316 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    variable[9] =  variable[7] /*itpos*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_317 != NIT_NULL) variable[9] = once_value_317;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("]) return;"), TAG_Int(10)) /*new String*/;
+      once_value_317 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  }
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_318 != NIT_NULL) variable[10] = once_value_318;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("return_label"), TAG_Int(12)) /*new String*/;
+    once_value_318 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_319 != NIT_NULL) variable[10] = once_value_319;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_319 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  CALL_compiling_methods___NitMethodContext___return_label__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::return_label=*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_320 != NIT_NULL) variable[10] = once_value_320;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Method return value and escape marker"), TAG_Int(37)) /*new String*/;
+    once_value_320 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CFunctionContext___get_var(variable[9])(variable[9], variable[10]) /*CFunctionContext::get_var*/;
+  CALL_compiling_methods___NitMethodContext___return_value__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::return_value=*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool((variable[0]==NIT_NULL) || VAL_ISA(variable[0], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    CALL_compiling_methods___CompilerVisitor___invoke_super_init_calls_after( variable[1] /*v*/)( variable[1] /*v*/,  NIT_NULL /*null*/) /*CompilerVisitor::invoke_super_init_calls_after*/;
+  }
+  /* Register variable[8]: Result */
+  variable[8] = CALL_parser_nodes___AConcreteMethPropdef___n_block(variable[0])(variable[0]) /*AConcreteMethPropdef::n_block*/;
+  CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::compile_stmt*/;
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_321 != NIT_NULL) variable[9] = once_value_321;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_321 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___NitMethodContext___return_label(variable[9])(variable[9]) /*NitMethodContext::return_label*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_322 != NIT_NULL) variable[9] = once_value_322;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)) /*new String*/;
+    once_value_322 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool((variable[0]==NIT_NULL) || VAL_ISA(variable[0], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_323 != NIT_NULL) variable[9] = once_value_323;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("init_table["), TAG_Int(11)) /*new String*/;
+      once_value_323 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    variable[9] =  variable[7] /*itpos*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_324 != NIT_NULL) variable[9] = once_value_324;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("] = 1;"), TAG_Int(6)) /*new String*/;
+      once_value_324 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  }
+  /* Register variable[8]: Local variable */
+  variable[8] =  NIT_NULL /*null*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_static_type___MMSignature___return_type(variable[9])(variable[9]) /*MMSignature::return_type*/;
+  /* Register variable[9]: Result */
+  variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[9] ==  NIT_NULL /*null*/) || ((variable[9] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[9])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[9], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[9])(variable[9],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[9])) { /*if*/
+    /* Register variable[9]: Result */
+    variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_compiling_methods___NitMethodContext___return_value(variable[9])(variable[9]) /*NitMethodContext::return_value*/;
+    variable[8] = variable[9] /*ret=*/;
+  }
+  CALL_compiling_methods___CompilerVisitor___nmc__eq( variable[1] /*v*/)( variable[1] /*v*/,  variable[5] /*old_nmc*/) /*CompilerVisitor::nmc=*/;
+  variable[4] =  variable[8] /*ret*/;
+  goto return_label311;
+  return_label311: while(false);
+  tracehead = trace.prev;
+  return variable[4];
+}
+val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 761, LOCATE_compiling_methods___ADeferredMethPropdef___do_compile_inside};
+  static val_t once_value_326 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_327 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_328 = NIT_NULL; /* Once value for string variable[5]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Once String constant */
+  if (once_value_326 != NIT_NULL) variable[5] = once_value_326;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Deferred method called\");"), TAG_Int(42)) /*new String*/;
+    once_value_326 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[0]) /*CompilerVisitor::printf_locate_error*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_327 != NIT_NULL) variable[5] = once_value_327;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("nit_exit(1);"), TAG_Int(12)) /*new String*/;
+    once_value_327 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMSignature___return_type(variable[5])(variable[5]) /*MMSignature::return_type*/;
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] ==  NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[5])) { /*if*/
+    /* Register variable[5]: Once String constant */
+    if (once_value_328 != NIT_NULL) variable[5] = once_value_328;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)) /*new String*/;
+      once_value_328 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    variable[4] = variable[5];
+    goto return_label325;
+  } else { /*if*/
+    variable[4] =  NIT_NULL /*null*/;
+    goto return_label325;
+  }
+  return_label325: while(false);
+  tracehead = trace.prev;
+  return variable[4];
+}
+val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 775, LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside};
+  static val_t once_value_330 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_331 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_332 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_333 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_334 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_335 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_336 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_337 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_338 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_342 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_343 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_344 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_345 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_346 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_347 = NIT_NULL; /* Once value for string variable[10]*/
+  val_t variable[17];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Local variable */
+  variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_330 != NIT_NULL) variable[7] = once_value_330;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_330 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___module( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::module*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMModule___name(variable[7])(variable[7]) /*MMModule::name*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_331 != NIT_NULL) variable[7] = once_value_331;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
+    once_value_331 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalClass___name(variable[7])(variable[7]) /*MMLocalClass::name*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_332 != NIT_NULL) variable[7] = once_value_332;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
+    once_value_332 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalClass___name(variable[7])(variable[7]) /*MMLocalClass::name*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_333 != NIT_NULL) variable[7] = once_value_333;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
+    once_value_333 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___name( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::name*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_334 != NIT_NULL) variable[7] = once_value_334;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
+    once_value_334 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_static_type___MMSignature___arity(variable[7])(variable[7]) /*MMSignature::arity*/;
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_335 != NIT_NULL) variable[7] = once_value_335;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_335 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = CALL_parser_nodes___AExternMethPropdef___n_extern(variable[0])(variable[0]) /*AExternMethPropdef::n_extern*/;
+  /* Register variable[6]: Result */
+  variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] ==  NIT_NULL /*null*/) || ((variable[6] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[6])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[6])(variable[6],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[6])) { /*if*/
+    /* Register variable[6]: Result */
+    variable[6] = CALL_parser_nodes___AExternMethPropdef___n_extern(variable[0])(variable[0]) /*AExternMethPropdef::n_extern*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_lexer___Token___text(variable[6])(variable[6]) /*Token::text*/;
+    variable[5] = variable[6] /*ename=*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_abstract_collection___Collection___length( variable[5] /*ename*/)( variable[5] /*ename*/) /*AbstractArrayRead::length*/;
+    /* Register variable[6]: Result */
+    variable[6] = TAG_Int(UNTAG_Int(variable[6])-UNTAG_Int( TAG_Int(2)));
+    /* Register variable[6]: Result */
+    variable[6] = CALL_string___AbstractString___substring( variable[5] /*ename*/)( variable[5] /*ename*/,  TAG_Int(1), variable[6]) /*AbstractString::substring*/;
+    variable[5] = variable[6] /*ename=*/;
+  }
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstract_collection___Collection___length( variable[3] /*params*/)( variable[3] /*params*/) /*AbstractArrayRead::length*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMSignature___arity( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::arity*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Int(UNTAG_Int(variable[8])+UNTAG_Int( TAG_Int(1)));
+  /* Register variable[7]: Result */
+  variable[7] = TAG_Bool((variable[7])!=(variable[8]));
+  if (UNTAG_Bool(variable[7])) { /*if*/
+    variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_336 != NIT_NULL) variable[8] = once_value_336;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString("par:"), TAG_Int(4)) /*new String*/;
+      once_value_336 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_abstract_collection___Collection___length( variable[3] /*params*/)( variable[3] /*params*/) /*AbstractArrayRead::length*/;
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_337 != NIT_NULL) variable[8] = once_value_337;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" sig:"), TAG_Int(5)) /*new String*/;
+      once_value_337 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_static_type___MMSignature___arity( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::arity*/;
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_338 != NIT_NULL) variable[8] = once_value_338;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_338 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Ensure var variable[8]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+    CALL_parser_prod___PNode___printl(variable[0])(variable[0], variable[7]) /*PNode::printl*/;
+  }
+  /* Register variable[7]: Local variable */
+  /* Register variable[8]: Result */
+  variable[8] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[7] = variable[8];
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMSignature___recv( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::recv*/;
+  /* Register variable[9]: Local variable */
+  variable[9] =  variable[3] /*params*/;
+  /* Register variable[10]: Local variable */
+  variable[10] =  TAG_Int(0);
+  /* Register variable[11]: Method return value and escape marker */
+  /* Register variable[12]: Result */
+  variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[12]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[12])) { /* and */
+    /* Register variable[12]: Result */
+    variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+    /* Register variable[12]: Result */
+    variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+  }
+  /* Register variable[12]: Result */
+  if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[12]: Result */
+  variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+  /* Register variable[12]: Result */
+  variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+  variable[11] = variable[12];
+  goto return_label339;
+  return_label339: while(false);
+  /* Register variable[9]: Result */
+  variable[9] = variable[11];
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_base___MMType___unboxtype(variable[8])(variable[8], variable[9]) /*MMType::unboxtype*/;
+  CALL_abstract_collection___SimpleCollection___add( variable[7] /*args*/)( variable[7] /*args*/, variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMSignature___arity( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::arity*/;
+  /* Register variable[8]: Result */
+  variable[8] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[8]) /*new Range[Int]*/;
+  /* Register variable[8]: For iterator */
+  variable[8] = CALL_abstract_collection___Collection___iterator(variable[8])(variable[8]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[9]: For 'is_ok' result */
+    variable[9] = CALL_abstract_collection___Iterator___is_ok(variable[8])(variable[8]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[9])) break; /*for*/
+    variable[9] = CALL_abstract_collection___Iterator___item(variable[8])(variable[8]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[10]: Local variable */
+    variable[10] = variable[9];
+    /* Register variable[11]: Result */
+    variable[11] = CALL_static_type___MMSignature_____bra( variable[6] /*sig*/)( variable[6] /*sig*/,  variable[10] /*i*/) /*MMSignature::[]*/;
+    /* Register variable[12]: Result */
+    variable[12] = TAG_Int(UNTAG_Int( variable[10] /*i*/)+UNTAG_Int( TAG_Int(1)));
+    /* Register variable[13]: Local variable */
+    variable[13] =  variable[3] /*params*/;
+    /* Register variable[14]: Local variable */
+    variable[14] = variable[12];
+    /* Register variable[15]: Method return value and escape marker */
+    /* Register variable[16]: Result */
+    variable[16] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[16]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[16])) { /* and */
+      /* Register variable[16]: Result */
+      variable[16] = ATTR_array___AbstractArrayRead____length(variable[13]) /*AbstractArrayRead::_length*/;
+      /* Register variable[16]: Result */
+      variable[16] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)<UNTAG_Int(variable[16]));
+    }
+    /* Register variable[16]: Result */
+    if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[16]: Result */
+    variable[16] = ATTR_array___Array____items(variable[13]) /*Array::_items*/;
+    /* Register variable[16]: Result */
+    variable[16] = UNBOX_NativeArray(variable[16])[UNTAG_Int( variable[14] /*index*/)];
+    variable[15] = variable[16];
+    goto return_label341;
+    return_label341: while(false);
+    /* Register variable[12]: Result */
+    variable[12] = variable[15];
+    /* Register variable[11]: Result */
+    variable[11] = CALL_compiling_base___MMType___unboxtype(variable[11])(variable[11], variable[12]) /*MMType::unboxtype*/;
+    CALL_abstract_collection___SimpleCollection___add( variable[7] /*args*/)( variable[7] /*args*/, variable[11]) /*AbstractArray::add*/;
+    continue_340: while(0);
+    CALL_abstract_collection___Iterator___next(variable[8])(variable[8]) /*Iterator::next*/;
+  }
+  break_340: while(0);
+  /* Register variable[8]: Local variable */
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_342 != NIT_NULL) variable[10] = once_value_342;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_342 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[5] /*ename*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_343 != NIT_NULL) variable[10] = once_value_343;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_343 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_344 != NIT_NULL) variable[10] = once_value_344;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_344 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Register variable[10]: Result */
+  variable[10] = CALL_string___Collection___join( variable[7] /*args*/)( variable[7] /*args*/, variable[10]) /*Collection::join*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_345 != NIT_NULL) variable[10] = once_value_345;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_345 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  variable[8] = variable[9];
+  /* Register variable[9]: Result */
+  variable[9] = CALL_static_type___MMSignature___return_type( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::return_type*/;
+  /* Register variable[9]: Result */
+  variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[9] ==  NIT_NULL /*null*/) || ((variable[9] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[9])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[9], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[9])(variable[9],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[9])) { /*if*/
+    /* Register variable[9]: Result */
+    variable[9] = CALL_static_type___MMSignature___return_type( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::return_type*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_compiling_base___MMType___boxtype(variable[9])(variable[9],  variable[8] /*s*/) /*MMType::boxtype*/;
+    variable[4] = variable[9];
+    goto return_label329;
+  } else { /*if*/
+    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_346 != NIT_NULL) variable[10] = once_value_346;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_346 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    variable[10] =  variable[8] /*s*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_347 != NIT_NULL) variable[10] = once_value_347;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_347 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
+    variable[4] =  NIT_NULL /*null*/;
+    goto return_label329;
+  }
+  return_label329: while(false);
+  tracehead = trace.prev;
+  return variable[4];
+}
+val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 802, LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside};
+  static val_t once_value_349; static int once_bool_349; /* Once value for variable[8]*/
+    static val_t once_value_350 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_351; static int once_bool_351; /* Once value for variable[8]*/
+      static val_t once_value_352 = NIT_NULL; /* Once value for string variable[8]*/
+      static val_t once_value_353 = NIT_NULL; /* Once value for string variable[9]*/
+      static val_t once_value_355 = NIT_NULL; /* Once value for string variable[9]*/
+      static val_t once_value_356; static int once_bool_356; /* Once value for variable[8]*/
+        static val_t once_value_357 = NIT_NULL; /* Once value for string variable[8]*/
+        static val_t once_value_358 = NIT_NULL; /* Once value for string variable[9]*/
+        static val_t once_value_360 = NIT_NULL; /* Once value for string variable[9]*/
+        static val_t once_value_361; static int once_bool_361; /* Once value for variable[8]*/
+          static val_t once_value_362 = NIT_NULL; /* Once value for string variable[8]*/
+          static val_t once_value_363 = NIT_NULL; /* Once value for string variable[9]*/
+          static val_t once_value_365 = NIT_NULL; /* Once value for string variable[9]*/
+          static val_t once_value_366; static int once_bool_366; /* Once value for variable[8]*/
+            static val_t once_value_367 = NIT_NULL; /* Once value for string variable[8]*/
+            static val_t once_value_368 = NIT_NULL; /* Once value for string variable[9]*/
+            static val_t once_value_370 = NIT_NULL; /* Once value for string variable[9]*/
+            static val_t once_value_371; static int once_bool_371; /* Once value for variable[8]*/
+              static val_t once_value_372 = NIT_NULL; /* Once value for string variable[8]*/
+              static val_t once_value_373 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_375 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_376; static int once_bool_376; /* Once value for variable[8]*/
+               static val_t once_value_377 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_378 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_380 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_381; static int once_bool_381; /* Once value for variable[8]*/
+               static val_t once_value_382 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_383 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_385 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_386; static int once_bool_386; /* Once value for variable[8]*/
+               static val_t once_value_387 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_388 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_390 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_392 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_393; static int once_bool_393; /* Once value for variable[8]*/
+               static val_t once_value_394 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_395 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_397 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_399 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_400; static int once_bool_400; /* Once value for variable[8]*/
+               static val_t once_value_401 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_402 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_404 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_406 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_407; static int once_bool_407; /* Once value for variable[8]*/
+               static val_t once_value_408 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_409 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_411 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_413 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_414; static int once_bool_414; /* Once value for variable[8]*/
+               static val_t once_value_415 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_416 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_418 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_420 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_421; static int once_bool_421; /* Once value for variable[8]*/
+               static val_t once_value_422 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_423 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_425 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_427 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_428; static int once_bool_428; /* Once value for variable[8]*/
+               static val_t once_value_429 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_430 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_432 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_434 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_435; static int once_bool_435; /* Once value for variable[8]*/
+               static val_t once_value_436 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_437 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_439 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_441 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_442; static int once_bool_442; /* Once value for variable[8]*/
+               static val_t once_value_443 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_444 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_446 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_448 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_449; static int once_bool_449; /* Once value for variable[8]*/
+               static val_t once_value_450 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_451 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_453 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_455 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_456; static int once_bool_456; /* Once value for variable[8]*/
+               static val_t once_value_457 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_458 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_460 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_462 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_463; static int once_bool_463; /* Once value for variable[8]*/
+               static val_t once_value_464 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_465 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_467 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_469 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_470; static int once_bool_470; /* Once value for variable[8]*/
+               static val_t once_value_471 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_472 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_474 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_476 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_477; static int once_bool_477; /* Once value for variable[8]*/
+      static val_t once_value_478 = NIT_NULL; /* Once value for string variable[8]*/
+      static val_t once_value_479; static int once_bool_479; /* Once value for variable[8]*/
+        static val_t once_value_480 = NIT_NULL; /* Once value for string variable[8]*/
+        static val_t once_value_481 = NIT_NULL; /* Once value for string variable[9]*/
+        static val_t once_value_483 = NIT_NULL; /* Once value for string variable[9]*/
+        static val_t once_value_484; static int once_bool_484; /* Once value for variable[8]*/
+          static val_t once_value_485 = NIT_NULL; /* Once value for string variable[8]*/
+          static val_t once_value_486 = NIT_NULL; /* Once value for string variable[9]*/
+          static val_t once_value_488 = NIT_NULL; /* Once value for string variable[9]*/
+          static val_t once_value_489; static int once_bool_489; /* Once value for variable[8]*/
+            static val_t once_value_490 = NIT_NULL; /* Once value for string variable[8]*/
+            static val_t once_value_491 = NIT_NULL; /* Once value for string variable[9]*/
+            static val_t once_value_493 = NIT_NULL; /* Once value for string variable[9]*/
+            static val_t once_value_494; static int once_bool_494; /* Once value for variable[8]*/
+              static val_t once_value_495 = NIT_NULL; /* Once value for string variable[8]*/
+              static val_t once_value_496 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_498 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_499; static int once_bool_499; /* Once value for variable[8]*/
+               static val_t once_value_500 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_501 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_503 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_505 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_506; static int once_bool_506; /* Once value for variable[8]*/
+               static val_t once_value_507 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_508 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_510 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_512 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_513; static int once_bool_513; /* Once value for variable[8]*/
+               static val_t once_value_514 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_515 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_517 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_519 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_520; static int once_bool_520; /* Once value for variable[8]*/
+               static val_t once_value_521 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_522 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_524 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_526 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_527; static int once_bool_527; /* Once value for variable[8]*/
+               static val_t once_value_528 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_529 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_531 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_533 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_534; static int once_bool_534; /* Once value for variable[8]*/
+               static val_t once_value_535 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_536 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_538 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_540 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_541; static int once_bool_541; /* Once value for variable[8]*/
+               static val_t once_value_542 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_543 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_545 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_547 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_548; static int once_bool_548; /* Once value for variable[8]*/
+               static val_t once_value_549 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_550 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_552 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_554 = NIT_NULL; /* Once value for string variable[9]*/
+      static val_t once_value_555; static int once_bool_555; /* Once value for variable[8]*/
+        static val_t once_value_556 = NIT_NULL; /* Once value for string variable[8]*/
+        static val_t once_value_557; static int once_bool_557; /* Once value for variable[8]*/
+          static val_t once_value_558 = NIT_NULL; /* Once value for string variable[8]*/
+          static val_t once_value_559 = NIT_NULL; /* Once value for string variable[9]*/
+          static val_t once_value_561 = NIT_NULL; /* Once value for string variable[9]*/
+          static val_t once_value_562; static int once_bool_562; /* Once value for variable[8]*/
+            static val_t once_value_563 = NIT_NULL; /* Once value for string variable[8]*/
+            static val_t once_value_564 = NIT_NULL; /* Once value for string variable[9]*/
+            static val_t once_value_566 = NIT_NULL; /* Once value for string variable[9]*/
+            static val_t once_value_567; static int once_bool_567; /* Once value for variable[8]*/
+              static val_t once_value_568 = NIT_NULL; /* Once value for string variable[8]*/
+              static val_t once_value_569 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_571 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_572; static int once_bool_572; /* Once value for variable[8]*/
+               static val_t once_value_573 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_574 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_576 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_577; static int once_bool_577; /* Once value for variable[8]*/
+               static val_t once_value_578 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_579 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_581 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_582; static int once_bool_582; /* Once value for variable[8]*/
+               static val_t once_value_583 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_584 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_586 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_587; static int once_bool_587; /* Once value for variable[8]*/
+               static val_t once_value_588 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_589 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_591 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_592; static int once_bool_592; /* Once value for variable[8]*/
+               static val_t once_value_593 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_594 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_596 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_598 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_599; static int once_bool_599; /* Once value for variable[8]*/
+               static val_t once_value_600 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_601 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_603 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_605 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_606; static int once_bool_606; /* Once value for variable[8]*/
+               static val_t once_value_607 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_608 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_610 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_612 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_613; static int once_bool_613; /* Once value for variable[8]*/
+               static val_t once_value_614 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_615 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_617 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_619 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_620; static int once_bool_620; /* Once value for variable[8]*/
+               static val_t once_value_621 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_622 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_624 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_626 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_627; static int once_bool_627; /* Once value for variable[8]*/
+               static val_t once_value_628 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_629 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_631 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_633 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_634; static int once_bool_634; /* Once value for variable[8]*/
+               static val_t once_value_635 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_636 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_638 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_640 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_641; static int once_bool_641; /* Once value for variable[8]*/
+               static val_t once_value_642 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_643 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_645 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_647 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_648; static int once_bool_648; /* Once value for variable[8]*/
+               static val_t once_value_649 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_650 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_652 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_654 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_655; static int once_bool_655; /* Once value for variable[8]*/
+               static val_t once_value_656 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_657 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_659 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_661 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_662; static int once_bool_662; /* Once value for variable[8]*/
+               static val_t once_value_663 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_664 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_666 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_668 = NIT_NULL; /* Once value for string variable[9]*/
+        static val_t once_value_669; static int once_bool_669; /* Once value for variable[8]*/
+          static val_t once_value_670 = NIT_NULL; /* Once value for string variable[8]*/
+          static val_t once_value_671; static int once_bool_671; /* Once value for variable[8]*/
+            static val_t once_value_672 = NIT_NULL; /* Once value for string variable[8]*/
+            static val_t once_value_673 = NIT_NULL; /* Once value for string variable[9]*/
+            static val_t once_value_675 = NIT_NULL; /* Once value for string variable[9]*/
+            static val_t once_value_676; static int once_bool_676; /* Once value for variable[8]*/
+              static val_t once_value_677 = NIT_NULL; /* Once value for string variable[8]*/
+              static val_t once_value_678 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_680 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_681; static int once_bool_681; /* Once value for variable[8]*/
+               static val_t once_value_682 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_683 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_685 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_686; static int once_bool_686; /* Once value for variable[8]*/
+               static val_t once_value_687 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_688 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_690 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_691; static int once_bool_691; /* Once value for variable[8]*/
+               static val_t once_value_692 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_693 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_695 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_696; static int once_bool_696; /* Once value for variable[8]*/
+               static val_t once_value_697 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_698 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_700 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_702 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_703; static int once_bool_703; /* Once value for variable[8]*/
+               static val_t once_value_704 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_705 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_707 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_709 = NIT_NULL; /* Once value for string variable[9]*/
+          static val_t once_value_710; static int once_bool_710; /* Once value for variable[8]*/
+            static val_t once_value_711 = NIT_NULL; /* Once value for string variable[8]*/
+            static val_t once_value_712; static int once_bool_712; /* Once value for variable[8]*/
+              static val_t once_value_713 = NIT_NULL; /* Once value for string variable[8]*/
+              static val_t once_value_714 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_716 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_717; static int once_bool_717; /* Once value for variable[8]*/
+               static val_t once_value_718 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_719 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_721 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_723 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_724; static int once_bool_724; /* Once value for variable[8]*/
+               static val_t once_value_725 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_726 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_728 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_730 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_732 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_733; static int once_bool_733; /* Once value for variable[8]*/
+               static val_t once_value_734 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_735 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_737 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_739 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_741 = NIT_NULL; /* Once value for string variable[9]*/
+            static val_t once_value_742; static int once_bool_742; /* Once value for variable[8]*/
+              static val_t once_value_743 = NIT_NULL; /* Once value for string variable[8]*/
+              static val_t once_value_744; static int once_bool_744; /* Once value for variable[8]*/
+               static val_t once_value_745 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_746 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_748 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_749; static int once_bool_749; /* Once value for variable[8]*/
+               static val_t once_value_750 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_751 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_753 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_754; static int once_bool_754; /* Once value for variable[8]*/
+               static val_t once_value_755 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_756 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_758 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_760 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_761; static int once_bool_761; /* Once value for variable[8]*/
+               static val_t once_value_762 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_763 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_765 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_767 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_769 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_770; static int once_bool_770; /* Once value for variable[8]*/
+               static val_t once_value_771 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_772 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_774 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_776 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_778 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_780 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_782 = NIT_NULL; /* Once value for string variable[9]*/
+              static val_t once_value_783; static int once_bool_783; /* Once value for variable[8]*/
+               static val_t once_value_784 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_785 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_787 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_788; static int once_bool_788; /* Once value for variable[8]*/
+               static val_t once_value_789 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_790 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_791; static int once_bool_791; /* Once value for variable[8]*/
+               static val_t once_value_792 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_793 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_795 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_797 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_798; static int once_bool_798; /* Once value for variable[8]*/
+               static val_t once_value_799 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_800 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_802 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_803; static int once_bool_803; /* Once value for variable[8]*/
+               static val_t once_value_804 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_805 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_807 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_808; static int once_bool_808; /* Once value for variable[8]*/
+               static val_t once_value_809 = NIT_NULL; /* Once value for string variable[8]*/
+               static val_t once_value_810 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_812 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_813 = NIT_NULL; /* Once value for string variable[9]*/
+               static val_t once_value_814 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_815 = NIT_NULL; /* Once value for string variable[8]*/
+  val_t variable[13];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalClass___name(variable[6])(variable[6]) /*MMLocalClass::name*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_abstractmetamodel___MMLocalProperty___name( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::name*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Local variable */
+  variable[7] =  NIT_NULL /*null*/;
+  /* Register variable[8]: Once expression result */
+  if (once_bool_349) variable[8] = once_value_349;
+  else {
+    /* Register variable[8]: Once String constant */
+    if (once_value_350 != NIT_NULL) variable[8] = once_value_350;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)) /*new String*/;
+      once_value_350 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    /* Register variable[8]: Result */
+    variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+    once_value_349 = variable[8];
+    once_bool_349 = true;
+  }
+  /* Register variable[8]: Result */
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    /* Register variable[8]: Once expression result */
+    if (once_bool_351) variable[8] = once_value_351;
+    else {
+      /* Register variable[8]: Once String constant */
+      if (once_value_352 != NIT_NULL) variable[8] = once_value_352;
+      else {
+        variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
+        once_value_352 = variable[8];
+      }
+      /* Register variable[8]: Result */
+      /* Register variable[8]: Result */
+      variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+      once_value_351 = variable[8];
+      once_bool_351 = true;
+    }
+    /* Register variable[8]: Result */
+    /* Register variable[8]: Result */
+    variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+    if (UNTAG_Bool(variable[8])) { /*if*/
+      variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+      /* Register variable[9]: Once String constant */
+      if (once_value_353 != NIT_NULL) variable[9] = once_value_353;
+      else {
+        variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+        once_value_353 = variable[9];
+      }
+      /* Register variable[9]: Result */
+      /* Ensure var variable[9]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+      /* Register variable[9]: Local variable */
+      variable[9] =  variable[3] /*p*/;
+      /* Register variable[10]: Local variable */
+      variable[10] =  TAG_Int(0);
+      /* Register variable[11]: Method return value and escape marker */
+      /* Register variable[12]: Result */
+      variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[12]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[12])) { /* and */
+        /* Register variable[12]: Result */
+        variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+        /* Register variable[12]: Result */
+        variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+      }
+      /* Register variable[12]: Result */
+      if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[12]: Result */
+      variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+      /* Register variable[12]: Result */
+      variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+      variable[11] = variable[12];
+      goto return_label354;
+      return_label354: while(false);
+      /* Register variable[9]: Result */
+      variable[9] = variable[11];
+      /* Ensure var variable[9]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+      /* Register variable[9]: Once String constant */
+      if (once_value_355 != NIT_NULL) variable[9] = once_value_355;
+      else {
+        variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+        once_value_355 = variable[9];
+      }
+      /* Register variable[9]: Result */
+      /* Ensure var variable[9]: super-string element*/
+      CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+      /* Register variable[8]: Result */
+      variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+      variable[7] = variable[8] /*s=*/;
+    } else { /*if*/
+      /* Register variable[8]: Once expression result */
+      if (once_bool_356) variable[8] = once_value_356;
+      else {
+        /* Register variable[8]: Once String constant */
+        if (once_value_357 != NIT_NULL) variable[8] = once_value_357;
+        else {
+          variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)) /*new String*/;
+          once_value_357 = variable[8];
+        }
+        /* Register variable[8]: Result */
+        /* Register variable[8]: Result */
+        variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+        once_value_356 = variable[8];
+        once_bool_356 = true;
+      }
+      /* Register variable[8]: Result */
+      /* Register variable[8]: Result */
+      variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+      if (UNTAG_Bool(variable[8])) { /*if*/
+        variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+        /* Register variable[9]: Once String constant */
+        if (once_value_358 != NIT_NULL) variable[9] = once_value_358;
+        else {
+          variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(-UNTAG_Int("), TAG_Int(19)) /*new String*/;
+          once_value_358 = variable[9];
+        }
+        /* Register variable[9]: Result */
+        /* Ensure var variable[9]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+        /* Register variable[9]: Local variable */
+        variable[9] =  variable[3] /*p*/;
+        /* Register variable[10]: Local variable */
+        variable[10] =  TAG_Int(0);
+        /* Register variable[11]: Method return value and escape marker */
+        /* Register variable[12]: Result */
+        variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+        /* Ensure var variable[12]: Left 'and' operand*/
+        if (UNTAG_Bool(variable[12])) { /* and */
+          /* Register variable[12]: Result */
+          variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+          /* Register variable[12]: Result */
+          variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+        }
+        /* Register variable[12]: Result */
+        if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+        /* Register variable[12]: Result */
+        variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+        /* Register variable[12]: Result */
+        variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+        variable[11] = variable[12];
+        goto return_label359;
+        return_label359: while(false);
+        /* Register variable[9]: Result */
+        variable[9] = variable[11];
+        /* Ensure var variable[9]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+        /* Register variable[9]: Once String constant */
+        if (once_value_360 != NIT_NULL) variable[9] = once_value_360;
+        else {
+          variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+          once_value_360 = variable[9];
+        }
+        /* Register variable[9]: Result */
+        /* Ensure var variable[9]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+        /* Register variable[8]: Result */
+        variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+        variable[7] = variable[8] /*s=*/;
+      } else { /*if*/
+        /* Register variable[8]: Once expression result */
+        if (once_bool_361) variable[8] = once_value_361;
+        else {
+          /* Register variable[8]: Once String constant */
+          if (once_value_362 != NIT_NULL) variable[8] = once_value_362;
+          else {
+            variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)) /*new String*/;
+            once_value_362 = variable[8];
+          }
+          /* Register variable[8]: Result */
+          /* Register variable[8]: Result */
+          variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+          once_value_361 = variable[8];
+          once_bool_361 = true;
+        }
+        /* Register variable[8]: Result */
+        /* Register variable[8]: Result */
+        variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+        if (UNTAG_Bool(variable[8])) { /*if*/
+          variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+          /* Register variable[9]: Once String constant */
+          if (once_value_363 != NIT_NULL) variable[9] = once_value_363;
+          else {
+            variable[9] = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%ld\\n\", UNTAG_Int("), TAG_Int(26)) /*new String*/;
+            once_value_363 = variable[9];
+          }
+          /* Register variable[9]: Result */
+          /* Ensure var variable[9]: super-string element*/
+          CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+          /* Register variable[9]: Local variable */
+          variable[9] =  variable[3] /*p*/;
+          /* Register variable[10]: Local variable */
+          variable[10] =  TAG_Int(0);
+          /* Register variable[11]: Method return value and escape marker */
+          /* Register variable[12]: Result */
+          variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+          /* Ensure var variable[12]: Left 'and' operand*/
+          if (UNTAG_Bool(variable[12])) { /* and */
+            /* Register variable[12]: Result */
+            variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+            /* Register variable[12]: Result */
+            variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+          }
+          /* Register variable[12]: Result */
+          if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+          /* Register variable[12]: Result */
+          variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+          /* Register variable[12]: Result */
+          variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+          variable[11] = variable[12];
+          goto return_label364;
+          return_label364: while(false);
+          /* Register variable[9]: Result */
+          variable[9] = variable[11];
+          /* Ensure var variable[9]: super-string element*/
+          CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+          /* Register variable[9]: Once String constant */
+          if (once_value_365 != NIT_NULL) variable[9] = once_value_365;
+          else {
+            variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
+            once_value_365 = variable[9];
+          }
+          /* Register variable[9]: Result */
+          /* Ensure var variable[9]: super-string element*/
+          CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+          /* Register variable[8]: Result */
+          variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+          CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+        } else { /*if*/
+          /* Register variable[8]: Once expression result */
+          if (once_bool_366) variable[8] = once_value_366;
+          else {
+            /* Register variable[8]: Once String constant */
+            if (once_value_367 != NIT_NULL) variable[8] = once_value_367;
+            else {
+              variable[8] = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)) /*new String*/;
+              once_value_367 = variable[8];
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+            once_value_366 = variable[8];
+            once_bool_366 = true;
+          }
+          /* Register variable[8]: Result */
+          /* Register variable[8]: Result */
+          variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+          if (UNTAG_Bool(variable[8])) { /*if*/
+            variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+            /* Register variable[9]: Once String constant */
+            if (once_value_368 != NIT_NULL) variable[9] = once_value_368;
+            else {
+              variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Int("), TAG_Int(19)) /*new String*/;
+              once_value_368 = variable[9];
+            }
+            /* Register variable[9]: Result */
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[9]: Local variable */
+            variable[9] =  variable[3] /*p*/;
+            /* Register variable[10]: Local variable */
+            variable[10] =  TAG_Int(0);
+            /* Register variable[11]: Method return value and escape marker */
+            /* Register variable[12]: Result */
+            variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+            /* Ensure var variable[12]: Left 'and' operand*/
+            if (UNTAG_Bool(variable[12])) { /* and */
+              /* Register variable[12]: Result */
+              variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+              /* Register variable[12]: Result */
+              variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+            }
+            /* Register variable[12]: Result */
+            if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+            /* Register variable[12]: Result */
+            variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+            /* Register variable[12]: Result */
+            variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+            variable[11] = variable[12];
+            goto return_label369;
+            return_label369: while(false);
+            /* Register variable[9]: Result */
+            variable[9] = variable[11];
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[9]: Once String constant */
+            if (once_value_370 != NIT_NULL) variable[9] = once_value_370;
+            else {
+              variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+              once_value_370 = variable[9];
+            }
+            /* Register variable[9]: Result */
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[8]: Result */
+            variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+            variable[7] = variable[8] /*s=*/;
+          } else { /*if*/
+            /* Register variable[8]: Once expression result */
+            if (once_bool_371) variable[8] = once_value_371;
+            else {
+              /* Register variable[8]: Once String constant */
+              if (once_value_372 != NIT_NULL) variable[8] = once_value_372;
+              else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)) /*new String*/;
+               once_value_372 = variable[8];
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+              once_value_371 = variable[8];
+              once_bool_371 = true;
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+            if (UNTAG_Bool(variable[8])) { /*if*/
+              variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_373 != NIT_NULL) variable[9] = once_value_373;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
+               once_value_373 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Local variable */
+              variable[9] =  variable[3] /*p*/;
+              /* Register variable[10]: Local variable */
+              variable[10] =  TAG_Int(0);
+              /* Register variable[11]: Method return value and escape marker */
+              /* Register variable[12]: Result */
+              variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+              /* Ensure var variable[12]: Left 'and' operand*/
+              if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+              }
+              /* Register variable[12]: Result */
+              if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+              /* Register variable[12]: Result */
+              variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+              /* Register variable[12]: Result */
+              variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+              variable[11] = variable[12];
+              goto return_label374;
+              return_label374: while(false);
+              /* Register variable[9]: Result */
+              variable[9] = variable[11];
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_375 != NIT_NULL) variable[9] = once_value_375;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)) /*new String*/;
+               once_value_375 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[8]: Result */
+              variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+              variable[7] = variable[8] /*s=*/;
+            } else { /*if*/
+              /* Register variable[8]: Once expression result */
+              if (once_bool_376) variable[8] = once_value_376;
+              else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_377 != NIT_NULL) variable[8] = once_value_377;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)) /*new String*/;
+               once_value_377 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_376 = variable[8];
+               once_bool_376 = true;
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+              if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_378 != NIT_NULL) variable[9] = once_value_378;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
+               once_value_378 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label379;
+               return_label379: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_380 != NIT_NULL) variable[9] = once_value_380;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)) /*new String*/;
+               once_value_380 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+              } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_381) variable[8] = once_value_381;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_382 != NIT_NULL) variable[8] = once_value_382;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_f"), TAG_Int(4)) /*new String*/;
+               once_value_382 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_381 = variable[8];
+               once_bool_381 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_383 != NIT_NULL) variable[9] = once_value_383;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float((float)UNTAG_Int("), TAG_Int(27)) /*new String*/;
+               once_value_383 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label384;
+               return_label384: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_385 != NIT_NULL) variable[9] = once_value_385;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_385 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_386) variable[8] = once_value_386;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_387 != NIT_NULL) variable[8] = once_value_387;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)) /*new String*/;
+               once_value_387 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_386 = variable[8];
+               once_bool_386 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_388 != NIT_NULL) variable[9] = once_value_388;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
+               once_value_388 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label389;
+               return_label389: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_390 != NIT_NULL) variable[9] = once_value_390;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_390 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label391;
+               return_label391: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_392 != NIT_NULL) variable[9] = once_value_392;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_392 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_393) variable[8] = once_value_393;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_394 != NIT_NULL) variable[8] = once_value_394;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)) /*new String*/;
+               once_value_394 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_393 = variable[8];
+               once_bool_393 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_395 != NIT_NULL) variable[9] = once_value_395;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
+               once_value_395 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label396;
+               return_label396: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_397 != NIT_NULL) variable[9] = once_value_397;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_397 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label398;
+               return_label398: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_399 != NIT_NULL) variable[9] = once_value_399;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_399 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_400) variable[8] = once_value_400;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_401 != NIT_NULL) variable[8] = once_value_401;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)) /*new String*/;
+               once_value_401 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_400 = variable[8];
+               once_bool_400 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_402 != NIT_NULL) variable[9] = once_value_402;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
+               once_value_402 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label403;
+               return_label403: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_404 != NIT_NULL) variable[9] = once_value_404;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")*UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_404 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label405;
+               return_label405: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_406 != NIT_NULL) variable[9] = once_value_406;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_406 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_407) variable[8] = once_value_407;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_408 != NIT_NULL) variable[8] = once_value_408;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
+               once_value_408 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_407 = variable[8];
+               once_bool_407 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_409 != NIT_NULL) variable[9] = once_value_409;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
+               once_value_409 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label410;
+               return_label410: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_411 != NIT_NULL) variable[9] = once_value_411;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")/UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_411 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label412;
+               return_label412: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_413 != NIT_NULL) variable[9] = once_value_413;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_413 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_414) variable[8] = once_value_414;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_415 != NIT_NULL) variable[8] = once_value_415;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)) /*new String*/;
+               once_value_415 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_414 = variable[8];
+               once_bool_414 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_416 != NIT_NULL) variable[9] = once_value_416;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
+               once_value_416 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label417;
+               return_label417: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_418 != NIT_NULL) variable[9] = once_value_418;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")%UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_418 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label419;
+               return_label419: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_420 != NIT_NULL) variable[9] = once_value_420;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_420 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_421) variable[8] = once_value_421;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_422 != NIT_NULL) variable[8] = once_value_422;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)) /*new String*/;
+               once_value_422 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_421 = variable[8];
+               once_bool_421 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_423 != NIT_NULL) variable[9] = once_value_423;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)) /*new String*/;
+               once_value_423 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label424;
+               return_label424: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_425 != NIT_NULL) variable[9] = once_value_425;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_425 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label426;
+               return_label426: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_427 != NIT_NULL) variable[9] = once_value_427;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_427 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_428) variable[8] = once_value_428;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_429 != NIT_NULL) variable[8] = once_value_429;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)) /*new String*/;
+               once_value_429 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_428 = variable[8];
+               once_bool_428 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_430 != NIT_NULL) variable[9] = once_value_430;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)) /*new String*/;
+               once_value_430 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label431;
+               return_label431: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_432 != NIT_NULL) variable[9] = once_value_432;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_432 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label433;
+               return_label433: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_434 != NIT_NULL) variable[9] = once_value_434;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_434 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_435) variable[8] = once_value_435;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_436 != NIT_NULL) variable[8] = once_value_436;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)) /*new String*/;
+               once_value_436 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_435 = variable[8];
+               once_bool_435 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_437 != NIT_NULL) variable[9] = once_value_437;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)) /*new String*/;
+               once_value_437 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label438;
+               return_label438: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_439 != NIT_NULL) variable[9] = once_value_439;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<=UNTAG_Int("), TAG_Int(13)) /*new String*/;
+               once_value_439 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label440;
+               return_label440: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_441 != NIT_NULL) variable[9] = once_value_441;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_441 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_442) variable[8] = once_value_442;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_443 != NIT_NULL) variable[8] = once_value_443;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)) /*new String*/;
+               once_value_443 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_442 = variable[8];
+               once_bool_442 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_444 != NIT_NULL) variable[9] = once_value_444;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)) /*new String*/;
+               once_value_444 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label445;
+               return_label445: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_446 != NIT_NULL) variable[9] = once_value_446;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>=UNTAG_Int("), TAG_Int(13)) /*new String*/;
+               once_value_446 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label447;
+               return_label447: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_448 != NIT_NULL) variable[9] = once_value_448;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_448 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_449) variable[8] = once_value_449;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_450 != NIT_NULL) variable[8] = once_value_450;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("lshift"), TAG_Int(6)) /*new String*/;
+               once_value_450 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_449 = variable[8];
+               once_bool_449 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_451 != NIT_NULL) variable[9] = once_value_451;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
+               once_value_451 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label452;
+               return_label452: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_453 != NIT_NULL) variable[9] = once_value_453;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<<UNTAG_Int("), TAG_Int(13)) /*new String*/;
+               once_value_453 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label454;
+               return_label454: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_455 != NIT_NULL) variable[9] = once_value_455;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_455 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_456) variable[8] = once_value_456;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_457 != NIT_NULL) variable[8] = once_value_457;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("rshift"), TAG_Int(6)) /*new String*/;
+               once_value_457 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_456 = variable[8];
+               once_bool_456 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_458 != NIT_NULL) variable[9] = once_value_458;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
+               once_value_458 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label459;
+               return_label459: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_460 != NIT_NULL) variable[9] = once_value_460;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>>UNTAG_Int("), TAG_Int(13)) /*new String*/;
+               once_value_460 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label461;
+               return_label461: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_462 != NIT_NULL) variable[9] = once_value_462;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_462 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_463) variable[8] = once_value_463;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_464 != NIT_NULL) variable[8] = once_value_464;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
+               once_value_464 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_463 = variable[8];
+               once_bool_463 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_465 != NIT_NULL) variable[9] = once_value_465;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
+               once_value_465 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label466;
+               return_label466: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_467 != NIT_NULL) variable[9] = once_value_467;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)) /*new String*/;
+               once_value_467 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label468;
+               return_label468: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_469 != NIT_NULL) variable[9] = once_value_469;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_469 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_470) variable[8] = once_value_470;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_471 != NIT_NULL) variable[8] = once_value_471;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)) /*new String*/;
+               once_value_471 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_470 = variable[8];
+               once_bool_470 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_472 != NIT_NULL) variable[9] = once_value_472;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
+               once_value_472 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label473;
+               return_label473: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_474 != NIT_NULL) variable[9] = once_value_474;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)) /*new String*/;
+               once_value_474 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label475;
+               return_label475: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_476 != NIT_NULL) variable[9] = once_value_476;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_476 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+              }
+            }
+          }
+        }
+      }
+    }
+  } else { /*if*/
+    /* Register variable[8]: Once expression result */
+    if (once_bool_477) variable[8] = once_value_477;
+    else {
+      /* Register variable[8]: Once String constant */
+      if (once_value_478 != NIT_NULL) variable[8] = once_value_478;
+      else {
+        variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)) /*new String*/;
+        once_value_478 = variable[8];
+      }
+      /* Register variable[8]: Result */
+      /* Register variable[8]: Result */
+      variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+      once_value_477 = variable[8];
+      once_bool_477 = true;
+    }
+    /* Register variable[8]: Result */
+    /* Register variable[8]: Result */
+    variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
+    if (UNTAG_Bool(variable[8])) { /*if*/
+      /* Register variable[8]: Once expression result */
+      if (once_bool_479) variable[8] = once_value_479;
+      else {
+        /* Register variable[8]: Once String constant */
+        if (once_value_480 != NIT_NULL) variable[8] = once_value_480;
+        else {
+          variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
+          once_value_480 = variable[8];
+        }
+        /* Register variable[8]: Result */
+        /* Register variable[8]: Result */
+        variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+        once_value_479 = variable[8];
+        once_bool_479 = true;
+      }
+      /* Register variable[8]: Result */
+      /* Register variable[8]: Result */
+      variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+      if (UNTAG_Bool(variable[8])) { /*if*/
+        variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+        /* Register variable[9]: Once String constant */
+        if (once_value_481 != NIT_NULL) variable[9] = once_value_481;
+        else {
+          variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)) /*new String*/;
+          once_value_481 = variable[9];
+        }
+        /* Register variable[9]: Result */
+        /* Ensure var variable[9]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+        /* Register variable[9]: Local variable */
+        variable[9] =  variable[3] /*p*/;
+        /* Register variable[10]: Local variable */
+        variable[10] =  TAG_Int(0);
+        /* Register variable[11]: Method return value and escape marker */
+        /* Register variable[12]: Result */
+        variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+        /* Ensure var variable[12]: Left 'and' operand*/
+        if (UNTAG_Bool(variable[12])) { /* and */
+          /* Register variable[12]: Result */
+          variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+          /* Register variable[12]: Result */
+          variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+        }
+        /* Register variable[12]: Result */
+        if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+        /* Register variable[12]: Result */
+        variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+        /* Register variable[12]: Result */
+        variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+        variable[11] = variable[12];
+        goto return_label482;
+        return_label482: while(false);
+        /* Register variable[9]: Result */
+        variable[9] = variable[11];
+        /* Ensure var variable[9]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+        /* Register variable[9]: Once String constant */
+        if (once_value_483 != NIT_NULL) variable[9] = once_value_483;
+        else {
+          variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+          once_value_483 = variable[9];
+        }
+        /* Register variable[9]: Result */
+        /* Ensure var variable[9]: super-string element*/
+        CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+        /* Register variable[8]: Result */
+        variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+        variable[7] = variable[8] /*s=*/;
+      } else { /*if*/
+        /* Register variable[8]: Once expression result */
+        if (once_bool_484) variable[8] = once_value_484;
+        else {
+          /* Register variable[8]: Once String constant */
+          if (once_value_485 != NIT_NULL) variable[8] = once_value_485;
+          else {
+            variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)) /*new String*/;
+            once_value_485 = variable[8];
+          }
+          /* Register variable[8]: Result */
+          /* Register variable[8]: Result */
+          variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+          once_value_484 = variable[8];
+          once_bool_484 = true;
+        }
+        /* Register variable[8]: Result */
+        /* Register variable[8]: Result */
+        variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+        if (UNTAG_Bool(variable[8])) { /*if*/
+          variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+          /* Register variable[9]: Once String constant */
+          if (once_value_486 != NIT_NULL) variable[9] = once_value_486;
+          else {
+            variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(-UNBOX_Float("), TAG_Int(23)) /*new String*/;
+            once_value_486 = variable[9];
+          }
+          /* Register variable[9]: Result */
+          /* Ensure var variable[9]: super-string element*/
+          CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+          /* Register variable[9]: Local variable */
+          variable[9] =  variable[3] /*p*/;
+          /* Register variable[10]: Local variable */
+          variable[10] =  TAG_Int(0);
+          /* Register variable[11]: Method return value and escape marker */
+          /* Register variable[12]: Result */
+          variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+          /* Ensure var variable[12]: Left 'and' operand*/
+          if (UNTAG_Bool(variable[12])) { /* and */
+            /* Register variable[12]: Result */
+            variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+            /* Register variable[12]: Result */
+            variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+          }
+          /* Register variable[12]: Result */
+          if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+          /* Register variable[12]: Result */
+          variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+          /* Register variable[12]: Result */
+          variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+          variable[11] = variable[12];
+          goto return_label487;
+          return_label487: while(false);
+          /* Register variable[9]: Result */
+          variable[9] = variable[11];
+          /* Ensure var variable[9]: super-string element*/
+          CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+          /* Register variable[9]: Once String constant */
+          if (once_value_488 != NIT_NULL) variable[9] = once_value_488;
+          else {
+            variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+            once_value_488 = variable[9];
+          }
+          /* Register variable[9]: Result */
+          /* Ensure var variable[9]: super-string element*/
+          CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+          /* Register variable[8]: Result */
+          variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+          variable[7] = variable[8] /*s=*/;
+        } else { /*if*/
+          /* Register variable[8]: Once expression result */
+          if (once_bool_489) variable[8] = once_value_489;
+          else {
+            /* Register variable[8]: Once String constant */
+            if (once_value_490 != NIT_NULL) variable[8] = once_value_490;
+            else {
+              variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)) /*new String*/;
+              once_value_490 = variable[8];
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+            once_value_489 = variable[8];
+            once_bool_489 = true;
+          }
+          /* Register variable[8]: Result */
+          /* Register variable[8]: Result */
+          variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+          if (UNTAG_Bool(variable[8])) { /*if*/
+            variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+            /* Register variable[9]: Once String constant */
+            if (once_value_491 != NIT_NULL) variable[9] = once_value_491;
+            else {
+              variable[9] = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%f\\n\", UNBOX_Float("), TAG_Int(27)) /*new String*/;
+              once_value_491 = variable[9];
+            }
+            /* Register variable[9]: Result */
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[9]: Local variable */
+            variable[9] =  variable[3] /*p*/;
+            /* Register variable[10]: Local variable */
+            variable[10] =  TAG_Int(0);
+            /* Register variable[11]: Method return value and escape marker */
+            /* Register variable[12]: Result */
+            variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+            /* Ensure var variable[12]: Left 'and' operand*/
+            if (UNTAG_Bool(variable[12])) { /* and */
+              /* Register variable[12]: Result */
+              variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+              /* Register variable[12]: Result */
+              variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+            }
+            /* Register variable[12]: Result */
+            if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+            /* Register variable[12]: Result */
+            variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+            /* Register variable[12]: Result */
+            variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+            variable[11] = variable[12];
+            goto return_label492;
+            return_label492: while(false);
+            /* Register variable[9]: Result */
+            variable[9] = variable[11];
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[9]: Once String constant */
+            if (once_value_493 != NIT_NULL) variable[9] = once_value_493;
+            else {
+              variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
+              once_value_493 = variable[9];
+            }
+            /* Register variable[9]: Result */
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[8]: Result */
+            variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+            CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+          } else { /*if*/
+            /* Register variable[8]: Once expression result */
+            if (once_bool_494) variable[8] = once_value_494;
+            else {
+              /* Register variable[8]: Once String constant */
+              if (once_value_495 != NIT_NULL) variable[8] = once_value_495;
+              else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)) /*new String*/;
+               once_value_495 = variable[8];
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+              once_value_494 = variable[8];
+              once_bool_494 = true;
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+            if (UNTAG_Bool(variable[8])) { /*if*/
+              variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_496 != NIT_NULL) variable[9] = once_value_496;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)) /*new String*/;
+               once_value_496 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Local variable */
+              variable[9] =  variable[3] /*p*/;
+              /* Register variable[10]: Local variable */
+              variable[10] =  TAG_Int(0);
+              /* Register variable[11]: Method return value and escape marker */
+              /* Register variable[12]: Result */
+              variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+              /* Ensure var variable[12]: Left 'and' operand*/
+              if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+              }
+              /* Register variable[12]: Result */
+              if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+              /* Register variable[12]: Result */
+              variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+              /* Register variable[12]: Result */
+              variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+              variable[11] = variable[12];
+              goto return_label497;
+              return_label497: while(false);
+              /* Register variable[9]: Result */
+              variable[9] = variable[11];
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_498 != NIT_NULL) variable[9] = once_value_498;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_498 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[8]: Result */
+              variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+              variable[7] = variable[8] /*s=*/;
+            } else { /*if*/
+              /* Register variable[8]: Once expression result */
+              if (once_bool_499) variable[8] = once_value_499;
+              else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_500 != NIT_NULL) variable[8] = once_value_500;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)) /*new String*/;
+               once_value_500 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_499 = variable[8];
+               once_bool_499 = true;
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+              if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_501 != NIT_NULL) variable[9] = once_value_501;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)) /*new String*/;
+               once_value_501 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label502;
+               return_label502: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_503 != NIT_NULL) variable[9] = once_value_503;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNBOX_Float("), TAG_Int(14)) /*new String*/;
+               once_value_503 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label504;
+               return_label504: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_505 != NIT_NULL) variable[9] = once_value_505;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_505 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+              } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_506) variable[8] = once_value_506;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_507 != NIT_NULL) variable[8] = once_value_507;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)) /*new String*/;
+               once_value_507 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_506 = variable[8];
+               once_bool_506 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_508 != NIT_NULL) variable[9] = once_value_508;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)) /*new String*/;
+               once_value_508 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label509;
+               return_label509: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_510 != NIT_NULL) variable[9] = once_value_510;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-UNBOX_Float("), TAG_Int(14)) /*new String*/;
+               once_value_510 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label511;
+               return_label511: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_512 != NIT_NULL) variable[9] = once_value_512;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_512 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_513) variable[8] = once_value_513;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_514 != NIT_NULL) variable[8] = once_value_514;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)) /*new String*/;
+               once_value_514 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_513 = variable[8];
+               once_bool_513 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_515 != NIT_NULL) variable[9] = once_value_515;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)) /*new String*/;
+               once_value_515 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label516;
+               return_label516: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_517 != NIT_NULL) variable[9] = once_value_517;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")*UNBOX_Float("), TAG_Int(14)) /*new String*/;
+               once_value_517 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label518;
+               return_label518: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_519 != NIT_NULL) variable[9] = once_value_519;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_519 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_520) variable[8] = once_value_520;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_521 != NIT_NULL) variable[8] = once_value_521;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
+               once_value_521 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_520 = variable[8];
+               once_bool_520 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_522 != NIT_NULL) variable[9] = once_value_522;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)) /*new String*/;
+               once_value_522 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label523;
+               return_label523: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_524 != NIT_NULL) variable[9] = once_value_524;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")/UNBOX_Float("), TAG_Int(14)) /*new String*/;
+               once_value_524 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label525;
+               return_label525: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_526 != NIT_NULL) variable[9] = once_value_526;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_526 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_527) variable[8] = once_value_527;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_528 != NIT_NULL) variable[8] = once_value_528;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)) /*new String*/;
+               once_value_528 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_527 = variable[8];
+               once_bool_527 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_529 != NIT_NULL) variable[9] = once_value_529;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)) /*new String*/;
+               once_value_529 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label530;
+               return_label530: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_531 != NIT_NULL) variable[9] = once_value_531;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<UNBOX_Float("), TAG_Int(14)) /*new String*/;
+               once_value_531 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label532;
+               return_label532: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_533 != NIT_NULL) variable[9] = once_value_533;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_533 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_534) variable[8] = once_value_534;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_535 != NIT_NULL) variable[8] = once_value_535;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)) /*new String*/;
+               once_value_535 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_534 = variable[8];
+               once_bool_534 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_536 != NIT_NULL) variable[9] = once_value_536;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)) /*new String*/;
+               once_value_536 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label537;
+               return_label537: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_538 != NIT_NULL) variable[9] = once_value_538;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>UNBOX_Float("), TAG_Int(14)) /*new String*/;
+               once_value_538 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label539;
+               return_label539: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_540 != NIT_NULL) variable[9] = once_value_540;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_540 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_541) variable[8] = once_value_541;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_542 != NIT_NULL) variable[8] = once_value_542;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)) /*new String*/;
+               once_value_542 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_541 = variable[8];
+               once_bool_541 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_543 != NIT_NULL) variable[9] = once_value_543;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)) /*new String*/;
+               once_value_543 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label544;
+               return_label544: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_545 != NIT_NULL) variable[9] = once_value_545;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<=UNBOX_Float("), TAG_Int(15)) /*new String*/;
+               once_value_545 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label546;
+               return_label546: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_547 != NIT_NULL) variable[9] = once_value_547;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_547 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_548) variable[8] = once_value_548;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_549 != NIT_NULL) variable[8] = once_value_549;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)) /*new String*/;
+               once_value_549 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_548 = variable[8];
+               once_bool_548 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_550 != NIT_NULL) variable[9] = once_value_550;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)) /*new String*/;
+               once_value_550 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label551;
+               return_label551: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_552 != NIT_NULL) variable[9] = once_value_552;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>=UNBOX_Float("), TAG_Int(15)) /*new String*/;
+               once_value_552 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label553;
+               return_label553: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_554 != NIT_NULL) variable[9] = once_value_554;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_554 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+              }
+            }
+          }
+        }
+      }
+    } else { /*if*/
+      /* Register variable[8]: Once expression result */
+      if (once_bool_555) variable[8] = once_value_555;
+      else {
+        /* Register variable[8]: Once String constant */
+        if (once_value_556 != NIT_NULL) variable[8] = once_value_556;
+        else {
+          variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)) /*new String*/;
+          once_value_556 = variable[8];
+        }
+        /* Register variable[8]: Result */
+        /* Register variable[8]: Result */
+        variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+        once_value_555 = variable[8];
+        once_bool_555 = true;
+      }
+      /* Register variable[8]: Result */
+      /* Register variable[8]: Result */
+      variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
+      if (UNTAG_Bool(variable[8])) { /*if*/
+        /* Register variable[8]: Once expression result */
+        if (once_bool_557) variable[8] = once_value_557;
+        else {
+          /* Register variable[8]: Once String constant */
+          if (once_value_558 != NIT_NULL) variable[8] = once_value_558;
+          else {
+            variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
+            once_value_558 = variable[8];
+          }
+          /* Register variable[8]: Result */
+          /* Register variable[8]: Result */
+          variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+          once_value_557 = variable[8];
+          once_bool_557 = true;
+        }
+        /* Register variable[8]: Result */
+        /* Register variable[8]: Result */
+        variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+        if (UNTAG_Bool(variable[8])) { /*if*/
+          variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+          /* Register variable[9]: Once String constant */
+          if (once_value_559 != NIT_NULL) variable[9] = once_value_559;
+          else {
+            variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)) /*new String*/;
+            once_value_559 = variable[9];
+          }
+          /* Register variable[9]: Result */
+          /* Ensure var variable[9]: super-string element*/
+          CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+          /* Register variable[9]: Local variable */
+          variable[9] =  variable[3] /*p*/;
+          /* Register variable[10]: Local variable */
+          variable[10] =  TAG_Int(0);
+          /* Register variable[11]: Method return value and escape marker */
+          /* Register variable[12]: Result */
+          variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+          /* Ensure var variable[12]: Left 'and' operand*/
+          if (UNTAG_Bool(variable[12])) { /* and */
+            /* Register variable[12]: Result */
+            variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+            /* Register variable[12]: Result */
+            variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+          }
+          /* Register variable[12]: Result */
+          if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+          /* Register variable[12]: Result */
+          variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+          /* Register variable[12]: Result */
+          variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+          variable[11] = variable[12];
+          goto return_label560;
+          return_label560: while(false);
+          /* Register variable[9]: Result */
+          variable[9] = variable[11];
+          /* Ensure var variable[9]: super-string element*/
+          CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+          /* Register variable[9]: Once String constant */
+          if (once_value_561 != NIT_NULL) variable[9] = once_value_561;
+          else {
+            variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+            once_value_561 = variable[9];
+          }
+          /* Register variable[9]: Result */
+          /* Ensure var variable[9]: super-string element*/
+          CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+          /* Register variable[8]: Result */
+          variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+          variable[7] = variable[8] /*s=*/;
+        } else { /*if*/
+          /* Register variable[8]: Once expression result */
+          if (once_bool_562) variable[8] = once_value_562;
+          else {
+            /* Register variable[8]: Once String constant */
+            if (once_value_563 != NIT_NULL) variable[8] = once_value_563;
+            else {
+              variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)) /*new String*/;
+              once_value_563 = variable[8];
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+            once_value_562 = variable[8];
+            once_bool_562 = true;
+          }
+          /* Register variable[8]: Result */
+          /* Register variable[8]: Result */
+          variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+          if (UNTAG_Bool(variable[8])) { /*if*/
+            variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+            /* Register variable[9]: Once String constant */
+            if (once_value_564 != NIT_NULL) variable[9] = once_value_564;
+            else {
+              variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(-UNTAG_Char("), TAG_Int(21)) /*new String*/;
+              once_value_564 = variable[9];
+            }
+            /* Register variable[9]: Result */
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[9]: Local variable */
+            variable[9] =  variable[3] /*p*/;
+            /* Register variable[10]: Local variable */
+            variable[10] =  TAG_Int(0);
+            /* Register variable[11]: Method return value and escape marker */
+            /* Register variable[12]: Result */
+            variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+            /* Ensure var variable[12]: Left 'and' operand*/
+            if (UNTAG_Bool(variable[12])) { /* and */
+              /* Register variable[12]: Result */
+              variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+              /* Register variable[12]: Result */
+              variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+            }
+            /* Register variable[12]: Result */
+            if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+            /* Register variable[12]: Result */
+            variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+            /* Register variable[12]: Result */
+            variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+            variable[11] = variable[12];
+            goto return_label565;
+            return_label565: while(false);
+            /* Register variable[9]: Result */
+            variable[9] = variable[11];
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[9]: Once String constant */
+            if (once_value_566 != NIT_NULL) variable[9] = once_value_566;
+            else {
+              variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+              once_value_566 = variable[9];
+            }
+            /* Register variable[9]: Result */
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[8]: Result */
+            variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+            variable[7] = variable[8] /*s=*/;
+          } else { /*if*/
+            /* Register variable[8]: Once expression result */
+            if (once_bool_567) variable[8] = once_value_567;
+            else {
+              /* Register variable[8]: Once String constant */
+              if (once_value_568 != NIT_NULL) variable[8] = once_value_568;
+              else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)) /*new String*/;
+               once_value_568 = variable[8];
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+              once_value_567 = variable[8];
+              once_bool_567 = true;
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+            if (UNTAG_Bool(variable[8])) { /*if*/
+              variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_569 != NIT_NULL) variable[9] = once_value_569;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char("), TAG_Int(39)) /*new String*/;
+               once_value_569 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Local variable */
+              variable[9] =  variable[3] /*p*/;
+              /* Register variable[10]: Local variable */
+              variable[10] =  TAG_Int(0);
+              /* Register variable[11]: Method return value and escape marker */
+              /* Register variable[12]: Result */
+              variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+              /* Ensure var variable[12]: Left 'and' operand*/
+              if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+              }
+              /* Register variable[12]: Result */
+              if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+              /* Register variable[12]: Result */
+              variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+              /* Register variable[12]: Result */
+              variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+              variable[11] = variable[12];
+              goto return_label570;
+              return_label570: while(false);
+              /* Register variable[9]: Result */
+              variable[9] = variable[11];
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_571 != NIT_NULL) variable[9] = once_value_571;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
+               once_value_571 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[8]: Result */
+              variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+              CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+            } else { /*if*/
+              /* Register variable[8]: Once expression result */
+              if (once_bool_572) variable[8] = once_value_572;
+              else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_573 != NIT_NULL) variable[8] = once_value_573;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)) /*new String*/;
+               once_value_573 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_572 = variable[8];
+               once_bool_572 = true;
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+              if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_574 != NIT_NULL) variable[9] = once_value_574;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char("), TAG_Int(34)) /*new String*/;
+               once_value_574 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label575;
+               return_label575: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_576 != NIT_NULL) variable[9] = once_value_576;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_576 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+              } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_577) variable[8] = once_value_577;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_578 != NIT_NULL) variable[8] = once_value_578;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)) /*new String*/;
+               once_value_578 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_577 = variable[8];
+               once_bool_577 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_579 != NIT_NULL) variable[9] = once_value_579;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_579 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label580;
+               return_label580: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_581 != NIT_NULL) variable[9] = once_value_581;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)) /*new String*/;
+               once_value_581 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_582) variable[8] = once_value_582;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_583 != NIT_NULL) variable[8] = once_value_583;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)) /*new String*/;
+               once_value_583 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_582 = variable[8];
+               once_bool_582 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_584 != NIT_NULL) variable[9] = once_value_584;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_584 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label585;
+               return_label585: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_586 != NIT_NULL) variable[9] = once_value_586;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)) /*new String*/;
+               once_value_586 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_587) variable[8] = once_value_587;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_588 != NIT_NULL) variable[8] = once_value_588;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)) /*new String*/;
+               once_value_588 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_587 = variable[8];
+               once_bool_587 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_589 != NIT_NULL) variable[9] = once_value_589;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)) /*new String*/;
+               once_value_589 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label590;
+               return_label590: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_591 != NIT_NULL) variable[9] = once_value_591;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-'0')"), TAG_Int(6)) /*new String*/;
+               once_value_591 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_592) variable[8] = once_value_592;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_593 != NIT_NULL) variable[8] = once_value_593;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)) /*new String*/;
+               once_value_593 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_592 = variable[8];
+               once_bool_592 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_594 != NIT_NULL) variable[9] = once_value_594;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_594 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label595;
+               return_label595: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_596 != NIT_NULL) variable[9] = once_value_596;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Char("), TAG_Int(13)) /*new String*/;
+               once_value_596 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label597;
+               return_label597: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_598 != NIT_NULL) variable[9] = once_value_598;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_598 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_599) variable[8] = once_value_599;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_600 != NIT_NULL) variable[8] = once_value_600;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)) /*new String*/;
+               once_value_600 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_599 = variable[8];
+               once_bool_599 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_601 != NIT_NULL) variable[9] = once_value_601;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_601 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label602;
+               return_label602: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_603 != NIT_NULL) variable[9] = once_value_603;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-UNTAG_Char("), TAG_Int(13)) /*new String*/;
+               once_value_603 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label604;
+               return_label604: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_605 != NIT_NULL) variable[9] = once_value_605;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_605 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_606) variable[8] = once_value_606;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_607 != NIT_NULL) variable[8] = once_value_607;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)) /*new String*/;
+               once_value_607 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_606 = variable[8];
+               once_bool_606 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_608 != NIT_NULL) variable[9] = once_value_608;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_608 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label609;
+               return_label609: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_610 != NIT_NULL) variable[9] = once_value_610;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")*UNTAG_Char("), TAG_Int(13)) /*new String*/;
+               once_value_610 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label611;
+               return_label611: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_612 != NIT_NULL) variable[9] = once_value_612;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_612 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_613) variable[8] = once_value_613;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_614 != NIT_NULL) variable[8] = once_value_614;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
+               once_value_614 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_613 = variable[8];
+               once_bool_613 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_615 != NIT_NULL) variable[9] = once_value_615;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_615 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label616;
+               return_label616: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_617 != NIT_NULL) variable[9] = once_value_617;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")/UNTAG_Char("), TAG_Int(13)) /*new String*/;
+               once_value_617 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label618;
+               return_label618: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_619 != NIT_NULL) variable[9] = once_value_619;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_619 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_620) variable[8] = once_value_620;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_621 != NIT_NULL) variable[8] = once_value_621;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)) /*new String*/;
+               once_value_621 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_620 = variable[8];
+               once_bool_620 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_622 != NIT_NULL) variable[9] = once_value_622;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_622 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label623;
+               return_label623: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_624 != NIT_NULL) variable[9] = once_value_624;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")%UNTAG_Char("), TAG_Int(13)) /*new String*/;
+               once_value_624 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label625;
+               return_label625: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_626 != NIT_NULL) variable[9] = once_value_626;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_626 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_627) variable[8] = once_value_627;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_628 != NIT_NULL) variable[8] = once_value_628;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)) /*new String*/;
+               once_value_628 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_627 = variable[8];
+               once_bool_627 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_629 != NIT_NULL) variable[9] = once_value_629;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_629 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label630;
+               return_label630: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_631 != NIT_NULL) variable[9] = once_value_631;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<UNTAG_Char("), TAG_Int(13)) /*new String*/;
+               once_value_631 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label632;
+               return_label632: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_633 != NIT_NULL) variable[9] = once_value_633;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_633 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_634) variable[8] = once_value_634;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_635 != NIT_NULL) variable[8] = once_value_635;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)) /*new String*/;
+               once_value_635 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_634 = variable[8];
+               once_bool_634 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_636 != NIT_NULL) variable[9] = once_value_636;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_636 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label637;
+               return_label637: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_638 != NIT_NULL) variable[9] = once_value_638;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>UNTAG_Char("), TAG_Int(13)) /*new String*/;
+               once_value_638 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label639;
+               return_label639: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_640 != NIT_NULL) variable[9] = once_value_640;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_640 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_641) variable[8] = once_value_641;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_642 != NIT_NULL) variable[8] = once_value_642;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)) /*new String*/;
+               once_value_642 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_641 = variable[8];
+               once_bool_641 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_643 != NIT_NULL) variable[9] = once_value_643;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_643 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label644;
+               return_label644: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_645 != NIT_NULL) variable[9] = once_value_645;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<=UNTAG_Char("), TAG_Int(14)) /*new String*/;
+               once_value_645 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label646;
+               return_label646: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_647 != NIT_NULL) variable[9] = once_value_647;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_647 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_648) variable[8] = once_value_648;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_649 != NIT_NULL) variable[8] = once_value_649;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)) /*new String*/;
+               once_value_649 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_648 = variable[8];
+               once_bool_648 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_650 != NIT_NULL) variable[9] = once_value_650;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)) /*new String*/;
+               once_value_650 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label651;
+               return_label651: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_652 != NIT_NULL) variable[9] = once_value_652;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>=UNTAG_Char("), TAG_Int(14)) /*new String*/;
+               once_value_652 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label653;
+               return_label653: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_654 != NIT_NULL) variable[9] = once_value_654;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_654 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_655) variable[8] = once_value_655;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_656 != NIT_NULL) variable[8] = once_value_656;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
+               once_value_656 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_655 = variable[8];
+               once_bool_655 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_657 != NIT_NULL) variable[9] = once_value_657;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
+               once_value_657 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label658;
+               return_label658: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_659 != NIT_NULL) variable[9] = once_value_659;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)) /*new String*/;
+               once_value_659 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label660;
+               return_label660: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_661 != NIT_NULL) variable[9] = once_value_661;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_661 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_662) variable[8] = once_value_662;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_663 != NIT_NULL) variable[8] = once_value_663;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)) /*new String*/;
+               once_value_663 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_662 = variable[8];
+               once_bool_662 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_664 != NIT_NULL) variable[9] = once_value_664;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
+               once_value_664 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label665;
+               return_label665: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_666 != NIT_NULL) variable[9] = once_value_666;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)) /*new String*/;
+               once_value_666 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label667;
+               return_label667: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_668 != NIT_NULL) variable[9] = once_value_668;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_668 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+               }
+              }
+            }
+          }
+        }
+      } else { /*if*/
+        /* Register variable[8]: Once expression result */
+        if (once_bool_669) variable[8] = once_value_669;
+        else {
+          /* Register variable[8]: Once String constant */
+          if (once_value_670 != NIT_NULL) variable[8] = once_value_670;
+          else {
+            variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)) /*new String*/;
+            once_value_670 = variable[8];
+          }
+          /* Register variable[8]: Result */
+          /* Register variable[8]: Result */
+          variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+          once_value_669 = variable[8];
+          once_bool_669 = true;
+        }
+        /* Register variable[8]: Result */
+        /* Register variable[8]: Result */
+        variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
+        if (UNTAG_Bool(variable[8])) { /*if*/
+          /* Register variable[8]: Once expression result */
+          if (once_bool_671) variable[8] = once_value_671;
+          else {
+            /* Register variable[8]: Once String constant */
+            if (once_value_672 != NIT_NULL) variable[8] = once_value_672;
+            else {
+              variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
+              once_value_672 = variable[8];
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+            once_value_671 = variable[8];
+            once_bool_671 = true;
+          }
+          /* Register variable[8]: Result */
+          /* Register variable[8]: Result */
+          variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+          if (UNTAG_Bool(variable[8])) { /*if*/
+            variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+            /* Register variable[9]: Once String constant */
+            if (once_value_673 != NIT_NULL) variable[9] = once_value_673;
+            else {
+              variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)) /*new String*/;
+              once_value_673 = variable[9];
+            }
+            /* Register variable[9]: Result */
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[9]: Local variable */
+            variable[9] =  variable[3] /*p*/;
+            /* Register variable[10]: Local variable */
+            variable[10] =  TAG_Int(0);
+            /* Register variable[11]: Method return value and escape marker */
+            /* Register variable[12]: Result */
+            variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+            /* Ensure var variable[12]: Left 'and' operand*/
+            if (UNTAG_Bool(variable[12])) { /* and */
+              /* Register variable[12]: Result */
+              variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+              /* Register variable[12]: Result */
+              variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+            }
+            /* Register variable[12]: Result */
+            if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+            /* Register variable[12]: Result */
+            variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+            /* Register variable[12]: Result */
+            variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+            variable[11] = variable[12];
+            goto return_label674;
+            return_label674: while(false);
+            /* Register variable[9]: Result */
+            variable[9] = variable[11];
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[9]: Once String constant */
+            if (once_value_675 != NIT_NULL) variable[9] = once_value_675;
+            else {
+              variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+              once_value_675 = variable[9];
+            }
+            /* Register variable[9]: Result */
+            /* Ensure var variable[9]: super-string element*/
+            CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+            /* Register variable[8]: Result */
+            variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+            variable[7] = variable[8] /*s=*/;
+          } else { /*if*/
+            /* Register variable[8]: Once expression result */
+            if (once_bool_676) variable[8] = once_value_676;
+            else {
+              /* Register variable[8]: Once String constant */
+              if (once_value_677 != NIT_NULL) variable[8] = once_value_677;
+              else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)) /*new String*/;
+               once_value_677 = variable[8];
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+              once_value_676 = variable[8];
+              once_bool_676 = true;
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+            if (UNTAG_Bool(variable[8])) { /*if*/
+              variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_678 != NIT_NULL) variable[9] = once_value_678;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(-UNTAG_Bool("), TAG_Int(21)) /*new String*/;
+               once_value_678 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Local variable */
+              variable[9] =  variable[3] /*p*/;
+              /* Register variable[10]: Local variable */
+              variable[10] =  TAG_Int(0);
+              /* Register variable[11]: Method return value and escape marker */
+              /* Register variable[12]: Result */
+              variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+              /* Ensure var variable[12]: Left 'and' operand*/
+              if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+              }
+              /* Register variable[12]: Result */
+              if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+              /* Register variable[12]: Result */
+              variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+              /* Register variable[12]: Result */
+              variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+              variable[11] = variable[12];
+              goto return_label679;
+              return_label679: while(false);
+              /* Register variable[9]: Result */
+              variable[9] = variable[11];
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_680 != NIT_NULL) variable[9] = once_value_680;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_680 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[8]: Result */
+              variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+              variable[7] = variable[8] /*s=*/;
+            } else { /*if*/
+              /* Register variable[8]: Once expression result */
+              if (once_bool_681) variable[8] = once_value_681;
+              else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_682 != NIT_NULL) variable[8] = once_value_682;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)) /*new String*/;
+               once_value_682 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_681 = variable[8];
+               once_bool_681 = true;
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+              if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_683 != NIT_NULL) variable[9] = once_value_683;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(void)printf(UNTAG_Bool("), TAG_Int(24)) /*new String*/;
+               once_value_683 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label684;
+               return_label684: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_685 != NIT_NULL) variable[9] = once_value_685;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")?\"true\\n\":\"false\\n\");"), TAG_Int(22)) /*new String*/;
+               once_value_685 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+              } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_686) variable[8] = once_value_686;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_687 != NIT_NULL) variable[8] = once_value_687;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)) /*new String*/;
+               once_value_687 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_686 = variable[8];
+               once_bool_686 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_688 != NIT_NULL) variable[9] = once_value_688;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Bool("), TAG_Int(20)) /*new String*/;
+               once_value_688 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label689;
+               return_label689: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_690 != NIT_NULL) variable[9] = once_value_690;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_690 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_691) variable[8] = once_value_691;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_692 != NIT_NULL) variable[8] = once_value_692;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)) /*new String*/;
+               once_value_692 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_691 = variable[8];
+               once_bool_691 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_693 != NIT_NULL) variable[9] = once_value_693;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)) /*new String*/;
+               once_value_693 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label694;
+               return_label694: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_695 != NIT_NULL) variable[9] = once_value_695;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_695 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_696) variable[8] = once_value_696;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_697 != NIT_NULL) variable[8] = once_value_697;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
+               once_value_697 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_696 = variable[8];
+               once_bool_696 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_698 != NIT_NULL) variable[9] = once_value_698;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
+               once_value_698 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label699;
+               return_label699: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_700 != NIT_NULL) variable[9] = once_value_700;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)) /*new String*/;
+               once_value_700 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label701;
+               return_label701: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_702 != NIT_NULL) variable[9] = once_value_702;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_702 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_703) variable[8] = once_value_703;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_704 != NIT_NULL) variable[8] = once_value_704;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)) /*new String*/;
+               once_value_704 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_703 = variable[8];
+               once_bool_703 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_705 != NIT_NULL) variable[9] = once_value_705;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
+               once_value_705 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label706;
+               return_label706: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_707 != NIT_NULL) variable[9] = once_value_707;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)) /*new String*/;
+               once_value_707 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label708;
+               return_label708: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_709 != NIT_NULL) variable[9] = once_value_709;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_709 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               }
+               }
+               }
+               }
+              }
+            }
+          }
+        } else { /*if*/
+          /* Register variable[8]: Once expression result */
+          if (once_bool_710) variable[8] = once_value_710;
+          else {
+            /* Register variable[8]: Once String constant */
+            if (once_value_711 != NIT_NULL) variable[8] = once_value_711;
+            else {
+              variable[8] = NEW_String_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)) /*new String*/;
+              once_value_711 = variable[8];
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+            once_value_710 = variable[8];
+            once_bool_710 = true;
+          }
+          /* Register variable[8]: Result */
+          /* Register variable[8]: Result */
+          variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
+          if (UNTAG_Bool(variable[8])) { /*if*/
+            /* Register variable[8]: Once expression result */
+            if (once_bool_712) variable[8] = once_value_712;
+            else {
+              /* Register variable[8]: Once String constant */
+              if (once_value_713 != NIT_NULL) variable[8] = once_value_713;
+              else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
+               once_value_713 = variable[8];
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+              once_value_712 = variable[8];
+              once_bool_712 = true;
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+            if (UNTAG_Bool(variable[8])) { /*if*/
+              variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_714 != NIT_NULL) variable[9] = once_value_714;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeArray("), TAG_Int(26)) /*new String*/;
+               once_value_714 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Local variable */
+              variable[9] =  variable[3] /*p*/;
+              /* Register variable[10]: Local variable */
+              variable[10] =  TAG_Int(0);
+              /* Register variable[11]: Method return value and escape marker */
+              /* Register variable[12]: Result */
+              variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+              /* Ensure var variable[12]: Left 'and' operand*/
+              if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+              }
+              /* Register variable[12]: Result */
+              if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+              /* Register variable[12]: Result */
+              variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+              /* Register variable[12]: Result */
+              variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+              variable[11] = variable[12];
+              goto return_label715;
+              return_label715: while(false);
+              /* Register variable[9]: Result */
+              variable[9] = variable[11];
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[9]: Once String constant */
+              if (once_value_716 != NIT_NULL) variable[9] = once_value_716;
+              else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_716 = variable[9];
+              }
+              /* Register variable[9]: Result */
+              /* Ensure var variable[9]: super-string element*/
+              CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+              /* Register variable[8]: Result */
+              variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+              variable[7] = variable[8] /*s=*/;
+            } else { /*if*/
+              /* Register variable[8]: Once expression result */
+              if (once_bool_717) variable[8] = once_value_717;
+              else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_718 != NIT_NULL) variable[8] = once_value_718;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)) /*new String*/;
+               once_value_718 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_717 = variable[8];
+               once_bool_717 = true;
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+              if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_719 != NIT_NULL) variable[9] = once_value_719;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)) /*new String*/;
+               once_value_719 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label720;
+               return_label720: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_721 != NIT_NULL) variable[9] = once_value_721;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_721 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label722;
+               return_label722: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_723 != NIT_NULL) variable[9] = once_value_723;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")]"), TAG_Int(2)) /*new String*/;
+               once_value_723 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+              } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_724) variable[8] = once_value_724;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_725 != NIT_NULL) variable[8] = once_value_725;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)) /*new String*/;
+               once_value_725 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_724 = variable[8];
+               once_bool_724 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_726 != NIT_NULL) variable[9] = once_value_726;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)) /*new String*/;
+               once_value_726 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label727;
+               return_label727: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_728 != NIT_NULL) variable[9] = once_value_728;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_728 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label729;
+               return_label729: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_730 != NIT_NULL) variable[9] = once_value_730;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")]="), TAG_Int(3)) /*new String*/;
+               once_value_730 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(2);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label731;
+               return_label731: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_732 != NIT_NULL) variable[9] = once_value_732;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+               once_value_732 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_733) variable[8] = once_value_733;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_734 != NIT_NULL) variable[8] = once_value_734;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)) /*new String*/;
+               once_value_734 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_733 = variable[8];
+               once_bool_733 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_735 != NIT_NULL) variable[9] = once_value_735;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeArray("), TAG_Int(31)) /*new String*/;
+               once_value_735 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label736;
+               return_label736: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_737 != NIT_NULL) variable[9] = once_value_737;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("), UNBOX_NativeArray("), TAG_Int(21)) /*new String*/;
+               once_value_737 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label738;
+               return_label738: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_739 != NIT_NULL) variable[9] = once_value_739;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)) /*new String*/;
+               once_value_739 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(2);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label740;
+               return_label740: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_741 != NIT_NULL) variable[9] = once_value_741;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")*sizeof(val_t));"), TAG_Int(17)) /*new String*/;
+               once_value_741 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+               }
+               }
+              }
+            }
+          } else { /*if*/
+            /* Register variable[8]: Once expression result */
+            if (once_bool_742) variable[8] = once_value_742;
+            else {
+              /* Register variable[8]: Once String constant */
+              if (once_value_743 != NIT_NULL) variable[8] = once_value_743;
+              else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)) /*new String*/;
+               once_value_743 = variable[8];
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+              once_value_742 = variable[8];
+              once_bool_742 = true;
+            }
+            /* Register variable[8]: Result */
+            /* Register variable[8]: Result */
+            variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
+            if (UNTAG_Bool(variable[8])) { /*if*/
+              /* Register variable[8]: Once expression result */
+              if (once_bool_744) variable[8] = once_value_744;
+              else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_745 != NIT_NULL) variable[8] = once_value_745;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
+               once_value_745 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_744 = variable[8];
+               once_bool_744 = true;
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+              if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_746 != NIT_NULL) variable[9] = once_value_746;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeString("), TAG_Int(27)) /*new String*/;
+               once_value_746 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label747;
+               return_label747: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_748 != NIT_NULL) variable[9] = once_value_748;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+               once_value_748 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+              } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_749) variable[8] = once_value_749;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_750 != NIT_NULL) variable[8] = once_value_750;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("atoi"), TAG_Int(4)) /*new String*/;
+               once_value_750 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_749 = variable[8];
+               once_bool_749 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_751 != NIT_NULL) variable[9] = once_value_751;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString("), TAG_Int(32)) /*new String*/;
+               once_value_751 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label752;
+               return_label752: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_753 != NIT_NULL) variable[9] = once_value_753;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)) /*new String*/;
+               once_value_753 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_754) variable[8] = once_value_754;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_755 != NIT_NULL) variable[8] = once_value_755;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)) /*new String*/;
+               once_value_755 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_754 = variable[8];
+               once_bool_754 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_756 != NIT_NULL) variable[9] = once_value_756;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNBOX_NativeString("), TAG_Int(28)) /*new String*/;
+               once_value_756 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label757;
+               return_label757: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_758 != NIT_NULL) variable[9] = once_value_758;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_758 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label759;
+               return_label759: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_760 != NIT_NULL) variable[9] = once_value_760;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")])"), TAG_Int(3)) /*new String*/;
+               once_value_760 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_761) variable[8] = once_value_761;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_762 != NIT_NULL) variable[8] = once_value_762;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)) /*new String*/;
+               once_value_762 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_761 = variable[8];
+               once_bool_761 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_763 != NIT_NULL) variable[9] = once_value_763;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeString("), TAG_Int(19)) /*new String*/;
+               once_value_763 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label764;
+               return_label764: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_765 != NIT_NULL) variable[9] = once_value_765;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_765 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label766;
+               return_label766: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_767 != NIT_NULL) variable[9] = once_value_767;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")]=UNTAG_Char("), TAG_Int(14)) /*new String*/;
+               once_value_767 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(2);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label768;
+               return_label768: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_769 != NIT_NULL) variable[9] = once_value_769;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
+               once_value_769 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_770) variable[8] = once_value_770;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_771 != NIT_NULL) variable[8] = once_value_771;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)) /*new String*/;
+               once_value_771 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_770 = variable[8];
+               once_bool_770 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_772 != NIT_NULL) variable[9] = once_value_772;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeString("), TAG_Int(32)) /*new String*/;
+               once_value_772 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label773;
+               return_label773: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_774 != NIT_NULL) variable[9] = once_value_774;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_774 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(4);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label775;
+               return_label775: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_776 != NIT_NULL) variable[9] = once_value_776;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("), UNBOX_NativeString("), TAG_Int(22)) /*new String*/;
+               once_value_776 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label777;
+               return_label777: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_778 != NIT_NULL) variable[9] = once_value_778;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)) /*new String*/;
+               once_value_778 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(3);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label779;
+               return_label779: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_780 != NIT_NULL) variable[9] = once_value_780;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)) /*new String*/;
+               once_value_780 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(2);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label781;
+               return_label781: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_782 != NIT_NULL) variable[9] = once_value_782;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
+               once_value_782 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+               }
+               }
+               }
+               }
+              }
+            } else { /*if*/
+              /* Register variable[8]: Once expression result */
+              if (once_bool_783) variable[8] = once_value_783;
+              else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_784 != NIT_NULL) variable[8] = once_value_784;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
+               once_value_784 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_783 = variable[8];
+               once_bool_783 = true;
+              }
+              /* Register variable[8]: Result */
+              /* Register variable[8]: Result */
+              variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+              if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_785 != NIT_NULL) variable[9] = once_value_785;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)"), TAG_Int(16)) /*new String*/;
+               once_value_785 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label786;
+               return_label786: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_787 != NIT_NULL) variable[9] = once_value_787;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+               once_value_787 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+              } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_788) variable[8] = once_value_788;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_789 != NIT_NULL) variable[8] = once_value_789;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("sys"), TAG_Int(3)) /*new String*/;
+               once_value_789 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_788 = variable[8];
+               once_bool_788 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               /* Register variable[8]: Once String constant */
+               if (once_value_790 != NIT_NULL) variable[8] = once_value_790;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("(G_sys)"), TAG_Int(7)) /*new String*/;
+               once_value_790 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_791) variable[8] = once_value_791;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_792 != NIT_NULL) variable[8] = once_value_792;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("is_same_type"), TAG_Int(12)) /*new String*/;
+               once_value_792 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_791 = variable[8];
+               once_bool_791 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_793 != NIT_NULL) variable[9] = once_value_793;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool((VAL2VFT("), TAG_Int(18)) /*new String*/;
+               once_value_793 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(0);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label794;
+               return_label794: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_795 != NIT_NULL) variable[9] = once_value_795;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")==VAL2VFT("), TAG_Int(11)) /*new String*/;
+               once_value_795 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label796;
+               return_label796: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_797 != NIT_NULL) variable[9] = once_value_797;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)) /*new String*/;
+               once_value_797 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_798) variable[8] = once_value_798;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_799 != NIT_NULL) variable[8] = once_value_799;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("exit"), TAG_Int(4)) /*new String*/;
+               once_value_799 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_798 = variable[8];
+               once_bool_798 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_800 != NIT_NULL) variable[9] = once_value_800;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("exit(UNTAG_Int("), TAG_Int(15)) /*new String*/;
+               once_value_800 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label801;
+               return_label801: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_802 != NIT_NULL) variable[9] = once_value_802;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
+               once_value_802 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_803) variable[8] = once_value_803;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_804 != NIT_NULL) variable[8] = once_value_804;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("calloc_array"), TAG_Int(12)) /*new String*/;
+               once_value_804 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_803 = variable[8];
+               once_bool_803 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_805 != NIT_NULL) variable[9] = once_value_805;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeArray((val_t*)malloc((UNTAG_Int("), TAG_Int(42)) /*new String*/;
+               once_value_805 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label806;
+               return_label806: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_807 != NIT_NULL) variable[9] = once_value_807;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(") * sizeof(val_t))))"), TAG_Int(20)) /*new String*/;
+               once_value_807 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               /* Register variable[8]: Once expression result */
+               if (once_bool_808) variable[8] = once_value_808;
+               else {
+               /* Register variable[8]: Once String constant */
+               if (once_value_809 != NIT_NULL) variable[8] = once_value_809;
+               else {
+               variable[8] = NEW_String_string___String___with_native(BOX_NativeString("calloc_string"), TAG_Int(13)) /*new String*/;
+               once_value_809 = variable[8];
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
+               once_value_808 = variable[8];
+               once_bool_808 = true;
+               }
+               /* Register variable[8]: Result */
+               /* Register variable[8]: Result */
+               variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
+               if (UNTAG_Bool(variable[8])) { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_810 != NIT_NULL) variable[9] = once_value_810;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeString((char*)malloc((UNTAG_Int("), TAG_Int(42)) /*new String*/;
+               once_value_810 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Local variable */
+               variable[9] =  variable[3] /*p*/;
+               /* Register variable[10]: Local variable */
+               variable[10] =  TAG_Int(1);
+               /* Register variable[11]: Method return value and escape marker */
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+               /* Ensure var variable[12]: Left 'and' operand*/
+               if (UNTAG_Bool(variable[12])) { /* and */
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
+               /* Register variable[12]: Result */
+               variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
+               }
+               /* Register variable[12]: Result */
+               if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+               /* Register variable[12]: Result */
+               variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
+               /* Register variable[12]: Result */
+               variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
+               variable[11] = variable[12];
+               goto return_label811;
+               return_label811: while(false);
+               /* Register variable[9]: Result */
+               variable[9] = variable[11];
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_812 != NIT_NULL) variable[9] = once_value_812;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString(") * sizeof(char))))"), TAG_Int(19)) /*new String*/;
+               once_value_812 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               variable[7] = variable[8] /*s=*/;
+               } else { /*if*/
+               variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_813 != NIT_NULL) variable[9] = once_value_813;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Intern "), TAG_Int(24)) /*new String*/;
+               once_value_813 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               variable[9] =  variable[6] /*n*/ /* Ensure var: super-string element*/;
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
+               /* Register variable[9]: Once String constant */
+               if (once_value_814 != NIT_NULL) variable[9] = once_value_814;
+               else {
+               variable[9] = NEW_String_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);"), TAG_Int(18)) /*new String*/;
+               once_value_814 = variable[9];
+               }
+               /* Register variable[9]: Result */
+               /* Ensure var variable[9]: super-string element*/
+               CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+               /* Register variable[8]: Result */
+               variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+               CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+               }
+               }
+               }
+               }
+               }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMSignature___return_type(variable[8])(variable[8]) /*MMSignature::return_type*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] ==  NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  /* Ensure var variable[8]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[8])) { /* and */
+    /* Register variable[8]: Result */
+    variable[8] = TAG_Bool(( variable[7] /*s*/ ==  NIT_NULL /*null*/) || (( variable[7] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*s*/)( variable[7] /*s*/,  NIT_NULL /*null*/) /*String::==*/)));
+  }
+  /* Register variable[8]: Result */
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    /* Register variable[8]: Once String constant */
+    if (once_value_815 != NIT_NULL) variable[8] = once_value_815;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL /*stub*/"), TAG_Int(17)) /*new String*/;
+      once_value_815 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    variable[7] = variable[8] /*s=*/;
+  }
+  variable[4] =  variable[7] /*s*/;
+  goto return_label348;
+  return_label348: while(false);
+  tracehead = trace.prev;
+  return variable[4];
+}
+val_t compiling_methods___PExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 977, LOCATE_compiling_methods___PExpr___compile_expr};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  fprintf(stderr, "Deferred method called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 977);
+  nit_exit(1);
+  tracehead = trace.prev;
+  return NIT_NULL;
+}
+void compiling_methods___PExpr___prepare_compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 981, LOCATE_compiling_methods___PExpr___prepare_compile_stmt};
+  val_t variable[3];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  return_label816: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___PExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 986, LOCATE_compiling_methods___PExpr___compile_stmt};
+  static val_t once_value_818 = NIT_NULL; /* Once value for string variable[3]*/
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Once String constant */
+  if (once_value_818 != NIT_NULL) variable[3] = once_value_818;
+  else {
+    variable[3] = NEW_String_string___String___with_native(BOX_NativeString("Error!"), TAG_Int(6)) /*new String*/;
+    once_value_818 = variable[3];
+  }
+  /* Register variable[3]: Result */
+  CALL_parser_prod___PNode___printl(variable[0])(variable[0], variable[3]) /*PNode::printl*/;
+  return_label817: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___ABlockExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 992, LOCATE_compiling_methods___ABlockExpr___compile_stmt};
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___ABlockExpr___n_expr(variable[0])(variable[0]) /*ABlockExpr::n_expr*/;
+  /* Register variable[3]: For iterator */
+  variable[3] = CALL_abstract_collection___Collection___iterator(variable[3])(variable[3]) /*List::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[4]: For 'is_ok' result */
+    variable[4] = CALL_abstract_collection___Iterator___is_ok(variable[3])(variable[3]) /*ListIterator::is_ok*/;
+    if (!UNTAG_Bool(variable[4])) break; /*for*/
+    variable[4] = CALL_abstract_collection___Iterator___item(variable[3])(variable[3]) /*ListIterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[5]: Local variable */
+    variable[5] = variable[4];
+    CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/,  variable[5] /*n*/) /*CompilerVisitor::compile_stmt*/;
+    continue_820: while(0);
+    CALL_abstract_collection___Iterator___next(variable[3])(variable[3]) /*ListIterator::next*/;
+  }
+  break_820: while(0);
+  return_label819: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1001, LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt};
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___AVardeclExpr___variable(variable[0])(variable[0]) /*AVardeclExpr::variable*/;
+  CALL_compiling_methods___CFunctionContext___register_variable(variable[3])(variable[3], variable[4]) /*CFunctionContext::register_variable*/;
+  return_label821: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1006, LOCATE_compiling_methods___AVardeclExpr___compile_stmt};
+    static val_t once_value_823 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_824 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_825 = NIT_NULL; /* Once value for string variable[5]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___AVardeclExpr___variable(variable[0])(variable[0]) /*AVardeclExpr::variable*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AVardeclExpr___n_expr(variable[0])(variable[0]) /*AVardeclExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_823 != NIT_NULL) variable[5] = once_value_823;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("/*"), TAG_Int(2)) /*new String*/;
+      once_value_823 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    variable[5] =  variable[3] /*cname*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_824 != NIT_NULL) variable[5] = once_value_824;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(" is variable "), TAG_Int(13)) /*new String*/;
+      once_value_824 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_syntax_base___AVardeclExpr___variable(variable[0])(variable[0]) /*AVardeclExpr::variable*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_syntax_base___Variable___name(variable[5])(variable[5]) /*Variable::name*/;
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[5]: Once String constant */
+    if (once_value_825 != NIT_NULL) variable[5] = once_value_825;
+    else {
+      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+      once_value_825 = variable[5];
+    }
+    /* Register variable[5]: Result */
+    /* Ensure var variable[5]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  } else { /*if*/
+    /* Register variable[4]: Local variable */
+    /* Register variable[5]: Result */
+    variable[5] = CALL_parser_nodes___AVardeclExpr___n_expr(variable[0])(variable[0]) /*AVardeclExpr::n_expr*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
+    variable[4] = variable[5];
+    CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[3] /*cname*/,  variable[4] /*e*/) /*CompilerVisitor::add_assignment*/;
+  }
+  return_label822: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1019, LOCATE_compiling_methods___AReturnExpr___compile_stmt};
+    static val_t once_value_827 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_828 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_829 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_830 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___AReturnExpr___n_expr(variable[0])(variable[0]) /*AReturnExpr::n_expr*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] ==  NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    /* Register variable[3]: Local variable */
+    /* Register variable[4]: Result */
+    variable[4] = CALL_parser_nodes___AReturnExpr___n_expr(variable[0])(variable[0]) /*AReturnExpr::n_expr*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+    variable[3] = variable[4];
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___NitMethodContext___return_value(variable[4])(variable[4]) /*NitMethodContext::return_value*/;
+    CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4],  variable[3] /*e*/) /*CompilerVisitor::add_assignment*/;
+  }
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CFunctionContext___closure(variable[3])(variable[3]) /*CFunctionContext::closure*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool((variable[3] == variable[4]) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3],variable[4])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], variable[4]) /*Object::==*/)))));
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_827 != NIT_NULL) variable[4] = once_value_827;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("closctx->has_broke = &("), TAG_Int(23)) /*new String*/;
+      once_value_827 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___NitMethodContext___return_value(variable[4])(variable[4]) /*NitMethodContext::return_value*/;
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_828 != NIT_NULL) variable[4] = once_value_828;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
+      once_value_828 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
+  }
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_829 != NIT_NULL) variable[4] = once_value_829;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
+    once_value_829 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___NitMethodContext___return_label(variable[4])(variable[4]) /*NitMethodContext::return_label*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_830 != NIT_NULL) variable[4] = once_value_830;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_830 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
+  return_label826: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___ABreakExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1031, LOCATE_compiling_methods___ABreakExpr___compile_stmt};
+    static val_t once_value_832 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_833 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_834 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_835 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___ABreakExpr___n_expr(variable[0])(variable[0]) /*ABreakExpr::n_expr*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] ==  NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    /* Register variable[3]: Local variable */
+    /* Register variable[4]: Result */
+    variable[4] = CALL_parser_nodes___ABreakExpr___n_expr(variable[0])(variable[0]) /*ABreakExpr::n_expr*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+    variable[3] = variable[4];
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___NitMethodContext___break_value(variable[4])(variable[4]) /*NitMethodContext::break_value*/;
+    CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4],  variable[3] /*e*/) /*CompilerVisitor::add_assignment*/;
+  }
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CFunctionContext___closure(variable[3])(variable[3]) /*CFunctionContext::closure*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool((variable[3] == variable[4]) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3],variable[4])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], variable[4]) /*Object::==*/)))));
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_832 != NIT_NULL) variable[4] = once_value_832;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("closctx->has_broke = &("), TAG_Int(23)) /*new String*/;
+      once_value_832 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___NitMethodContext___break_value(variable[4])(variable[4]) /*NitMethodContext::break_value*/;
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[4]: Once String constant */
+    if (once_value_833 != NIT_NULL) variable[4] = once_value_833;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("); closctx->broke_value = *closctx->has_broke;"), TAG_Int(46)) /*new String*/;
+      once_value_833 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Ensure var variable[4]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+    /* Register variable[3]: Result */
+    variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
+  }
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_834 != NIT_NULL) variable[4] = once_value_834;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
+    once_value_834 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___NitMethodContext___break_label(variable[4])(variable[4]) /*NitMethodContext::break_label*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_835 != NIT_NULL) variable[4] = once_value_835;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_835 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
+  return_label831: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AContinueExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1043, LOCATE_compiling_methods___AContinueExpr___compile_stmt};
+  static val_t once_value_837 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_838 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___AContinueExpr___n_expr(variable[0])(variable[0]) /*AContinueExpr::n_expr*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] ==  NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[3])) { /*if*/
+    /* Register variable[3]: Local variable */
+    /* Register variable[4]: Result */
+    variable[4] = CALL_parser_nodes___AContinueExpr___n_expr(variable[0])(variable[0]) /*AContinueExpr::n_expr*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+    variable[3] = variable[4];
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_compiling_methods___NitMethodContext___continue_value(variable[4])(variable[4]) /*NitMethodContext::continue_value*/;
+    CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4],  variable[3] /*e*/) /*CompilerVisitor::add_assignment*/;
+  }
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_837 != NIT_NULL) variable[4] = once_value_837;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
+    once_value_837 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___NitMethodContext___continue_label(variable[4])(variable[4]) /*NitMethodContext::continue_label*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_838 != NIT_NULL) variable[4] = once_value_838;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_838 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
+  return_label836: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1054, LOCATE_compiling_methods___AAbortExpr___compile_stmt};
+  static val_t once_value_840 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_841 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_840 != NIT_NULL) variable[4] = once_value_840;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Aborted\"); "), TAG_Int(28)) /*new String*/;
+    once_value_840 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[0]) /*CompilerVisitor::printf_locate_error*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_841 != NIT_NULL) variable[4] = once_value_841;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1);"), TAG_Int(13)) /*new String*/;
+    once_value_841 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
+  return_label839: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___ADoExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1061, LOCATE_compiling_methods___ADoExpr___compile_stmt};
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___ADoExpr___n_block(variable[0])(variable[0]) /*ADoExpr::n_block*/;
+  CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::compile_stmt*/;
+  return_label842: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1068, LOCATE_compiling_methods___AIfExpr___compile_stmt};
+  static val_t once_value_844 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_845 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_846 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_847 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AIfExpr___n_expr(variable[0])(variable[0]) /*AIfExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_844 != NIT_NULL) variable[5] = once_value_844;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)) /*new String*/;
+    once_value_844 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  variable[5] =  variable[3] /*e*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_845 != NIT_NULL) variable[5] = once_value_845;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)) /*new String*/;
+    once_value_845 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4],  variable[3] /*e*/) /*CFunctionContext::free_var*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AIfExpr___n_then(variable[0])(variable[0]) /*AIfExpr::n_then*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_parser_nodes___AIfExpr___n_then(variable[0])(variable[0]) /*AIfExpr::n_then*/;
+    CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_stmt*/;
+    CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  }
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AIfExpr___n_else(variable[0])(variable[0]) /*AIfExpr::n_else*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    /* Register variable[4]: Once String constant */
+    if (once_value_846 != NIT_NULL) variable[4] = once_value_846;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)) /*new String*/;
+      once_value_846 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+    CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_parser_nodes___AIfExpr___n_else(variable[0])(variable[0]) /*AIfExpr::n_else*/;
+    CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_stmt*/;
+    CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  }
+  /* Register variable[4]: Once String constant */
+  if (once_value_847 != NIT_NULL) variable[4] = once_value_847;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_847 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  return_label843: while(false);
+  tracehead = trace.prev;
+  return;
+}
+val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1089, LOCATE_compiling_methods___AIfexprExpr___compile_expr};
+  static val_t once_value_849 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_850 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_851 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_852 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_853 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_854 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[8];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AIfexprExpr___n_expr(variable[0])(variable[0]) /*AIfexprExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_849 != NIT_NULL) variable[5] = once_value_849;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)) /*new String*/;
+    once_value_849 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  variable[5] =  variable[3] /*e*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_850 != NIT_NULL) variable[5] = once_value_850;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)) /*new String*/;
+    once_value_850 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4],  variable[3] /*e*/) /*CFunctionContext::free_var*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AIfexprExpr___n_then(variable[0])(variable[0]) /*AIfexprExpr::n_then*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_851 != NIT_NULL) variable[6] = once_value_851;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Then value"), TAG_Int(10)) /*new String*/;
+    once_value_851 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[5], variable[6]) /*CompilerVisitor::ensure_var*/;
+  variable[4] = variable[5];
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_852 != NIT_NULL) variable[5] = once_value_852;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)) /*new String*/;
+    once_value_852 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5],  variable[4] /*e*/) /*CFunctionContext::free_var*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_parser_nodes___AIfexprExpr___n_else(variable[0])(variable[0]) /*AIfexprExpr::n_else*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_853 != NIT_NULL) variable[7] = once_value_853;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Else value"), TAG_Int(10)) /*new String*/;
+    once_value_853 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[6], variable[7]) /*CompilerVisitor::ensure_var*/;
+  variable[5] = variable[6];
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[4] /*e*/,  variable[5] /*e2*/) /*CompilerVisitor::add_assignment*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_854 != NIT_NULL) variable[6] = once_value_854;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_854 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
+  variable[2] =  variable[4] /*e*/;
+  goto return_label848;
+  return_label848: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1111, LOCATE_compiling_methods___AControlableBlock___compile_stmt};
+  static val_t once_value_856 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_857 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_858 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_859 = NIT_NULL; /* Once value for string variable[8]*/
+  val_t variable[9];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___NitMethodContext___break_label(variable[4])(variable[4]) /*NitMethodContext::break_label*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___NitMethodContext___continue_label(variable[5])(variable[5]) /*NitMethodContext::continue_label*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_856 != NIT_NULL) variable[8] = once_value_856;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("break_"), TAG_Int(6)) /*new String*/;
+    once_value_856 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  variable[8] =  variable[5] /*id*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_857 != NIT_NULL) variable[8] = once_value_857;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_857 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+  CALL_compiling_methods___NitMethodContext___break_label__eq(variable[6])(variable[6], variable[7]) /*NitMethodContext::break_label=*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_858 != NIT_NULL) variable[8] = once_value_858;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("continue_"), TAG_Int(9)) /*new String*/;
+    once_value_858 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  variable[8] =  variable[5] /*id*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_859 != NIT_NULL) variable[8] = once_value_859;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_859 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+  CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[6])(variable[6], variable[7]) /*NitMethodContext::continue_label=*/;
+  CALL_compiling_methods___AControlableBlock___compile_inside_block(variable[0])(variable[0],  variable[1] /*v*/) /*AControlableBlock::compile_inside_block*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___break_label__eq(variable[6])(variable[6],  variable[3] /*old_break_label*/) /*NitMethodContext::break_label=*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[6])(variable[6],  variable[4] /*old_continue_label*/) /*NitMethodContext::continue_label=*/;
+  return_label855: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AControlableBlock___compile_inside_block(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1110, LOCATE_compiling_methods___AControlableBlock___compile_inside_block};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  fprintf(stderr, "Deferred method called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1110);
+  nit_exit(1);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1129, LOCATE_compiling_methods___AWhileExpr___compile_inside_block};
+  static val_t once_value_861 = NIT_NULL; /* Once value for string variable[3]*/
+  static val_t once_value_862 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_863 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_864 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_865 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_866 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_867 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_868 = NIT_NULL; /* Once value for string variable[5]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Once String constant */
+  if (once_value_861 != NIT_NULL) variable[3] = once_value_861;
+  else {
+    variable[3] = NEW_String_string___String___with_native(BOX_NativeString("while (true) { /*while*/"), TAG_Int(24)) /*new String*/;
+    once_value_861 = variable[3];
+  }
+  /* Register variable[3]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AWhileExpr___n_expr(variable[0])(variable[0]) /*AWhileExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_862 != NIT_NULL) variable[5] = once_value_862;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)) /*new String*/;
+    once_value_862 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  variable[5] =  variable[3] /*e*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_863 != NIT_NULL) variable[5] = once_value_863;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) break; /* while*/"), TAG_Int(20)) /*new String*/;
+    once_value_863 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4],  variable[3] /*e*/) /*CFunctionContext::free_var*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AWhileExpr___n_block(variable[0])(variable[0]) /*AWhileExpr::n_block*/;
+  CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_stmt*/;
+  variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_864 != NIT_NULL) variable[5] = once_value_864;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_864 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___NitMethodContext___continue_label(variable[5])(variable[5]) /*NitMethodContext::continue_label*/;
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_865 != NIT_NULL) variable[5] = once_value_865;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)) /*new String*/;
+    once_value_865 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_866 != NIT_NULL) variable[4] = once_value_866;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_866 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_867 != NIT_NULL) variable[5] = once_value_867;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_867 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___NitMethodContext___break_label(variable[5])(variable[5]) /*NitMethodContext::break_label*/;
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_868 != NIT_NULL) variable[5] = once_value_868;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)) /*new String*/;
+    once_value_868 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  return_label860: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AForExpr___compile_inside_block(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1146, LOCATE_compiling_methods___AForExpr___compile_inside_block};
+  static val_t once_value_870 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_871 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_872 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_873 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_874 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_875 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_876 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_877 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_878 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_879 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_880 = NIT_NULL; /* Once value for string variable[10]*/
+  val_t variable[11];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AForExpr___n_expr(variable[0])(variable[0]) /*AForExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_typing___AForExpr___meth_iterator(variable[0])(variable[0]) /*AForExpr::meth_iterator*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMLocalProperty___signature(variable[5])(variable[5]) /*MMLocalProperty::signature*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMSignature___return_type(variable[5])(variable[5]) /*MMSignature::return_type*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5],  variable[3] /*e*/) /*CFunctionContext::free_var*/;
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_870 != NIT_NULL) variable[7] = once_value_870;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("For iterator"), TAG_Int(12)) /*new String*/;
+    once_value_870 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CFunctionContext___get_var(variable[6])(variable[6], variable[7]) /*CFunctionContext::get_var*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = CALL_typing___AForExpr___meth_iterator(variable[0])(variable[0]) /*AForExpr::meth_iterator*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  variable[3] /*e*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[6])(variable[6],  variable[1] /*v*/, variable[7]) /*MMMethod::compile_expr_call*/;
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[5] /*iter*/, variable[6]) /*CompilerVisitor::add_assignment*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_871 != NIT_NULL) variable[6] = once_value_871;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("while (true) { /*for*/"), TAG_Int(22)) /*new String*/;
+    once_value_871 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_872 != NIT_NULL) variable[8] = once_value_872;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("For 'is_ok' result"), TAG_Int(18)) /*new String*/;
+    once_value_872 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CFunctionContext___get_var(variable[7])(variable[7], variable[8]) /*CFunctionContext::get_var*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Result */
+  variable[7] = CALL_typing___AForExpr___meth_is_ok(variable[0])(variable[0]) /*AForExpr::meth_is_ok*/;
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8],  variable[5] /*iter*/) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[7])(variable[7],  variable[1] /*v*/, variable[8]) /*MMMethod::compile_expr_call*/;
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[6] /*ok*/, variable[7]) /*CompilerVisitor::add_assignment*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_873 != NIT_NULL) variable[8] = once_value_873;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)) /*new String*/;
+    once_value_873 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  variable[8] =  variable[6] /*ok*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_874 != NIT_NULL) variable[8] = once_value_874;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")) break; /*for*/"), TAG_Int(17)) /*new String*/;
+    once_value_874 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[7])(variable[7],  variable[6] /*ok*/) /*CFunctionContext::free_var*/;
+  /* Register variable[7]: Local variable */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_typing___AForExpr___meth_item(variable[0])(variable[0]) /*AForExpr::meth_item*/;
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  variable[5] /*iter*/) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[8])(variable[8],  variable[1] /*v*/, variable[9]) /*MMMethod::compile_expr_call*/;
+  variable[7] = variable[8];
+  /* Register variable[8]: Once String constant */
+  if (once_value_875 != NIT_NULL) variable[8] = once_value_875;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("For item"), TAG_Int(8)) /*new String*/;
+    once_value_875 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/,  variable[7] /*e*/, variable[8]) /*CompilerVisitor::ensure_var*/;
+  variable[7] = variable[8] /*e=*/;
+  /* Register variable[8]: Local variable */
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_syntax_base___AForExpr___variable(variable[0])(variable[0]) /*AForExpr::variable*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CFunctionContext___register_variable(variable[9])(variable[9], variable[10]) /*CFunctionContext::register_variable*/;
+  variable[8] = variable[9];
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[8] /*cname*/,  variable[7] /*e*/) /*CompilerVisitor::add_assignment*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_parser_nodes___AForExpr___n_block(variable[0])(variable[0]) /*AForExpr::n_block*/;
+  CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::compile_stmt*/;
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_876 != NIT_NULL) variable[10] = once_value_876;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_876 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___NitMethodContext___continue_label(variable[10])(variable[10]) /*NitMethodContext::continue_label*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_877 != NIT_NULL) variable[10] = once_value_877;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)) /*new String*/;
+    once_value_877 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_typing___AForExpr___meth_next(variable[0])(variable[0]) /*AForExpr::meth_next*/;
+  variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10],  variable[5] /*iter*/) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  CALL_compiling_methods___MMMethod___compile_stmt_call(variable[9])(variable[9],  variable[1] /*v*/, variable[10]) /*MMMethod::compile_stmt_call*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_878 != NIT_NULL) variable[9] = once_value_878;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_878 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_879 != NIT_NULL) variable[10] = once_value_879;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_879 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___NitMethodContext___break_label(variable[10])(variable[10]) /*NitMethodContext::break_label*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_880 != NIT_NULL) variable[10] = once_value_880;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)) /*new String*/;
+    once_value_880 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
+  return_label869: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1173, LOCATE_compiling_methods___AAssertExpr___compile_stmt};
+  static val_t once_value_882 = NIT_NULL; /* Once value for string variable[5]*/
+    static val_t once_value_883 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_884 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_885 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_886 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_887 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_888 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAssertExpr___n_expr(variable[0])(variable[0]) /*AAssertExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Once String constant */
+  if (once_value_882 != NIT_NULL) variable[5] = once_value_882;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_882 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  variable[4] = variable[5];
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AAssertExpr___n_id(variable[0])(variable[0]) /*AAssertExpr::n_id*/;
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] ==  NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[5])) { /*if*/
+    variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_883 != NIT_NULL) variable[6] = once_value_883;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" '"), TAG_Int(2)) /*new String*/;
+      once_value_883 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_parser_nodes___AAssertExpr___n_id(variable[0])(variable[0]) /*AAssertExpr::n_id*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_lexer___Token___text(variable[6])(variable[6]) /*Token::text*/;
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_884 != NIT_NULL) variable[6] = once_value_884;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("' "), TAG_Int(2)) /*new String*/;
+      once_value_884 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+    variable[4] = variable[5] /*s=*/;
+  }
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_885 != NIT_NULL) variable[6] = once_value_885;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)) /*new String*/;
+    once_value_885 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*e*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_886 != NIT_NULL) variable[6] = once_value_886;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Assert%s failed\", \""), TAG_Int(41)) /*new String*/;
+    once_value_886 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[4] /*s*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_887 != NIT_NULL) variable[6] = once_value_887;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("\"); "), TAG_Int(4)) /*new String*/;
+    once_value_887 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[0]) /*CompilerVisitor::printf_locate_error*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_888 != NIT_NULL) variable[6] = once_value_888;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1);}"), TAG_Int(14)) /*new String*/;
+    once_value_888 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  return_label881: while(false);
+  tracehead = trace.prev;
+  return;
+}
+val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1185, LOCATE_compiling_methods___AVarExpr___compile_expr};
+  static val_t once_value_890 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_891 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_892 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_890 != NIT_NULL) variable[4] = once_value_890;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)) /*new String*/;
+    once_value_890 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_891 != NIT_NULL) variable[4] = once_value_891;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)) /*new String*/;
+    once_value_891 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___Variable___name(variable[4])(variable[4]) /*Variable::name*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_892 != NIT_NULL) variable[4] = once_value_892;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_892 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  variable[2] = variable[3];
+  goto return_label889;
+  return_label889: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1192, LOCATE_compiling_methods___AVarAssignExpr___compile_stmt};
+  static val_t once_value_894 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_895 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_896 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAssignFormExpr___n_value(variable[0])(variable[0]) /*AAssignFormExpr::n_value*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_894 != NIT_NULL) variable[6] = once_value_894;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_894 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*e*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_895 != NIT_NULL) variable[6] = once_value_895;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)) /*new String*/;
+    once_value_895 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_syntax_base___Variable___name(variable[6])(variable[6]) /*Variable::name*/;
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_896 != NIT_NULL) variable[6] = once_value_896;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("=*/"), TAG_Int(3)) /*new String*/;
+    once_value_896 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[5]) /*CompilerVisitor::add_assignment*/;
+  return_label893: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1200, LOCATE_compiling_methods___AVarReassignExpr___compile_stmt};
+  static val_t once_value_898 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_899 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_900 = NIT_NULL; /* Once value for string variable[8]*/
+  val_t variable[9];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[0])(variable[0]) /*AReassignFormExpr::n_value*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_typing___AReassignFormExpr___assign_method(variable[0])(variable[0]) /*AReassignFormExpr::assign_method*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  variable[3] /*e1*/) /*AbstractArray::add*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  variable[4] /*e2*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[6])(variable[6],  variable[1] /*v*/, variable[7]) /*MMMethod::compile_expr_call*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CFunctionContext___varname(variable[6])(variable[6], variable[7]) /*CFunctionContext::varname*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_898 != NIT_NULL) variable[8] = once_value_898;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_898 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  variable[8] =  variable[5] /*e3*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_899 != NIT_NULL) variable[8] = once_value_899;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)) /*new String*/;
+    once_value_899 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_syntax_base___Variable___name(variable[8])(variable[8]) /*Variable::name*/;
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_900 != NIT_NULL) variable[8] = once_value_900;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_900 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[6], variable[7]) /*CompilerVisitor::add_assignment*/;
+  return_label897: while(false);
+  tracehead = trace.prev;
+  return;
+}
+val_t compiling_methods___ASelfExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1210, LOCATE_compiling_methods___ASelfExpr___compile_expr};
+  val_t variable[9];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___NitMethodContext___method_params(variable[4])(variable[4]) /*NitMethodContext::method_params*/;
+  /* Register variable[5]: Local variable */
+  variable[5] = variable[4];
+  /* Register variable[6]: Local variable */
+  variable[6] =  TAG_Int(0);
+  /* Register variable[7]: Method return value and escape marker */
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[8]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[8])) { /* and */
+    /* Register variable[8]: Result */
+    variable[8] = ATTR_array___AbstractArrayRead____length(variable[5]) /*AbstractArrayRead::_length*/;
+    /* Register variable[8]: Result */
+    variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)<UNTAG_Int(variable[8]));
+  }
+  /* Register variable[8]: Result */
+  if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[8]: Result */
+  variable[8] = ATTR_array___Array____items(variable[5]) /*Array::_items*/;
+  /* Register variable[8]: Result */
+  variable[8] = UNBOX_NativeArray(variable[8])[UNTAG_Int( variable[6] /*index*/)];
+  variable[7] = variable[8];
+  goto return_label902;
+  return_label902: while(false);
+  /* Register variable[4]: Result */
+  variable[4] = variable[7];
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CFunctionContext___varname(variable[3])(variable[3], variable[4]) /*CFunctionContext::varname*/;
+  variable[2] = variable[3];
+  goto return_label901;
+  return_label901: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1217, LOCATE_compiling_methods___AOrExpr___compile_expr};
+  static val_t once_value_904 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_905 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_906 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_907 = NIT_NULL; /* Once value for string variable[5]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AOrExpr___n_expr(variable[0])(variable[0]) /*AOrExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_904 != NIT_NULL) variable[5] = once_value_904;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("Left 'or' operand"), TAG_Int(17)) /*new String*/;
+    once_value_904 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[5]) /*CompilerVisitor::ensure_var*/;
+  variable[3] = variable[4];
+  variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_905 != NIT_NULL) variable[5] = once_value_905;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)) /*new String*/;
+    once_value_905 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  variable[5] =  variable[3] /*e*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_906 != NIT_NULL) variable[5] = once_value_906;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) { /* or */"), TAG_Int(13)) /*new String*/;
+    once_value_906 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4],  variable[3] /*e*/) /*CFunctionContext::free_var*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AOrExpr___n_expr2(variable[0])(variable[0]) /*AOrExpr::n_expr2*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
+  variable[4] = variable[5];
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[3] /*e*/,  variable[4] /*e2*/) /*CompilerVisitor::add_assignment*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_907 != NIT_NULL) variable[5] = once_value_907;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_907 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  variable[2] =  variable[3] /*e*/;
+  goto return_label903;
+  return_label903: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1232, LOCATE_compiling_methods___AAndExpr___compile_expr};
+  static val_t once_value_909 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_910 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_911 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_912 = NIT_NULL; /* Once value for string variable[5]*/
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAndExpr___n_expr(variable[0])(variable[0]) /*AAndExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_909 != NIT_NULL) variable[5] = once_value_909;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("Left 'and' operand"), TAG_Int(18)) /*new String*/;
+    once_value_909 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[5]) /*CompilerVisitor::ensure_var*/;
+  variable[3] = variable[4];
+  variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_910 != NIT_NULL) variable[5] = once_value_910;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)) /*new String*/;
+    once_value_910 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  variable[5] =  variable[3] /*e*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_911 != NIT_NULL) variable[5] = once_value_911;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) { /* and */"), TAG_Int(14)) /*new String*/;
+    once_value_911 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  /* Ensure var variable[5]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4],  variable[3] /*e*/) /*CFunctionContext::free_var*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AAndExpr___n_expr2(variable[0])(variable[0]) /*AAndExpr::n_expr2*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
+  variable[4] = variable[5];
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[3] /*e*/,  variable[4] /*e2*/) /*CompilerVisitor::add_assignment*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_912 != NIT_NULL) variable[5] = once_value_912;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_912 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  variable[2] =  variable[3] /*e*/;
+  goto return_label908;
+  return_label908: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1247, LOCATE_compiling_methods___ANotExpr___compile_expr};
+  static val_t once_value_914 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_915 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_914 != NIT_NULL) variable[4] = once_value_914;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(!UNTAG_Bool("), TAG_Int(22)) /*new String*/;
+    once_value_914 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___ANotExpr___n_expr(variable[0])(variable[0]) /*ANotExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_915 != NIT_NULL) variable[4] = once_value_915;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+    once_value_915 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  variable[2] = variable[3];
+  goto return_label913;
+  return_label913: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1254, LOCATE_compiling_methods___AEeExpr___compile_expr};
+  static val_t once_value_917 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_918 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_919 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AEeExpr___n_expr(variable[0])(variable[0]) /*AEeExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AEeExpr___n_expr2(variable[0])(variable[0]) /*AEeExpr::n_expr2*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
+  variable[4] = variable[5];
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_917 != NIT_NULL) variable[6] = once_value_917;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(IS_EQUAL_NN("), TAG_Int(21)) /*new String*/;
+    once_value_917 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*e*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_918 != NIT_NULL) variable[6] = once_value_918;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)) /*new String*/;
+    once_value_918 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[4] /*e2*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_919 != NIT_NULL) variable[6] = once_value_919;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
+    once_value_919 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  variable[2] = variable[5];
+  goto return_label916;
+  return_label916: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1263, LOCATE_compiling_methods___AIsaExpr___compile_expr};
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AIsaExpr___n_expr(variable[0])(variable[0]) /*AIsaExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AIsaExpr___n_type(variable[0])(variable[0]) /*AIsaExpr::n_type*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___PType___stype(variable[4])(variable[4]) /*PType::stype*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AIsaExpr___n_expr(variable[0])(variable[0]) /*AIsaExpr::n_expr*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___PExpr___stype(variable[5])(variable[5]) /*PExpr::stype*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___MMType___compile_cast(variable[4])(variable[4],  variable[1] /*v*/,  variable[3] /*e*/, variable[5]) /*MMType::compile_cast*/;
+  variable[2] = variable[4];
+  goto return_label920;
+  return_label920: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AAsCastExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1271, LOCATE_compiling_methods___AAsCastExpr___compile_expr};
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAsCastExpr___n_expr(variable[0])(variable[0]) /*AAsCastExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAsCastExpr___n_type(variable[0])(variable[0]) /*AAsCastExpr::n_type*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___PType___stype(variable[4])(variable[4]) /*PType::stype*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AAsCastExpr___n_expr(variable[0])(variable[0]) /*AAsCastExpr::n_expr*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___PExpr___stype(variable[5])(variable[5]) /*PExpr::stype*/;
+  CALL_compiling_methods___MMType___compile_type_check(variable[4])(variable[4],  variable[1] /*v*/,  variable[3] /*e*/, variable[0], variable[5]) /*MMType::compile_type_check*/;
+  variable[2] =  variable[3] /*e*/;
+  goto return_label921;
+  return_label921: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AAsNotnullExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1280, LOCATE_compiling_methods___AAsNotnullExpr___compile_expr};
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAsNotnullExpr___n_expr(variable[0])(variable[0]) /*AAsNotnullExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAsNotnullExpr___n_expr(variable[0])(variable[0]) /*AAsNotnullExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___PExpr___stype(variable[4])(variable[4]) /*PExpr::stype*/;
+  CALL_compiling_methods___MMType___compile_notnull_check(variable[4])(variable[4],  variable[1] /*v*/,  variable[3] /*e*/, variable[0]) /*MMType::compile_notnull_check*/;
+  variable[2] =  variable[3] /*e*/;
+  goto return_label922;
+  return_label922: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___ATrueExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1289, LOCATE_compiling_methods___ATrueExpr___compile_expr};
+  static val_t once_value_924 = NIT_NULL; /* Once value for string variable[3]*/
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Once String constant */
+  if (once_value_924 != NIT_NULL) variable[3] = once_value_924;
+  else {
+    variable[3] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)) /*new String*/;
+    once_value_924 = variable[3];
+  }
+  /* Register variable[3]: Result */
+  variable[2] = variable[3];
+  goto return_label923;
+  return_label923: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AFalseExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1296, LOCATE_compiling_methods___AFalseExpr___compile_expr};
+  static val_t once_value_926 = NIT_NULL; /* Once value for string variable[3]*/
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Once String constant */
+  if (once_value_926 != NIT_NULL) variable[3] = once_value_926;
+  else {
+    variable[3] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(false)"), TAG_Int(16)) /*new String*/;
+    once_value_926 = variable[3];
+  }
+  /* Register variable[3]: Result */
+  variable[2] = variable[3];
+  goto return_label925;
+  return_label925: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1303, LOCATE_compiling_methods___AIntExpr___compile_expr};
+  static val_t once_value_928 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_929 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_928 != NIT_NULL) variable[4] = once_value_928;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Int("), TAG_Int(9)) /*new String*/;
+    once_value_928 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AIntExpr___n_number(variable[0])(variable[0]) /*AIntExpr::n_number*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_lexer___Token___text(variable[4])(variable[4]) /*Token::text*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_929 != NIT_NULL) variable[4] = once_value_929;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_929 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  variable[2] = variable[3];
+  goto return_label927;
+  return_label927: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AFloatExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1310, LOCATE_compiling_methods___AFloatExpr___compile_expr};
+  static val_t once_value_931 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_932 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_931 != NIT_NULL) variable[4] = once_value_931;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float("), TAG_Int(10)) /*new String*/;
+    once_value_931 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AFloatExpr___n_float(variable[0])(variable[0]) /*AFloatExpr::n_float*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_lexer___Token___text(variable[4])(variable[4]) /*Token::text*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_932 != NIT_NULL) variable[4] = once_value_932;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_932 = variable[4];
   }
-  variable6 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
-  variable6 = ((static_type___MMSignature___return_type_t)CALL(variable6,COLOR_static_type___MMSignature___return_type))(variable6) /*MMSignature::return_type*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable6 ==  NIT_NULL /*null*/) || ((variable6 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable6, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))(variable6,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  variable7 = variable6;
-  if (UNTAG_Bool(variable7)) { /* and */
-    variable7 = TAG_Bool(( variable5 /*s*/ ==  NIT_NULL /*null*/) || (( variable5 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable5 /*s*/,COLOR_kernel___Object_____eqeq))( variable5 /*s*/,  NIT_NULL /*null*/) /*String::==*/)));
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  variable[2] = variable[3];
+  goto return_label930;
+  return_label930: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___ACharExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1317, LOCATE_compiling_methods___ACharExpr___compile_expr};
+  static val_t once_value_934 = NIT_NULL; /* Once value for string variable[4]*/
+  static val_t once_value_935 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_934 != NIT_NULL) variable[4] = once_value_934;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Char("), TAG_Int(10)) /*new String*/;
+    once_value_934 = variable[4];
   }
-  variable6 = variable7;
-  if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("NIT_NULL /*stub*/"), TAG_Int(17)); /*new String*/
-    variable5 = variable6 /*s=*/;
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___ACharExpr___n_char(variable[0])(variable[0]) /*ACharExpr::n_char*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_lexer___Token___text(variable[4])(variable[4]) /*Token::text*/;
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[4]: Once String constant */
+  if (once_value_935 != NIT_NULL) variable[4] = once_value_935;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_935 = variable[4];
   }
-  variable3 =  variable5 /*s*/;
-  goto return_label57;
-  return_label57: while(false);
+  /* Register variable[4]: Result */
+  /* Ensure var variable[4]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
+  variable[2] = variable[3];
+  goto return_label933;
+  return_label933: while(false);
   tracehead = trace.prev;
-  return variable3;
+  return variable[2];
 }
-val_t compiling_methods___PExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::PExpr::compile_expr (src/compiling//compiling_methods.nit:666,2--668:46)"};
+val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1324, LOCATE_compiling_methods___AStringFormExpr___compile_expr};
+  static val_t once_value_937 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_938 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_939 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_940 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_941 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_942 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_943 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_944 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_945 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_946 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_947 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_948 = NIT_NULL; /* Once value for string variable[11]*/
+  static val_t once_value_949 = NIT_NULL; /* Once value for string variable[11]*/
+  static val_t once_value_950 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_951 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_952 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_953 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[12];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  CALL_compiling_methods___AStringFormExpr___compute_string_info(variable[0])(variable[0]) /*AStringFormExpr::compute_string_info*/;
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_937 != NIT_NULL) variable[6] = once_value_937;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Once String constant"), TAG_Int(20)) /*new String*/;
+    once_value_937 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5], variable[6]) /*CFunctionContext::get_var*/;
+  variable[4] = variable[5];
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_938 != NIT_NULL) variable[6] = once_value_938;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("static val_t once_value_"), TAG_Int(24)) /*new String*/;
+    once_value_938 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_939 != NIT_NULL) variable[6] = once_value_939;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" = NIT_NULL; /* Once value for string "), TAG_Int(38)) /*new String*/;
+    once_value_939 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[4] /*cvar*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_940 != NIT_NULL) variable[6] = once_value_940;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_940 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_decl*/;
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_941 != NIT_NULL) variable[6] = once_value_941;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (once_value_"), TAG_Int(15)) /*new String*/;
+    once_value_941 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_942 != NIT_NULL) variable[6] = once_value_942;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" != NIT_NULL) "), TAG_Int(14)) /*new String*/;
+    once_value_942 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[4] /*cvar*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_943 != NIT_NULL) variable[6] = once_value_943;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" = once_value_"), TAG_Int(14)) /*new String*/;
+    once_value_943 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_944 != NIT_NULL) variable[6] = once_value_944;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_944 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_945 != NIT_NULL) variable[5] = once_value_945;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("else {"), TAG_Int(6)) /*new String*/;
+    once_value_945 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5],  variable[4] /*cvar*/) /*CFunctionContext::free_var*/;
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_typing___AStringFormExpr___meth_with_native(variable[0])(variable[0]) /*AStringFormExpr::meth_with_native*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_946 != NIT_NULL) variable[10] = once_value_946;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeString(\""), TAG_Int(18)) /*new String*/;
+    once_value_946 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = ATTR_compiling_methods___AStringFormExpr____cstring(variable[0]) /*AStringFormExpr::_cstring*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_947 != NIT_NULL) variable[10] = once_value_947;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("\")"), TAG_Int(2)) /*new String*/;
+    once_value_947 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[11]: Once String constant */
+  if (once_value_948 != NIT_NULL) variable[11] = once_value_948;
+  else {
+    variable[11] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)) /*new String*/;
+    once_value_948 = variable[11];
+  }
+  /* Register variable[11]: Result */
+  /* Ensure var variable[11]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+  /* Register variable[11]: Result */
+  variable[11] = ATTR_compiling_methods___AStringFormExpr____cstring_length(variable[0]) /*AStringFormExpr::_cstring_length*/;
+  /* Ensure var variable[11]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[11]: Once String constant */
+  if (once_value_949 != NIT_NULL) variable[11] = once_value_949;
+  else {
+    variable[11] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_949 = variable[11];
+  }
+  /* Register variable[11]: Result */
+  /* Ensure var variable[11]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[6])(variable[6],  variable[1] /*v*/, variable[7], variable[8]) /*MMMethod::compile_constructor_call*/;
+  variable[5] = variable[6];
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[4] /*cvar*/,  variable[5] /*e*/) /*CompilerVisitor::add_assignment*/;
+  variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_950 != NIT_NULL) variable[7] = once_value_950;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("once_value_"), TAG_Int(11)) /*new String*/;
+    once_value_950 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  variable[7] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_951 != NIT_NULL) variable[7] = once_value_951;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)) /*new String*/;
+    once_value_951 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  variable[7] =  variable[4] /*cvar*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_952 != NIT_NULL) variable[7] = once_value_952;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_952 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_953 != NIT_NULL) variable[6] = once_value_953;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_953 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
+  variable[2] =  variable[4] /*cvar*/;
+  goto return_label936;
+  return_label936: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+val_t compiling_methods___AStringFormExpr___string_text(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 1342, LOCATE_compiling_methods___AStringFormExpr___string_text};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method compile_expr called (src/compiling//compiling_methods.nit:666,2)\n");
+  trace.file = LOCATE_compiling_methods;
+  fprintf(stderr, "Deferred method called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1342);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
-void compiling_methods___PExpr___prepare_compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::PExpr::prepare_compile_stmt (src/compiling//compiling_methods.nit:670,2--673:45)"};
-  val_t variable0;
+void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 1351, LOCATE_compiling_methods___AStringFormExpr___compute_string_info};
+  val_t variable[9];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Method return value and escape marker */
+  /* Register variable[2]: Local variable */
+  variable[2] =  TAG_Int(0);
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___AStringFormExpr___string_text(variable[0])(variable[0]) /*AStringFormExpr::string_text*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = NEW_Buffer_string___Buffer___init() /*new Buffer*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Local variable */
+  variable[5] =  TAG_Int(0);
+  while (true) { /*while*/
+    /* Register variable[6]: Result */
+    variable[6] = CALL_abstract_collection___Collection___length( variable[3] /*str*/)( variable[3] /*str*/) /*AbstractArrayRead::length*/;
+    /* Register variable[6]: Result */
+    variable[6] = TAG_Bool(UNTAG_Int( variable[5] /*i*/)<UNTAG_Int(variable[6]));
+    if (!UNTAG_Bool(variable[6])) break; /* while*/
+    /* Register variable[6]: Local variable */
+    /* Register variable[7]: Result */
+    variable[7] = CALL_abstract_collection___MapRead_____bra( variable[3] /*str*/)( variable[3] /*str*/,  variable[5] /*i*/) /*AbstractString::[]*/;
+    variable[6] = variable[7];
+    /* Register variable[7]: Result */
+    variable[7] = TAG_Bool(( variable[6] /*c*/)==( TAG_Char('\\')));
+    if (UNTAG_Bool(variable[7])) { /*if*/
+      /* Register variable[7]: Result */
+      variable[7] = TAG_Int(UNTAG_Int( variable[5] /*i*/)+UNTAG_Int( TAG_Int(1)));
+      variable[5] = variable[7] /*i=*/;
+      /* Register variable[7]: Local variable */
+      /* Register variable[8]: Result */
+      variable[8] = CALL_abstract_collection___MapRead_____bra( variable[3] /*str*/)( variable[3] /*str*/,  variable[5] /*i*/) /*AbstractString::[]*/;
+      variable[7] = variable[8];
+      /* Register variable[8]: Result */
+      variable[8] = TAG_Bool(( variable[7] /*c2*/)!=( TAG_Char('{')));
+      /* Ensure var variable[8]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[8])) { /* and */
+        /* Register variable[8]: Result */
+        variable[8] = TAG_Bool(( variable[7] /*c2*/)!=( TAG_Char('}')));
+      }
+      /* Register variable[8]: Result */
+      if (UNTAG_Bool(variable[8])) { /*if*/
+        CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/,  variable[6] /*c*/) /*Buffer::add*/;
+      }
+      variable[6] =  variable[7] /*c2*/ /*c=*/;
+    }
+    /* Register variable[7]: Result */
+    variable[7] = TAG_Int(UNTAG_Int( variable[2] /*len*/)+UNTAG_Int( TAG_Int(1)));
+    variable[2] = variable[7] /*len=*/;
+    CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/,  variable[6] /*c*/) /*Buffer::add*/;
+    /* Register variable[7]: Result */
+    variable[7] = TAG_Int(UNTAG_Int( variable[5] /*i*/)+UNTAG_Int( TAG_Int(1)));
+    variable[5] = variable[7] /*i=*/;
+    continue_955: while(0);
+  }
+  break_955: while(0);
+  /* Register variable[6]: Result */
+  variable[6] = CALL_string___Object___to_s( variable[4] /*res*/)( variable[4] /*res*/) /*Buffer::to_s*/;
+  ATTR_compiling_methods___AStringFormExpr____cstring(variable[0]) /*AStringFormExpr::_cstring*/ = variable[6];
+  ATTR_compiling_methods___AStringFormExpr____cstring_length(variable[0]) /*AStringFormExpr::_cstring_length*/ =  variable[2] /*len*/;
+  return_label954: while(false);
   tracehead = trace.prev;
   return;
 }
-void compiling_methods___PExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::PExpr::compile_stmt (src/compiling//compiling_methods.nit:675,2--677:57)"};
-  val_t variable0;
-  val_t variable1;
+val_t compiling_methods___AStringExpr___string_text(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 1378, LOCATE_compiling_methods___AStringExpr___string_text};
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("Error!"), TAG_Int(6)); /*new String*/
-  ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable1) /*PExpr::printl*/;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Method return value and escape marker */
+  /* Register variable[2]: Result */
+  variable[2] = CALL_parser_nodes___AStringExpr___n_string(variable[0])(variable[0]) /*AStringExpr::n_string*/;
+  /* Register variable[2]: Result */
+  variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___AStringExpr___n_string(variable[0])(variable[0]) /*AStringExpr::n_string*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
+  /* Register variable[2]: Result */
+  variable[2] = CALL_string___AbstractString___substring(variable[2])(variable[2],  TAG_Int(1), variable[3]) /*AbstractString::substring*/;
+  variable[1] = variable[2];
+  goto return_label956;
+  return_label956: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[1];
 }
-void compiling_methods___ABlockExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ABlockExpr::compile_stmt (src/compiling//compiling_methods.nit:681,2--684:19)"};
-  val_t variable0;
-  val_t variable1;
-    val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((parser_nodes___ABlockExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ABlockExpr___n_expr))( self) /*ABlockExpr::n_expr*/;
-  variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
+val_t compiling_methods___AStartStringExpr___string_text(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 1381, LOCATE_compiling_methods___AStartStringExpr___string_text};
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Method return value and escape marker */
+  /* Register variable[2]: Result */
+  variable[2] = CALL_parser_nodes___AStartStringExpr___n_string(variable[0])(variable[0]) /*AStartStringExpr::n_string*/;
+  /* Register variable[2]: Result */
+  variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___AStartStringExpr___n_string(variable[0])(variable[0]) /*AStartStringExpr::n_string*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
+  /* Register variable[2]: Result */
+  variable[2] = CALL_string___AbstractString___substring(variable[2])(variable[2],  TAG_Int(1), variable[3]) /*AbstractString::substring*/;
+  variable[1] = variable[2];
+  goto return_label957;
+  return_label957: while(false);
+  tracehead = trace.prev;
+  return variable[1];
+}
+val_t compiling_methods___AMidStringExpr___string_text(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 1384, LOCATE_compiling_methods___AMidStringExpr___string_text};
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Method return value and escape marker */
+  /* Register variable[2]: Result */
+  variable[2] = CALL_parser_nodes___AMidStringExpr___n_string(variable[0])(variable[0]) /*AMidStringExpr::n_string*/;
+  /* Register variable[2]: Result */
+  variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___AMidStringExpr___n_string(variable[0])(variable[0]) /*AMidStringExpr::n_string*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
+  /* Register variable[2]: Result */
+  variable[2] = CALL_string___AbstractString___substring(variable[2])(variable[2],  TAG_Int(1), variable[3]) /*AbstractString::substring*/;
+  variable[1] = variable[2];
+  goto return_label958;
+  return_label958: while(false);
+  tracehead = trace.prev;
+  return variable[1];
+}
+val_t compiling_methods___AEndStringExpr___string_text(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 1387, LOCATE_compiling_methods___AEndStringExpr___string_text};
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Method return value and escape marker */
+  /* Register variable[2]: Result */
+  variable[2] = CALL_parser_nodes___AEndStringExpr___n_string(variable[0])(variable[0]) /*AEndStringExpr::n_string*/;
+  /* Register variable[2]: Result */
+  variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___AEndStringExpr___n_string(variable[0])(variable[0]) /*AEndStringExpr::n_string*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/;
+  /* Register variable[3]: Result */
+  variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
+  /* Register variable[2]: Result */
+  variable[2] = CALL_string___AbstractString___substring(variable[2])(variable[2],  TAG_Int(1), variable[3]) /*AbstractString::substring*/;
+  variable[1] = variable[2];
+  goto return_label959;
+  return_label959: while(false);
+  tracehead = trace.prev;
+  return variable[1];
+}
+val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1391, LOCATE_compiling_methods___ASuperstringExpr___compile_expr};
+  static val_t once_value_961 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_962 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_963 = NIT_NULL; /* Once value for string variable[4]*/
+    static val_t once_value_965 = NIT_NULL; /* Once value for string variable[9]*/
+  val_t variable[10];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___ASuperstringExpr___meth_with_capacity(variable[0])(variable[0]) /*ASuperstringExpr::meth_with_capacity*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_typing___ASuperstringExpr___atype(variable[0])(variable[0]) /*ASuperstringExpr::atype*/;
+  variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_961 != NIT_NULL) variable[8] = once_value_961;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)) /*new String*/;
+    once_value_961 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_parser_nodes___ASuperstringExpr___n_exprs(variable[0])(variable[0]) /*ASuperstringExpr::n_exprs*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_abstract_collection___Collection___length(variable[8])(variable[8]) /*List::length*/;
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_962 != NIT_NULL) variable[8] = once_value_962;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_962 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[4])(variable[4],  variable[1] /*v*/, variable[5], variable[6]) /*MMMethod::compile_constructor_call*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Once String constant */
+  if (once_value_963 != NIT_NULL) variable[4] = once_value_963;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Array (for super-string)"), TAG_Int(24)) /*new String*/;
+    once_value_963 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/,  variable[3] /*array*/, variable[4]) /*CompilerVisitor::ensure_var*/;
+  variable[3] = variable[4] /*array=*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___ASuperstringExpr___n_exprs(variable[0])(variable[0]) /*ASuperstringExpr::n_exprs*/;
+  /* Register variable[4]: For iterator */
+  variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*List::iterator*/;
   while (true) { /*for*/
-    variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
-    if (!UNTAG_Bool(variable2)) break; /*for*/
-    variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
-    ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/,  variable2 /*n*/) /*CompilerVisitor::compile_stmt*/;
-    continue_257: while(0);
-    ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
+    /* Register variable[5]: For 'is_ok' result */
+    variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ListIterator::is_ok*/;
+    if (!UNTAG_Bool(variable[5])) break; /*for*/
+    variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ListIterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[6]: Local variable */
+    variable[6] = variable[5];
+    /* Register variable[7]: Local variable */
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/,  variable[6] /*ne*/) /*CompilerVisitor::compile_expr*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_965 != NIT_NULL) variable[9] = once_value_965;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("super-string element"), TAG_Int(20)) /*new String*/;
+      once_value_965 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[8], variable[9]) /*CompilerVisitor::ensure_var*/;
+    variable[7] = variable[8];
+    /* Register variable[8]: Result */
+    variable[8] = CALL_syntax_base___PExpr___stype( variable[6] /*ne*/)( variable[6] /*ne*/) /*PExpr::stype*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
+    /* Register variable[8]: Result */
+    variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == variable[9]) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8],variable[9])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], variable[9]) /*Object::==*/)))))));
+    if (UNTAG_Bool(variable[8])) { /*if*/
+      /* Register variable[8]: Result */
+      variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+      CALL_compiling_methods___CFunctionContext___free_var(variable[8])(variable[8],  variable[7] /*e*/) /*CFunctionContext::free_var*/;
+      /* Register variable[8]: Result */
+      variable[8] = CALL_typing___ASuperstringExpr___meth_to_s(variable[0])(variable[0]) /*ASuperstringExpr::meth_to_s*/;
+      variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+      CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  variable[7] /*e*/) /*AbstractArray::add*/;
+      /* Register variable[9]: Result */
+      /* Register variable[8]: Result */
+      variable[8] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[8])(variable[8],  variable[1] /*v*/, variable[9]) /*MMMethod::compile_expr_call*/;
+      variable[7] = variable[8] /*e=*/;
+    }
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+    CALL_compiling_methods___CFunctionContext___free_var(variable[8])(variable[8],  variable[7] /*e*/) /*CFunctionContext::free_var*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_typing___ASuperstringExpr___meth_add(variable[0])(variable[0]) /*ASuperstringExpr::meth_add*/;
+    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  variable[3] /*array*/) /*AbstractArray::add*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  variable[7] /*e*/) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    CALL_compiling_methods___MMMethod___compile_stmt_call(variable[8])(variable[8],  variable[1] /*v*/, variable[9]) /*MMMethod::compile_stmt_call*/;
+    continue_964: while(0);
+    CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ListIterator::next*/;
   }
-  break_257: while(0);
+  break_964: while(0);
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___ASuperstringExpr___meth_to_s(variable[0])(variable[0]) /*ASuperstringExpr::meth_to_s*/;
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5],  variable[3] /*array*/) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[4])(variable[4],  variable[1] /*v*/, variable[5]) /*MMMethod::compile_expr_call*/;
+  variable[2] = variable[4];
+  goto return_label960;
+  return_label960: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AVardeclExpr::prepare_compile_stmt (src/compiling//compiling_methods.nit:690,2--693:30)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
-  variable1 = variable2;
-  variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable3 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
-  ((abstract_collection___Map_____braeq_t)CALL(variable2,COLOR_abstract_collection___Map_____braeq))(variable2, variable3,  variable1 /*cname*/) /*Map::[]=*/;
+val_t compiling_methods___ANullExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1411, LOCATE_compiling_methods___ANullExpr___compile_expr};
+  static val_t once_value_967 = NIT_NULL; /* Once value for string variable[3]*/
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Once String constant */
+  if (once_value_967 != NIT_NULL) variable[3] = once_value_967;
+  else {
+    variable[3] = NEW_String_string___String___with_native(BOX_NativeString(" NIT_NULL /*null*/"), TAG_Int(18)) /*new String*/;
+    once_value_967 = variable[3];
+  }
+  /* Register variable[3]: Result */
+  variable[2] = variable[3];
+  goto return_label966;
+  return_label966: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AVardeclExpr::compile_stmt (src/compiling//compiling_methods.nit:696,2--704:28)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-    val_t variable4;
-    val_t variable5;
-    val_t variable6;
-    val_t variable7;
-    val_t variable8;
-    val_t variable9;
-    val_t variable10;
-    val_t variable11;
-    val_t variable12;
-    val_t variable13;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable3 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
-  variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*Map::[]*/;
-  variable1 = variable2;
-  variable2 = ((parser_nodes___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
-  variable2 = TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*PExpr::==*/)))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable3 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
-    variable3 = ((syntax_base___Variable___stype_t)CALL(variable3,COLOR_syntax_base___Variable___stype))(variable3) /*Variable::stype*/;
-    variable2 = variable3;
-    variable3 = NEW_string___String___init(); /*new String*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-    variable5 = variable4;
-    ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-    variable6 = ((compiling_base___MMType___default_cvalue_t)CALL( variable2 /*t*/,COLOR_compiling_base___MMType___default_cvalue))( variable2 /*t*/) /*MMType::default_cvalue*/;
-    variable7 = variable6;
-    ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString(" /*decl variable "), TAG_Int(17)); /*new String*/
-    variable9 = variable8;
-    ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-    variable10 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
-    variable10 = ((syntax_base___Variable___name_t)CALL(variable10,COLOR_syntax_base___Variable___name))(variable10) /*Variable::name*/;
-    variable11 = variable10;
-    variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
-    ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-    variable12 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
-    variable13 = variable12;
-    ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
-    ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable1 /*cname*/, variable3) /*CompilerVisitor::add_assignment*/;
-  } else { /*if*/
-    variable3 = ((parser_nodes___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
-    variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
-    variable2 = variable3;
-    ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable1 /*cname*/,  variable2 /*e*/) /*CompilerVisitor::add_assignment*/;
+val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1418, LOCATE_compiling_methods___AArrayExpr___compile_expr};
+  static val_t once_value_969 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_970 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_971 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[10];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___AArrayExpr___meth_with_capacity(variable[0])(variable[0]) /*AArrayExpr::meth_with_capacity*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
+  variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_969 != NIT_NULL) variable[8] = once_value_969;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)) /*new String*/;
+    once_value_969 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_parser_nodes___AArrayExpr___n_exprs(variable[0])(variable[0]) /*AArrayExpr::n_exprs*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_abstract_collection___Collection___length(variable[8])(variable[8]) /*List::length*/;
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_970 != NIT_NULL) variable[8] = once_value_970;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_970 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[4])(variable[4],  variable[1] /*v*/, variable[5], variable[6]) /*MMMethod::compile_constructor_call*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Once String constant */
+  if (once_value_971 != NIT_NULL) variable[4] = once_value_971;
+  else {
+    variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Literal array"), TAG_Int(13)) /*new String*/;
+    once_value_971 = variable[4];
+  }
+  /* Register variable[4]: Result */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/,  variable[3] /*recv*/, variable[4]) /*CompilerVisitor::ensure_var*/;
+  variable[3] = variable[4] /*recv=*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AArrayExpr___n_exprs(variable[0])(variable[0]) /*AArrayExpr::n_exprs*/;
+  /* Register variable[4]: For iterator */
+  variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*List::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[5]: For 'is_ok' result */
+    variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ListIterator::is_ok*/;
+    if (!UNTAG_Bool(variable[5])) break; /*for*/
+    variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ListIterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[6]: Local variable */
+    variable[6] = variable[5];
+    /* Register variable[7]: Local variable */
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/,  variable[6] /*ne*/) /*CompilerVisitor::compile_expr*/;
+    variable[7] = variable[8];
+    /* Register variable[8]: Result */
+    variable[8] = CALL_typing___AArrayExpr___meth_add(variable[0])(variable[0]) /*AArrayExpr::meth_add*/;
+    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  variable[3] /*recv*/) /*AbstractArray::add*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  variable[7] /*e*/) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    CALL_compiling_methods___MMMethod___compile_stmt_call(variable[8])(variable[8],  variable[1] /*v*/, variable[9]) /*MMMethod::compile_stmt_call*/;
+    continue_972: while(0);
+    CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ListIterator::next*/;
   }
+  break_972: while(0);
+  variable[2] =  variable[3] /*recv*/;
+  goto return_label968;
+  return_label968: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AReturnExpr::compile_stmt (src/compiling//compiling_methods.nit:710,2--717:38)"};
-  val_t variable0;
-  val_t variable1;
-    val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/,  TAG_Bool(true)) /*CompilerVisitor::has_return=*/;
-  variable1 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable2 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
-    variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-    variable1 = variable2;
-    variable2 = ((compiling_methods___CompilerVisitor___return_value_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value))( variable0 /*v*/) /*CompilerVisitor::return_value*/;
-    ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2,  variable1 /*e*/) /*CompilerVisitor::add_assignment*/;
-  }
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 = ((compiling_methods___CompilerVisitor___return_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label))( variable0 /*v*/) /*CompilerVisitor::return_label*/;
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
+val_t compiling_methods___ARangeExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1432, LOCATE_compiling_methods___ARangeExpr___compile_expr};
+  val_t variable[8];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___ARangeExpr___n_expr(variable[0])(variable[0]) /*ARangeExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___ARangeExpr___n_expr2(variable[0])(variable[0]) /*ARangeExpr::n_expr2*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Result */
+  variable[5] = CALL_typing___ARangeExpr___meth_init(variable[0])(variable[0]) /*ARangeExpr::meth_init*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  variable[3] /*e*/) /*AbstractArray::add*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  variable[4] /*e2*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[5])(variable[5],  variable[1] /*v*/, variable[6], variable[7]) /*MMMethod::compile_constructor_call*/;
+  variable[2] = variable[5];
+  goto return_label973;
+  return_label973: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___ABreakExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ABreakExpr::compile_stmt (src/compiling//compiling_methods.nit:722,2--724:37)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
+val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1449, LOCATE_compiling_methods___ASuperExpr___compile_expr};
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___ASuperExpr___intern_compile_call(variable[0])(variable[0],  variable[1] /*v*/) /*ASuperExpr::intern_compile_call*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*e*/ ==  NIT_NULL /*null*/) || (( variable[3] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*e*/)( variable[3] /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ASuperExpr___compile_expr, LOCATE_compiling_methods, 1452); nit_exit(1);}
+  variable[2] =  variable[3] /*e*/;
+  goto return_label974;
+  return_label974: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___AContinueExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AContinueExpr::compile_stmt (src/compiling//compiling_methods.nit:729,2--731:40)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
+void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1441, LOCATE_compiling_methods___ASuperExpr___compile_stmt};
+    static val_t once_value_976 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___ASuperExpr___intern_compile_call(variable[0])(variable[0],  variable[1] /*v*/) /*ASuperExpr::intern_compile_call*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*e*/ ==  NIT_NULL /*null*/) || (( variable[3] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*e*/)( variable[3] /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    /* Register variable[4]: Once String constant */
+    if (once_value_976 != NIT_NULL) variable[4] = once_value_976;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_976 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Register variable[4]: Result */
+    variable[4] = CALL_string___String_____plus( variable[3] /*e*/)( variable[3] /*e*/, variable[4]) /*String::+*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  }
+  return_label975: while(false);
   tracehead = trace.prev;
   return;
 }
-void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AAbortExpr::compile_stmt (src/compiling//compiling_methods.nit:736,2--738:71)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Aborted: "), TAG_Int(26)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 = ((parser_prod___Prod___locate_t)CALL( self,COLOR_parser_prod___PNode___locate))( self) /*AAbortExpr::locate*/;
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);"), TAG_Int(18)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
+val_t compiling_methods___ASuperExpr___intern_compile_call(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1456, LOCATE_compiling_methods___ASuperExpr___intern_compile_call};
+      static val_t once_value_982 = NIT_NULL; /* Once value for string variable[5]*/
+  val_t variable[15];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___NitMethodContext___method_params(variable[4])(variable[4]) /*NitMethodContext::method_params*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArrayRead::length*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int( TAG_Int(1)));
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___ASuperExpr___init_in_superclass(variable[0])(variable[0]) /*ASuperExpr::init_in_superclass*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    /* Register variable[4]: Result */
+    variable[4] = CALL_typing___ASuperExpr___init_in_superclass(variable[0])(variable[0]) /*ASuperExpr::init_in_superclass*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_static_type___MMLocalProperty___signature(variable[4])(variable[4]) /*MMLocalProperty::signature*/;
+    /* Register variable[4]: Result */
+    variable[4] = CALL_static_type___MMSignature___arity(variable[4])(variable[4]) /*MMSignature::arity*/;
+    variable[3] = variable[4] /*arity=*/;
+  }
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Int(UNTAG_Int( variable[3] /*arity*/)+UNTAG_Int( TAG_Int(1)));
+  /* Register variable[5]: Result */
+  variable[5] = NEW_Array_array___Array___with_capacity(variable[5]) /*new Array[String]*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___NitMethodContext___method_params(variable[6])(variable[6]) /*NitMethodContext::method_params*/;
+  /* Register variable[7]: Local variable */
+  variable[7] = variable[6];
+  /* Register variable[8]: Local variable */
+  variable[8] =  TAG_Int(0);
+  /* Register variable[9]: Method return value and escape marker */
+  /* Register variable[10]: Result */
+  variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+  /* Ensure var variable[10]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[10])) { /* and */
+    /* Register variable[10]: Result */
+    variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
+    /* Register variable[10]: Result */
+    variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
+  }
+  /* Register variable[10]: Result */
+  if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+  /* Register variable[10]: Result */
+  variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
+  /* Register variable[10]: Result */
+  variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
+  variable[9] = variable[10];
+  goto return_label978;
+  return_label978: while(false);
+  /* Register variable[6]: Result */
+  variable[6] = variable[9];
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CFunctionContext___varname(variable[5])(variable[5], variable[6]) /*CFunctionContext::varname*/;
+  CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[5]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___ASuperExpr___n_args(variable[0])(variable[0]) /*ASuperExpr::n_args*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_abstract_collection___Collection___length(variable[5])(variable[5]) /*List::length*/;
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Bool((variable[5])!=( variable[3] /*arity*/));
+  if (UNTAG_Bool(variable[5])) { /*if*/
+    /* Register variable[5]: Result */
+    variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0),  variable[3] /*arity*/) /*new Range[Int]*/;
+    /* Register variable[5]: For iterator */
+    variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*Range::iterator*/;
+    while (true) { /*for*/
+      /* Register variable[6]: For 'is_ok' result */
+      variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*Iterator::is_ok*/;
+      if (!UNTAG_Bool(variable[6])) break; /*for*/
+      variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*Iterator::item*/ /* Ensure var: For item*/;
+      /* Register variable[7]: Local variable */
+      variable[7] = variable[6];
+      /* Register variable[8]: Result */
+      variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+      /* Register variable[9]: Result */
+      variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+      /* Register variable[9]: Result */
+      variable[9] = CALL_compiling_methods___NitMethodContext___method_params(variable[9])(variable[9]) /*NitMethodContext::method_params*/;
+      /* Register variable[10]: Result */
+      variable[10] = TAG_Int(UNTAG_Int( variable[7] /*i*/)+UNTAG_Int( TAG_Int(1)));
+      /* Register variable[11]: Local variable */
+      variable[11] = variable[9];
+      /* Register variable[12]: Local variable */
+      variable[12] = variable[10];
+      /* Register variable[13]: Method return value and escape marker */
+      /* Register variable[14]: Result */
+      variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      /* Ensure var variable[14]: Left 'and' operand*/
+      if (UNTAG_Bool(variable[14])) { /* and */
+        /* Register variable[14]: Result */
+        variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
+        /* Register variable[14]: Result */
+        variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
+      }
+      /* Register variable[14]: Result */
+      if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+      /* Register variable[14]: Result */
+      variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
+      /* Register variable[14]: Result */
+      variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
+      variable[13] = variable[14];
+      goto return_label980;
+      return_label980: while(false);
+      /* Register variable[9]: Result */
+      variable[9] = variable[13];
+      /* Register variable[8]: Result */
+      variable[8] = CALL_compiling_methods___CFunctionContext___varname(variable[8])(variable[8], variable[9]) /*CFunctionContext::varname*/;
+      CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[8]) /*AbstractArray::add*/;
+      continue_979: while(0);
+      CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*Iterator::next*/;
+    }
+    break_979: while(0);
+  } else { /*if*/
+    /* Register variable[5]: Result */
+    variable[5] = CALL_parser_nodes___ASuperExpr___n_args(variable[0])(variable[0]) /*ASuperExpr::n_args*/;
+    /* Register variable[5]: For iterator */
+    variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*List::iterator*/;
+    while (true) { /*for*/
+      /* Register variable[6]: For 'is_ok' result */
+      variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ListIterator::is_ok*/;
+      if (!UNTAG_Bool(variable[6])) break; /*for*/
+      variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ListIterator::item*/ /* Ensure var: For item*/;
+      /* Register variable[7]: Local variable */
+      variable[7] = variable[6];
+      /* Register variable[8]: Result */
+      variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/,  variable[7] /*na*/) /*CompilerVisitor::compile_expr*/;
+      CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[8]) /*AbstractArray::add*/;
+      continue_981: while(0);
+      CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ListIterator::next*/;
+    }
+    break_981: while(0);
+  }
+  /* Register variable[5]: Result */
+  variable[5] = CALL_typing___ASuperExpr___init_in_superclass(variable[0])(variable[0]) /*ASuperExpr::init_in_superclass*/;
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] ==  NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[5])) { /*if*/
+    /* Register variable[5]: Result */
+    variable[5] = CALL_typing___ASuperExpr___init_in_superclass(variable[0])(variable[0]) /*ASuperExpr::init_in_superclass*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[5])(variable[5],  variable[1] /*v*/,  variable[4] /*args*/) /*MMMethod::intern_compile_call*/;
+    variable[2] = variable[5];
+    goto return_label977;
+  } else { /*if*/
+    /* Register variable[5]: Result */
+    variable[5] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_abstractmetamodel___MMLocalProperty___global(variable[5])(variable[5]) /*MMLocalProperty::global*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[5])(variable[5]) /*MMGlobalProperty::is_init*/;
+    if (UNTAG_Bool(variable[5])) { /*if*/
+      /* Register variable[5]: Once String constant */
+      if (once_value_982 != NIT_NULL) variable[5] = once_value_982;
+      else {
+        variable[5] = NEW_String_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)) /*new String*/;
+        once_value_982 = variable[5];
+      }
+      /* Register variable[5]: Result */
+      CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[5]) /*AbstractArray::add*/;
+    }
+    /* Register variable[5]: Result */
+    variable[5] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_methods___MMMethod___compile_super_call(variable[5])(variable[5],  variable[1] /*v*/,  variable[4] /*args*/) /*MMMethod::compile_super_call*/;
+    variable[2] = variable[5];
+    goto return_label977;
+  }
+  return_label977: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___ADoExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ADoExpr::compile_stmt (src/compiling//compiling_methods.nit:743,2--746:26)"};
-  val_t variable0;
-  val_t variable1;
+val_t compiling_methods___AAttrExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1484, LOCATE_compiling_methods___AAttrExpr___compile_expr};
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((parser_nodes___ADoExpr___n_block_t)CALL( self,COLOR_parser_nodes___ADoExpr___n_block))( self) /*ADoExpr::n_block*/;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = ((parser_nodes___ADoExpr___n_block_t)CALL( self,COLOR_parser_nodes___ADoExpr___n_block))( self) /*ADoExpr::n_block*/;
-    ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_stmt*/;
-  }
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[0])(variable[0]) /*AAttrFormExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___MMAttribute___compile_read_access(variable[4])(variable[4],  variable[1] /*v*/, variable[5],  variable[3] /*e*/) /*MMAttribute::compile_read_access*/;
+  variable[2] = variable[4];
+  goto return_label983;
+  return_label983: while(false);
+  tracehead = trace.prev;
+  return variable[2];
+}
+void compiling_methods___AAttrAssignExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1492, LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt};
+  val_t variable[7];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[0])(variable[0]) /*AAttrFormExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AAssignFormExpr___n_value(variable[0])(variable[0]) /*AAssignFormExpr::n_value*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Result */
+  variable[5] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
+  CALL_compiling_methods___MMAttribute___compile_write_access(variable[5])(variable[5],  variable[1] /*v*/, variable[6],  variable[3] /*e*/,  variable[4] /*e2*/) /*MMAttribute::compile_write_access*/;
+  return_label984: while(false);
   tracehead = trace.prev;
   return;
 }
-void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AIfExpr::compile_stmt (src/compiling//compiling_methods.nit:752,2--768:17)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AIfExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_expr))( self) /*AIfExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
-  variable4 = variable3;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-  variable5 =  variable1 /*e*/;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
-  ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable1 /*e*/) /*CompilerVisitor::free_var*/;
-  variable2 = ((parser_nodes___AIfExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_then))( self) /*AIfExpr::n_then*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-    variable2 = ((parser_nodes___AIfExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_then))( self) /*AIfExpr::n_then*/;
-    ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_stmt*/;
-    ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  }
-  variable2 = ((parser_nodes___AIfExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_else))( self) /*AIfExpr::n_else*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
-    ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-    variable2 = ((parser_nodes___AIfExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_else))( self) /*AIfExpr::n_else*/;
-    ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_stmt*/;
-    ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  }
-  variable2 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
+void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1500, LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt};
+  val_t variable[9];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[0])(variable[0]) /*AAttrFormExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___MMAttribute___compile_read_access(variable[5])(variable[5],  variable[1] /*v*/, variable[6],  variable[3] /*e1*/) /*MMAttribute::compile_read_access*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[0])(variable[0]) /*AReassignFormExpr::n_value*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_typing___AReassignFormExpr___assign_method(variable[0])(variable[0]) /*AReassignFormExpr::assign_method*/;
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8],  variable[4] /*e2*/) /*AbstractArray::add*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8],  variable[5] /*e3*/) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[7])(variable[7],  variable[1] /*v*/, variable[8]) /*MMMethod::compile_expr_call*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Result */
+  variable[7] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
+  CALL_compiling_methods___MMAttribute___compile_write_access(variable[7])(variable[7],  variable[1] /*v*/, variable[8],  variable[3] /*e1*/,  variable[6] /*e4*/) /*MMAttribute::compile_write_access*/;
+  return_label985: while(false);
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AIfexprExpr::compile_expr (src/compiling//compiling_methods.nit:773,2--788:10)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AIfexprExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_expr))( self) /*AIfexprExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
-  variable4 = variable3;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-  variable5 =  variable1 /*e*/;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
-  ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable1 /*e*/) /*CompilerVisitor::free_var*/;
-  ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  variable3 = ((parser_nodes___AIfexprExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_then))( self) /*AIfexprExpr::n_then*/;
-  variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
-  variable3 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable3) /*CompilerVisitor::ensure_var*/;
-  variable2 = variable3;
-  ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable2 /*e*/) /*CompilerVisitor::free_var*/;
-  ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  variable4 = ((parser_nodes___AIfexprExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_else))( self) /*AIfexprExpr::n_else*/;
-  variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
-  variable4 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable4) /*CompilerVisitor::ensure_var*/;
-  variable3 = variable4;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable2 /*e*/,  variable3 /*e2*/) /*CompilerVisitor::add_assignment*/;
-  ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  variable1 =  variable2 /*e*/;
-  goto return_label266;
-  return_label266: while(false);
+val_t compiling_methods___AIssetAttrExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1511, LOCATE_compiling_methods___AIssetAttrExpr___compile_expr};
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[0])(variable[0]) /*AAttrFormExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___MMAttribute___compile_isset(variable[4])(variable[4],  variable[1] /*v*/, variable[5],  variable[3] /*e*/) /*MMAttribute::compile_isset*/;
+  variable[2] = variable[4];
+  goto return_label986;
+  return_label986: while(false);
   tracehead = trace.prev;
-  return variable1;
+  return variable[2];
 }
-void compiling_methods___AControlableBlock___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AControlableBlock::compile_inside_block (src/compiling//compiling_methods.nit:793,2--45)"};
+void compiling_methods___AAbsAbsSendExpr___compile_arguments_in(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 1519, LOCATE_compiling_methods___AAbsAbsSendExpr___compile_arguments_in};
+  val_t variable[8];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method compile_inside_block called (src/compiling//compiling_methods.nit:793,2)\n");
-  nit_exit(1);
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___AAbsAbsSendExpr___arguments(variable[0])(variable[0]) /*AAbsAbsSendExpr::arguments*/;
+  /* Register variable[4]: For iterator */
+  variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*AbstractArrayRead::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[5]: For 'is_ok' result */
+    variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ArrayIterator::is_ok*/;
+    if (!UNTAG_Bool(variable[5])) break; /*for*/
+    variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[6]: Local variable */
+    variable[6] = variable[5];
+    /* Register variable[7]: Result */
+    variable[7] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/,  variable[6] /*a*/) /*CompilerVisitor::compile_expr*/;
+    CALL_abstract_collection___SimpleCollection___add( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[7]) /*AbstractArray::add*/;
+    continue_988: while(0);
+    CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ArrayIterator::next*/;
+  }
+  break_988: while(0);
+  return_label987: while(false);
   tracehead = trace.prev;
   return;
 }
-void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AControlableBlock::compile_stmt (src/compiling//compiling_methods.nit:794,2--806:39)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
-  variable1 = variable2;
-  variable3 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
-  variable2 = variable3;
-  variable4 = ((compiling_base___CompilerVisitor___new_number_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___new_number))( variable0 /*v*/) /*CompilerVisitor::new_number*/;
-  variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("break_"), TAG_Int(6)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 =  variable3 /*id*/;
-  variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  ((compiling_methods___CompilerVisitor___break_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::break_label=*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("continue_"), TAG_Int(9)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 =  variable3 /*id*/;
-  variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  ((compiling_methods___CompilerVisitor___continue_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::continue_label=*/;
-  ((compiling_methods___AControlableBlock___compile_inside_block_t)CALL( self,COLOR_compiling_methods___AControlableBlock___compile_inside_block))( self,  variable0 /*v*/) /*AControlableBlock::compile_inside_block*/;
-  ((compiling_methods___CompilerVisitor___break_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label__eq))( variable0 /*v*/,  variable1 /*old_break_label*/) /*CompilerVisitor::break_label=*/;
-  ((compiling_methods___CompilerVisitor___continue_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label__eq))( variable0 /*v*/,  variable2 /*old_continue_label*/) /*CompilerVisitor::continue_label=*/;
+val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1550, LOCATE_compiling_methods___ASendExpr___compile_expr};
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___ASendExpr___intern_compile_call(variable[0])(variable[0],  variable[1] /*v*/) /*ASendExpr::intern_compile_call*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*e*/ ==  NIT_NULL /*null*/) || (( variable[3] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*e*/)( variable[3] /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ASendExpr___compile_expr, LOCATE_compiling_methods, 1553); nit_exit(1);}
+  variable[2] =  variable[3] /*e*/;
+  goto return_label989;
+  return_label989: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AWhileExpr::compile_inside_block (src/compiling//compiling_methods.nit:811,2--824:42)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString("while (true) { /*while*/"), TAG_Int(24)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
-  ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  variable2 = ((parser_nodes___AWhileExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_expr))( self) /*AWhileExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
-  variable4 = variable3;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-  variable5 =  variable1 /*e*/;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) break; /* while*/"), TAG_Int(20)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
-  ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable1 /*e*/) /*CompilerVisitor::free_var*/;
-  variable2 = ((parser_nodes___AWhileExpr___n_block_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_block))( self) /*AWhileExpr::n_block*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = ((parser_nodes___AWhileExpr___n_block_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_block))( self) /*AWhileExpr::n_block*/;
-    ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_stmt*/;
-  }
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable4 = variable3;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-  variable5 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
-  ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable2 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable4 = variable3;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-  variable5 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
+void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1557, LOCATE_compiling_methods___ASendExpr___compile_stmt};
+    static val_t once_value_991 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___ASendExpr___intern_compile_call(variable[0])(variable[0],  variable[1] /*v*/) /*ASendExpr::intern_compile_call*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*e*/ ==  NIT_NULL /*null*/) || (( variable[3] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*e*/)( variable[3] /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    /* Register variable[4]: Once String constant */
+    if (once_value_991 != NIT_NULL) variable[4] = once_value_991;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_991 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Register variable[4]: Result */
+    variable[4] = CALL_string___String_____plus( variable[3] /*e*/)( variable[3] /*e*/, variable[4]) /*String::+*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  }
+  return_label990: while(false);
   tracehead = trace.prev;
   return;
 }
-void compiling_methods___AForExpr___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AForExpr::compile_inside_block (src/compiling//compiling_methods.nit:829,2--831:26)"};
-  val_t variable0;
-  val_t variable1;
+val_t compiling_methods___ASendExpr___intern_compile_call(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1530, LOCATE_compiling_methods___ASendExpr___intern_compile_call};
+  val_t variable[8];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((parser_nodes___AForExpr___n_vardecl_t)CALL( self,COLOR_parser_nodes___AForExpr___n_vardecl))( self) /*AForExpr::n_vardecl*/;
-  ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_stmt*/;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___ASendExpr___n_expr(variable[0])(variable[0]) /*ASendExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[4] = variable[5];
+  CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/,  variable[3] /*recv*/) /*AbstractArray::add*/;
+  CALL_compiling_methods___AAbsAbsSendExpr___compile_arguments_in(variable[0])(variable[0],  variable[1] /*v*/,  variable[4] /*cargs*/) /*AAbsAbsSendExpr::compile_arguments_in*/;
+  /* Register variable[5]: Local variable */
+  /*variable[5] is variable e*/
+  /* Register variable[6]: Result */
+  variable[6] = CALL_typing___AAbsAbsSendExpr___prop_signature(variable[0])(variable[0]) /*AAbsAbsSendExpr::prop_signature*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMSignature___closures(variable[6])(variable[6]) /*MMSignature::closures*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstract_collection___Collection___is_empty(variable[6])(variable[6]) /*AbstractArrayRead::is_empty*/;
+  if (UNTAG_Bool(variable[6])) { /*if*/
+    /* Register variable[6]: Result */
+    variable[6] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[6])(variable[6],  variable[1] /*v*/,  variable[4] /*cargs*/) /*MMMethod::intern_compile_call*/;
+    variable[5] = variable[6] /*e=*/;
+  } else { /*if*/
+    /* Register variable[6]: Result */
+    variable[6] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_typing___ASendExpr___closure_defs(variable[0])(variable[0]) /*ASendExpr::closure_defs*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_compiling_methods___MMMethod___compile_call_and_closures(variable[6])(variable[6],  variable[1] /*v*/,  variable[4] /*cargs*/, variable[7]) /*MMMethod::compile_call_and_closures*/;
+    variable[5] = variable[6] /*e=*/;
+  }
+  /* Register variable[6]: Result */
+  variable[6] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[6])(variable[6]) /*MMLocalProperty::global*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[6])(variable[6]) /*MMGlobalProperty::is_init*/;
+  if (UNTAG_Bool(variable[6])) { /*if*/
+    /* Register variable[6]: Result */
+    variable[6] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
+    CALL_compiling_methods___CompilerVisitor___invoke_super_init_calls_after( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::invoke_super_init_calls_after*/;
+  }
+  variable[2] =  variable[5] /*e*/;
+  goto return_label992;
+  return_label992: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AForVardeclExpr::compile_stmt (src/compiling//compiling_methods.nit:836,2--883:42)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  static val_t once_value_variable4_271; static int once_bool_variable4_271;
-  val_t variable5;
-  val_t variable6;
-  static val_t once_value_variable6_272; static int once_bool_variable6_272;
-  val_t variable7;
-  static val_t once_value_variable7_273; static int once_bool_variable7_273;
-  val_t variable8;
-  static val_t once_value_variable8_274; static int once_bool_variable8_274;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AForVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AForVardeclExpr___n_expr))( self) /*AForVardeclExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable3 = ((parser_nodes___AForVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AForVardeclExpr___n_expr))( self) /*AForVardeclExpr::n_expr*/;
-  variable3 = ((typing___PExpr___stype_t)CALL(variable3,COLOR_syntax_base___PExpr___stype))(variable3) /*PExpr::stype*/;
-  if (once_bool_variable4_271) variable4 = once_value_variable4_271;
-  else {
-    variable4 = NEW_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
-    variable4 = ((symbol___String___to_symbol_t)CALL(variable4,COLOR_symbol___String___to_symbol))(variable4) /*String::to_symbol*/;
-    once_value_variable4_271 = variable4;
-    once_bool_variable4_271 = true;
-  }
-  variable3 = ((static_type___MMType___select_method_t)CALL(variable3,COLOR_static_type___MMType___select_method))(variable3, variable4) /*MMType::select_method*/;
-  variable2 = variable3;
-  variable3 = TAG_Bool(( variable2 /*prop*/ ==  NIT_NULL /*null*/) || (( variable2 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*prop*/,COLOR_kernel___Object_____eqeq))( variable2 /*prop*/,  NIT_NULL /*null*/) /*MMMethod::==*/)))));
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("No iterator"), TAG_Int(11)); /*new String*/
-    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable3) /*AForVardeclExpr::printl*/;
-    goto return_label270;
-  }
-  variable4 = ((genericity___MMLocalProperty___signature_t)CALL( variable2 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable2 /*prop*/) /*MMMethod::signature*/;
-  variable4 = ((static_type___MMSignature___return_type_t)CALL(variable4,COLOR_static_type___MMSignature___return_type))(variable4) /*MMSignature::return_type*/;
-  variable3 = variable4;
-  ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable1 /*e*/) /*CompilerVisitor::free_var*/;
-  variable5 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
-  variable4 = variable5;
-  variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable1 /*e*/) /*Array::add*/;
-  variable5 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable2 /*prop*/,COLOR_compiling_methods___MMMethod___compile_call))( variable2 /*prop*/,  variable0 /*v*/, variable5) /*MMMethod::compile_call*/;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable4 /*iter*/, variable5) /*CompilerVisitor::add_assignment*/;
-  if (once_bool_variable6_272) variable6 = once_value_variable6_272;
-  else {
-    variable6 = NEW_string___String___with_native(BOX_NativeString("is_ok"), TAG_Int(5)); /*new String*/
-    variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-    once_value_variable6_272 = variable6;
-    once_bool_variable6_272 = true;
-  }
-  variable6 = ((static_type___MMType___select_method_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___select_method))( variable3 /*ittype*/, variable6) /*MMType::select_method*/;
-  variable5 = variable6;
-  variable6 = TAG_Bool(( variable5 /*prop2*/ ==  NIT_NULL /*null*/) || (( variable5 /*prop2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*prop2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*prop2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*prop2*/,COLOR_kernel___Object_____eqeq))( variable5 /*prop2*/,  NIT_NULL /*null*/) /*MMMethod::==*/)))));
-  if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___with_native(BOX_NativeString("No is_ok"), TAG_Int(8)); /*new String*/
-    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable6) /*AForVardeclExpr::printl*/;
-    goto return_label270;
-  }
-  if (once_bool_variable7_273) variable7 = once_value_variable7_273;
-  else {
-    variable7 = NEW_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
-    variable7 = ((symbol___String___to_symbol_t)CALL(variable7,COLOR_symbol___String___to_symbol))(variable7) /*String::to_symbol*/;
-    once_value_variable7_273 = variable7;
-    once_bool_variable7_273 = true;
-  }
-  variable7 = ((static_type___MMType___select_method_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___select_method))( variable3 /*ittype*/, variable7) /*MMType::select_method*/;
-  variable6 = variable7;
-  variable7 = TAG_Bool(( variable6 /*prop3*/ ==  NIT_NULL /*null*/) || (( variable6 /*prop3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*prop3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*prop3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*prop3*/,COLOR_kernel___Object_____eqeq))( variable6 /*prop3*/,  NIT_NULL /*null*/) /*MMMethod::==*/)))));
-  if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString("No item"), TAG_Int(7)); /*new String*/
-    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable7) /*AForVardeclExpr::printl*/;
-    goto return_label270;
-  }
-  if (once_bool_variable8_274) variable8 = once_value_variable8_274;
-  else {
-    variable8 = NEW_string___String___with_native(BOX_NativeString("next"), TAG_Int(4)); /*new String*/
-    variable8 = ((symbol___String___to_symbol_t)CALL(variable8,COLOR_symbol___String___to_symbol))(variable8) /*String::to_symbol*/;
-    once_value_variable8_274 = variable8;
-    once_bool_variable8_274 = true;
-  }
-  variable8 = ((static_type___MMType___select_method_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___select_method))( variable3 /*ittype*/, variable8) /*MMType::select_method*/;
-  variable7 = variable8;
-  variable8 = TAG_Bool(( variable7 /*prop4*/ ==  NIT_NULL /*null*/) || (( variable7 /*prop4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*prop4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*prop4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*prop4*/,COLOR_kernel___Object_____eqeq))( variable7 /*prop4*/,  NIT_NULL /*null*/) /*MMMethod::==*/)))));
-  if (UNTAG_Bool(variable8)) { /*if*/
-    variable8 = NEW_string___String___with_native(BOX_NativeString("No next"), TAG_Int(7)); /*new String*/
-    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable8) /*AForVardeclExpr::printl*/;
-    goto return_label270;
-  }
-  variable8 = NEW_string___String___with_native(BOX_NativeString("while (true) { /*for*/"), TAG_Int(22)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
-  ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  variable9 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
-  variable8 = variable9;
-  variable9 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  variable4 /*iter*/) /*Array::add*/;
-  variable9 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable5 /*prop2*/,COLOR_compiling_methods___MMMethod___compile_call))( variable5 /*prop2*/,  variable0 /*v*/, variable9) /*MMMethod::compile_call*/;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable8 /*ok*/, variable9) /*CompilerVisitor::add_assignment*/;
-  variable9 = NEW_string___String___init(); /*new String*/
-  variable10 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable11) /*String::append*/;
-  variable12 =  variable8 /*ok*/;
-  ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(")) break; /*for*/"), TAG_Int(17)); /*new String*/
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable14) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable9) /*CompilerVisitor::add_instr*/;
-  ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable8 /*ok*/) /*CompilerVisitor::free_var*/;
-  variable10 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  variable4 /*iter*/) /*Array::add*/;
-  variable10 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable6 /*prop3*/,COLOR_compiling_methods___MMMethod___compile_call))( variable6 /*prop3*/,  variable0 /*v*/, variable10) /*MMMethod::compile_call*/;
-  variable9 = variable10;
-  variable10 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/,  variable9 /*e*/) /*CompilerVisitor::ensure_var*/;
-  variable9 = variable10 /*e=*/;
-  variable10 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable11 = ((typing___AForVardeclExpr___variable_t)CALL( self,COLOR_typing___AForVardeclExpr___variable))( self) /*AForVardeclExpr::variable*/;
-  ((abstract_collection___Map_____braeq_t)CALL(variable10,COLOR_abstract_collection___Map_____braeq))(variable10, variable11,  variable9 /*e*/) /*Map::[]=*/;
-  variable11 = ((parser_prod___PNode___parent_t)CALL( self,COLOR_parser_prod___PNode___parent))( self) /*AForVardeclExpr::parent*/;
-  variable10 = variable11;
-  variable11 = TAG_Bool(( variable10 /*par*/==NIT_NULL) || VAL_ISA( variable10 /*par*/, COLOR_AForExpr, ID_AForExpr)) /*cast AForExpr*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:873,3--25\n"); nit_exit(1);}
-  variable12 = ((parser_nodes___AForExpr___n_block_t)CALL( variable10 /*par*/,COLOR_parser_nodes___AForExpr___n_block))( variable10 /*par*/) /*AForExpr::n_block*/;
-  variable11 = variable12;
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable11 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable11 /*n_block*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
-  if (UNTAG_Bool(variable12)) { /*if*/
-    ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/,  variable11 /*n_block*/) /*CompilerVisitor::compile_stmt*/;
-  }
-  variable12 = NEW_string___String___init(); /*new String*/
-  variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable14) /*String::append*/;
-  variable15 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable18) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
-  variable12 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  variable4 /*iter*/) /*Array::add*/;
-  variable12 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable7 /*prop4*/,COLOR_compiling_methods___MMMethod___compile_call))( variable7 /*prop4*/,  variable0 /*v*/, variable12) /*MMMethod::compile_call*/;
-  variable9 = variable12 /*e=*/;
-  variable12 = TAG_Bool(( variable9 /*e*/ ==  NIT_NULL /*null*/) || (( variable9 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable9 /*e*/,COLOR_kernel___Object_____eqeq))( variable9 /*e*/,  NIT_NULL /*null*/) /*String::==*/)));
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:880,3--18\n"); nit_exit(1);}
-  ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable12 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
-  variable12 = NEW_string___String___init(); /*new String*/
-  variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable14) /*String::append*/;
-  variable15 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
-  variable16 = variable15;
-  ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable16) /*String::append*/;
-  variable17 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
-  variable18 = variable17;
-  ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable18) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
-  return_label270: while(false);
+val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1567, LOCATE_compiling_methods___ASendReassignExpr___compile_expr};
+  val_t variable[3];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ASendReassignExpr___compile_expr, LOCATE_compiling_methods, 1567); nit_exit(1);
+  return_label993: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AAssertExpr::compile_stmt (src/compiling//compiling_methods.nit:888,2--895:100)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-    val_t variable4;
-    val_t variable5;
-    val_t variable6;
-    val_t variable7;
-    val_t variable8;
-    val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AAssertExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_expr))( self) /*AAssertExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("Assert"), TAG_Int(6)); /*new String*/
-  variable2 = variable3;
-  variable3 = ((parser_nodes___AAssertExpr___n_id_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_id))( self) /*AAssertExpr::n_id*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*TId::==*/)))))));
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_string___String___init(); /*new String*/
-    variable4 = NEW_string___String___with_native(BOX_NativeString("Assert '"), TAG_Int(8)); /*new String*/
-    variable5 = variable4;
-    ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-    variable6 = ((parser_nodes___AAssertExpr___n_id_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_id))( self) /*AAssertExpr::n_id*/;
-    variable6 = ((lexer___Token___text_t)CALL(variable6,COLOR_lexer___Token___text))(variable6) /*TId::text*/;
-    variable7 = variable6;
-    ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-    variable8 = NEW_string___String___with_native(BOX_NativeString("' "), TAG_Int(2)); /*new String*/
-    variable9 = variable8;
-    ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-    variable2 = variable3 /*s=*/;
-  }
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 =  variable1 /*e*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \""), TAG_Int(22)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable9 =  variable2 /*s*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(" failed: "), TAG_Int(9)); /*new String*/
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable12 = ((parser_prod___Prod___locate_t)CALL( self,COLOR_parser_prod___PNode___locate))( self) /*AAssertExpr::locate*/;
-  variable13 = variable12;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);}"), TAG_Int(19)); /*new String*/
-  variable15 = variable14;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
+void compiling_methods___ASendReassignExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1569, LOCATE_compiling_methods___ASendReassignExpr___compile_stmt};
+  val_t variable[10];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___ASendExpr___n_expr(variable[0])(variable[0]) /*ASendExpr::n_expr*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[4] = variable[5];
+  CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/,  variable[3] /*recv*/) /*AbstractArray::add*/;
+  CALL_compiling_methods___AAbsAbsSendExpr___compile_arguments_in(variable[0])(variable[0],  variable[1] /*v*/,  variable[4] /*cargs*/) /*AAbsAbsSendExpr::compile_arguments_in*/;
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_typing___ASendReassignExpr___read_prop(variable[0])(variable[0]) /*ASendReassignExpr::read_prop*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[6])(variable[6],  variable[1] /*v*/,  variable[4] /*cargs*/) /*MMMethod::compile_expr_call*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[0])(variable[0]) /*AReassignFormExpr::n_value*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::compile_expr*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Local variable */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_typing___AReassignFormExpr___assign_method(variable[0])(variable[0]) /*AReassignFormExpr::assign_method*/;
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  variable[5] /*e2*/) /*AbstractArray::add*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  variable[6] /*e3*/) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[8])(variable[8],  variable[1] /*v*/, variable[9]) /*MMMethod::compile_expr_call*/;
+  variable[7] = variable[8];
+  CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/,  variable[7] /*e4*/) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
+  CALL_compiling_methods___MMMethod___compile_stmt_call(variable[8])(variable[8],  variable[1] /*v*/,  variable[4] /*cargs*/) /*MMMethod::compile_stmt_call*/;
+  return_label994: while(false);
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AVarExpr::compile_expr (src/compiling//compiling_methods.nit:900,2--902:54)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable5 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarExpr::variable*/;
-  variable4 = ((abstract_collection___Map_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*Map::[]*/;
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  variable8 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarExpr::variable*/;
-  variable8 = ((syntax_base___Variable___name_t)CALL(variable8,COLOR_syntax_base___Variable___name))(variable8) /*Variable::name*/;
-  variable9 = variable8;
-  variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
-  goto return_label276;
-  return_label276: while(false);
-  tracehead = trace.prev;
-  return variable1;
+val_t compiling_methods___ANewExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1585, LOCATE_compiling_methods___ANewExpr___compile_expr};
+  val_t variable[6];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[3] = variable[4];
+  CALL_compiling_methods___AAbsAbsSendExpr___compile_arguments_in(variable[0])(variable[0],  variable[1] /*v*/,  variable[3] /*cargs*/) /*AAbsAbsSendExpr::compile_arguments_in*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[4])(variable[4],  variable[1] /*v*/, variable[5],  variable[3] /*cargs*/) /*MMMethod::compile_constructor_call*/;
+  variable[2] = variable[4];
+  goto return_label995;
+  return_label995: while(false);
+  tracehead = trace.prev;
+  return variable[2];
 }
-void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AVarAssignExpr::compile_stmt (src/compiling//compiling_methods.nit:907,2--910:67)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AVarAssignExpr::n_value*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable3 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarAssignExpr::variable*/;
-  variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*Map::[]*/;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 =  variable1 /*e*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable9 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarAssignExpr::variable*/;
-  variable9 = ((syntax_base___Variable___name_t)CALL(variable9,COLOR_syntax_base___Variable___name))(variable9) /*Variable::name*/;
-  variable10 = variable9;
-  variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString("=*/"), TAG_Int(3)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2, variable3) /*CompilerVisitor::add_assignment*/;
+void compiling_methods___ANewExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1592, LOCATE_compiling_methods___ANewExpr___compile_stmt};
+  val_t variable[3];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ANewExpr___compile_stmt, LOCATE_compiling_methods, 1592); nit_exit(1);
+  return_label996: while(false);
   tracehead = trace.prev;
   return;
 }
-void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AVarReassignExpr::compile_stmt (src/compiling//compiling_methods.nit:915,2--920:67)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable3 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
-  variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*Map::[]*/;
-  variable1 = variable2;
-  variable3 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AVarReassignExpr::n_value*/;
-  variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
-  variable2 = variable3;
-  variable4 = ((typing___AReassignFormExpr___assign_method_t)CALL( self,COLOR_typing___AReassignFormExpr___assign_method))( self) /*AVarReassignExpr::assign_method*/;
-  variable5 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable1 /*e1*/) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable2 /*e2*/) /*Array::add*/;
-  variable4 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable4,COLOR_compiling_methods___MMMethod___compile_call))(variable4,  variable0 /*v*/, variable5) /*MMMethod::compile_call*/;
-  variable3 = variable4;
-  variable4 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable5 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
-  variable4 = ((abstract_collection___Map_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*Map::[]*/;
-  variable5 = NEW_string___String___init(); /*new String*/
-  variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
-  variable8 =  variable3 /*e3*/;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
-  variable10 = variable9;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
-  variable11 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
-  variable11 = ((syntax_base___Variable___name_t)CALL(variable11,COLOR_syntax_base___Variable___name))(variable11) /*Variable::name*/;
-  variable12 = variable11;
-  variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable14) /*String::append*/;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable4, variable5) /*CompilerVisitor::add_assignment*/;
+val_t compiling_methods___PClosureDef___compile_closure(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 1596, LOCATE_compiling_methods___PClosureDef___compile_closure};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  fprintf(stderr, "Deferred method called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1596);
+  nit_exit(1);
   tracehead = trace.prev;
-  return;
+  return NIT_NULL;
 }
-val_t compiling_methods___ASelfExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ASelfExpr::compile_expr (src/compiling//compiling_methods.nit:925,2--927:26)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
-  variable2 =  TAG_Int(0);
-  variable3 = TAG_Bool(UNTAG_Int( variable2 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-  variable4 = variable3;
-  if (UNTAG_Bool(variable4)) { /* and */
-    variable4 = variable1;
-    variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/;
-    variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
-  }
-  variable3 = variable4;
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-  variable3 = variable1;
-  variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
-  variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
-  goto return_label280;
-  return_label280: while(false);
-  variable1 = variable3;
-  goto return_label279;
-  return_label279: while(false);
+val_t compiling_methods___PClosureDef___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 1600, LOCATE_compiling_methods___PClosureDef___do_compile_inside};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  fprintf(stderr, "Deferred method called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1600);
+  nit_exit(1);
+  tracehead = trace.prev;
+  return NIT_NULL;
+}
+val_t compiling_methods___AClosureDef___compile_closure(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 1608, LOCATE_compiling_methods___AClosureDef___compile_closure};
+    static val_t once_value_998 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_999 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_1000 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_1001 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1002 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1003 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1004 = NIT_NULL; /* Once value for string variable[10]*/
+    static val_t once_value_1006 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_1007 = NIT_NULL; /* Once value for string variable[14]*/
+  static val_t once_value_1008 = NIT_NULL; /* Once value for string variable[12]*/
+  static val_t once_value_1009 = NIT_NULL; /* Once value for string variable[12]*/
+  static val_t once_value_1010 = NIT_NULL; /* Once value for string variable[13]*/
+  static val_t once_value_1011 = NIT_NULL; /* Once value for string variable[13]*/
+  static val_t once_value_1012 = NIT_NULL; /* Once value for string variable[13]*/
+  static val_t once_value_1013 = NIT_NULL; /* Once value for string variable[12]*/
+  static val_t once_value_1014 = NIT_NULL; /* Once value for string variable[13]*/
+  static val_t once_value_1015 = NIT_NULL; /* Once value for string variable[13]*/
+  static val_t once_value_1016 = NIT_NULL; /* Once value for string variable[14]*/
+  static val_t once_value_1017 = NIT_NULL; /* Once value for string variable[14]*/
+  static val_t once_value_1018 = NIT_NULL; /* Once value for string variable[13]*/
+    static val_t once_value_1019 = NIT_NULL; /* Once value for string variable[13]*/
+    static val_t once_value_1020 = NIT_NULL; /* Once value for string variable[14]*/
+    static val_t once_value_1021 = NIT_NULL; /* Once value for string variable[14]*/
+  static val_t once_value_1022 = NIT_NULL; /* Once value for string variable[13]*/
+  static val_t once_value_1023 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1024 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1025 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1026 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1027 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1028 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1029 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1030 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1031 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_1032 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_1033 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_1034 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_1035 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_1036 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_1037 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_1038 = NIT_NULL; /* Once value for string variable[15]*/
+    static val_t once_value_1039 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1040 = NIT_NULL; /* Once value for string variable[15]*/
+  static val_t once_value_1041 = NIT_NULL; /* Once value for string variable[15]*/
+  val_t variable[16];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Result */
+  variable[5] = NEW_CContext_compiling_base___CContext___init() /*new CContext*/;
+  CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::ctx=*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CFunctionContext___closure(variable[6])(variable[6]) /*CFunctionContext::closure*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___CFunctionContext___closure__eq(variable[6])(variable[6], variable[7]) /*CFunctionContext::closure=*/;
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___NitMethodContext___return_value(variable[7])(variable[7]) /*NitMethodContext::return_value*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Local variable */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___NitMethodContext___break_value(variable[8])(variable[8]) /*NitMethodContext::break_value*/;
+  variable[7] = variable[8];
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool(( variable[5] /*cfc_old*/ ==  NIT_NULL /*null*/) || (( variable[5] /*cfc_old*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*cfc_old*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*cfc_old*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*cfc_old*/)( variable[5] /*cfc_old*/,  NIT_NULL /*null*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_998 != NIT_NULL) variable[10] = once_value_998;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString("closctx->"), TAG_Int(9)) /*new String*/;
+      once_value_998 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    variable[10] =  variable[6] /*old_rv*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_999 != NIT_NULL) variable[10] = once_value_999;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_999 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+    CALL_compiling_methods___NitMethodContext___return_value__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::return_value=*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_1000 != NIT_NULL) variable[10] = once_value_1000;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString("closctx->"), TAG_Int(9)) /*new String*/;
+      once_value_1000 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    variable[10] =  variable[7] /*old_bv*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[10]: Once String constant */
+    if (once_value_1001 != NIT_NULL) variable[10] = once_value_1001;
+    else {
+      variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_1001 = variable[10];
+    }
+    /* Register variable[10]: Result */
+    /* Ensure var variable[10]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+    CALL_compiling_methods___NitMethodContext___break_value__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::break_value=*/;
+  }
+  /* Register variable[8]: Local variable */
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1002 != NIT_NULL) variable[10] = once_value_1002;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("OC_"), TAG_Int(3)) /*new String*/;
+    once_value_1002 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___NitMethodContext___method(variable[10])(variable[10]) /*NitMethodContext::method*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_base___MMLocalProperty___cname(variable[10])(variable[10]) /*MMLocalProperty::cname*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1003 != NIT_NULL) variable[10] = once_value_1003;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
+    once_value_1003 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_abstract_collection___Collection___length(variable[10])(variable[10]) /*AbstractArrayRead::length*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1004 != NIT_NULL) variable[10] = once_value_1004;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1004 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  variable[8] = variable[9];
+  ATTR_compiling_methods___AClosureDef____cname(variable[0]) /*AClosureDef::_cname*/ =  variable[8] /*cname*/;
+  /* Register variable[9]: Local variable */
+  /* Register variable[10]: Result */
+  variable[10] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[9] = variable[10];
+  /* Register variable[10]: Result */
+  variable[10] = CALL_syntax_base___PClosureDef___closure(variable[0])(variable[0]) /*PClosureDef::closure*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_static_type___MMClosure___signature(variable[10])(variable[10]) /*MMClosure::signature*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_static_type___MMSignature___arity(variable[10])(variable[10]) /*MMSignature::arity*/;
+  /* Register variable[10]: Result */
+  variable[10] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[10]) /*new Range[Int]*/;
+  /* Register variable[10]: For iterator */
+  variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[11]: For 'is_ok' result */
+    variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[11])) break; /*for*/
+    variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[12]: Local variable */
+    variable[12] = variable[11];
+    variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_1006 != NIT_NULL) variable[14] = once_value_1006;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)) /*new String*/;
+      once_value_1006 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    variable[14] =  variable[12] /*i*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/) /*AbstractArray::add*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_1007 != NIT_NULL) variable[14] = once_value_1007;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_1007 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[13]: Result */
+    variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
+    CALL_abstract_collection___SimpleCollection___add( variable[9] /*args*/)( variable[9] /*args*/, variable[13]) /*AbstractArray::add*/;
+    continue_1005: while(0);
+    CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*Iterator::next*/;
+  }
+  break_1005: while(0);
+  /* Register variable[10]: Local variable */
+  /* Register variable[11]: Result */
+  variable[11] = CALL_compiling_methods___AClosureDef___decl_csignature(variable[0])(variable[0],  variable[1] /*v*/,  variable[9] /*args*/,  variable[2] /*closcn*/) /*AClosureDef::decl_csignature*/;
+  variable[10] = variable[11];
+  variable[11] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[12]: Once String constant */
+  if (once_value_1008 != NIT_NULL) variable[12] = once_value_1008;
+  else {
+    variable[12] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1008 = variable[12];
+  }
+  /* Register variable[12]: Result */
+  /* Ensure var variable[12]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[12]) /*AbstractArray::add*/;
+  variable[12] =  variable[10] /*cs*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[12]) /*AbstractArray::add*/;
+  /* Register variable[12]: Once String constant */
+  if (once_value_1009 != NIT_NULL) variable[12] = once_value_1009;
+  else {
+    variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)) /*new String*/;
+    once_value_1009 = variable[12];
+  }
+  /* Register variable[12]: Result */
+  /* Ensure var variable[12]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[12]) /*AbstractArray::add*/;
+  /* Register variable[11]: Result */
+  variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[11]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[11]: Local variable */
+  /* Register variable[12]: Result */
+  variable[12] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
+  variable[11] = variable[12];
+  /* Register variable[12]: Result */
+  variable[12] = NEW_CContext_compiling_base___CContext___init() /*new CContext*/;
+  CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::ctx=*/;
+  variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[13]: Once String constant */
+  if (once_value_1010 != NIT_NULL) variable[13] = once_value_1010;
+  else {
+    variable[13] = NEW_String_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, NULL, "), TAG_Int(36)) /*new String*/;
+    once_value_1010 = variable[13];
+  }
+  /* Register variable[13]: Result */
+  /* Ensure var variable[13]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_parser_prod___PNode___line_number(variable[0])(variable[0]) /*Prod::line_number*/;
+  /* Ensure var variable[13]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[13]: Once String constant */
+  if (once_value_1011 != NIT_NULL) variable[13] = once_value_1011;
+  else {
+    variable[13] = NEW_String_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)) /*new String*/;
+    once_value_1011 = variable[13];
+  }
+  /* Register variable[13]: Result */
+  /* Ensure var variable[13]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_compiling_methods___NitMethodContext___method(variable[13])(variable[13]) /*NitMethodContext::method*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_compiling_base___MMLocalProperty___cname(variable[13])(variable[13]) /*MMLocalProperty::cname*/;
+  /* Ensure var variable[13]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
+  /* Register variable[13]: Once String constant */
+  if (once_value_1012 != NIT_NULL) variable[13] = once_value_1012;
+  else {
+    variable[13] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)) /*new String*/;
+    once_value_1012 = variable[13];
+  }
+  /* Register variable[13]: Result */
+  /* Ensure var variable[13]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
+  /* Register variable[12]: Result */
+  variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_decl*/;
+  /* Register variable[12]: Once String constant */
+  if (once_value_1013 != NIT_NULL) variable[12] = once_value_1013;
+  else {
+    variable[12] = NEW_String_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)) /*new String*/;
+    once_value_1013 = variable[12];
+  }
+  /* Register variable[12]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
+  variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[13]: Once String constant */
+  if (once_value_1014 != NIT_NULL) variable[13] = once_value_1014;
+  else {
+    variable[13] = NEW_String_string___String___with_native(BOX_NativeString("trace.file = LOCATE_"), TAG_Int(20)) /*new String*/;
+    once_value_1014 = variable[13];
+  }
+  /* Register variable[13]: Result */
+  /* Ensure var variable[13]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_compiling_base___CompilerVisitor___module( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::module*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_abstractmetamodel___MMModule___name(variable[13])(variable[13]) /*MMModule::name*/;
+  /* Ensure var variable[13]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[13]: Once String constant */
+  if (once_value_1015 != NIT_NULL) variable[13] = once_value_1015;
+  else {
+    variable[13] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_1015 = variable[13];
+  }
+  /* Register variable[13]: Result */
+  /* Ensure var variable[13]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
+  /* Register variable[12]: Result */
+  variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[12]: Local variable */
+  /* Register variable[13]: Result */
+  variable[13] = CALL_compiling_methods___PClosureDef___do_compile_inside(variable[0])(variable[0],  variable[1] /*v*/,  variable[9] /*args*/) /*AClosureDef::do_compile_inside*/;
+  variable[12] = variable[13];
+  variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[14]: Once String constant */
+  if (once_value_1016 != NIT_NULL) variable[14] = once_value_1016;
+  else {
+    variable[14] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1016 = variable[14];
+  }
+  /* Register variable[14]: Result */
+  /* Ensure var variable[14]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+  /* Register variable[14]: Result */
+  variable[14] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[14]: Result */
+  variable[14] = CALL_compiling_methods___NitMethodContext___return_label(variable[14])(variable[14]) /*NitMethodContext::return_label*/;
+  /* Ensure var variable[14]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+  /* Register variable[14]: Once String constant */
+  if (once_value_1017 != NIT_NULL) variable[14] = once_value_1017;
+  else {
+    variable[14] = NEW_String_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)) /*new String*/;
+    once_value_1017 = variable[14];
+  }
+  /* Register variable[14]: Result */
+  /* Ensure var variable[14]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[13]: Once String constant */
+  if (once_value_1018 != NIT_NULL) variable[13] = once_value_1018;
+  else {
+    variable[13] = NEW_String_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)) /*new String*/;
+    once_value_1018 = variable[13];
+  }
+  /* Register variable[13]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[13]: Result */
+  variable[13] = TAG_Bool(( variable[12] /*s*/ ==  NIT_NULL /*null*/) || (( variable[12] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*s*/)( variable[12] /*s*/,  NIT_NULL /*null*/) /*String::==*/)));
+  if (UNTAG_Bool(variable[13])) { /*if*/
+    /* Register variable[13]: Once String constant */
+    if (once_value_1019 != NIT_NULL) variable[13] = once_value_1019;
+    else {
+      variable[13] = NEW_String_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)) /*new String*/;
+      once_value_1019 = variable[13];
+    }
+    /* Register variable[13]: Result */
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
+  } else { /*if*/
+    variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_1020 != NIT_NULL) variable[14] = once_value_1020;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)) /*new String*/;
+      once_value_1020 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    variable[14] =  variable[12] /*s*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[14]: Once String constant */
+    if (once_value_1021 != NIT_NULL) variable[14] = once_value_1021;
+    else {
+      variable[14] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_1021 = variable[14];
+    }
+    /* Register variable[14]: Result */
+    /* Ensure var variable[14]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
+    /* Register variable[13]: Result */
+    variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
+  }
+  /* Register variable[13]: Result */
+  variable[13] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
+  CALL_compiling_base___CContext___append( variable[11] /*ctx_old2*/)( variable[11] /*ctx_old2*/, variable[13]) /*CContext::append*/;
+  CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/,  variable[11] /*ctx_old2*/) /*CompilerVisitor::ctx=*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[13]: Once String constant */
+  if (once_value_1022 != NIT_NULL) variable[13] = once_value_1022;
+  else {
+    variable[13] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_1022 = variable[13];
+  }
+  /* Register variable[13]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/,  variable[4] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___closure__eq(variable[13])(variable[13],  variable[5] /*cfc_old*/) /*CFunctionContext::closure=*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___return_value__eq(variable[13])(variable[13],  variable[6] /*old_rv*/) /*NitMethodContext::return_value=*/;
+  /* Register variable[13]: Result */
+  variable[13] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___break_value__eq(variable[13])(variable[13],  variable[7] /*old_bv*/) /*NitMethodContext::break_value=*/;
+  /* Register variable[13]: Local variable */
+  variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1023 != NIT_NULL) variable[15] = once_value_1023;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString("wbclos"), TAG_Int(6)) /*new String*/;
+    once_value_1023 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[15]: Result */
+  variable[15] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], CALL_string___Object___to_s(variable[15])(variable[15]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1024 != NIT_NULL) variable[15] = once_value_1024;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1024 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[14]: Result */
+  variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+  variable[13] = variable[14];
+  variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1025 != NIT_NULL) variable[15] = once_value_1025;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ "), TAG_Int(12)) /*new String*/;
+    once_value_1025 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  variable[15] =  variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1026 != NIT_NULL) variable[15] = once_value_1026;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_1026 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[14]: Result */
+  variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_decl*/;
+  variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1027 != NIT_NULL) variable[15] = once_value_1027;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1027 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  variable[15] =  variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1028 != NIT_NULL) variable[15] = once_value_1028;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".fun = (fun_t)"), TAG_Int(14)) /*new String*/;
+    once_value_1028 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  variable[15] =  variable[8] /*cname*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1029 != NIT_NULL) variable[15] = once_value_1029;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_1029 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[14]: Result */
+  variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+  variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1030 != NIT_NULL) variable[15] = once_value_1030;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1030 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  variable[15] =  variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1031 != NIT_NULL) variable[15] = once_value_1031;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".has_broke = NULL;"), TAG_Int(18)) /*new String*/;
+    once_value_1031 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[14]: Result */
+  variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[14]: Result */
+  variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[5] /*cfc_old*/ ==  NIT_NULL /*null*/) || (( variable[5] /*cfc_old*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*cfc_old*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*cfc_old*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*cfc_old*/)( variable[5] /*cfc_old*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[14])) { /*if*/
+    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_1032 != NIT_NULL) variable[15] = once_value_1032;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_1032 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    variable[15] =  variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_1033 != NIT_NULL) variable[15] = once_value_1033;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".variable = closctx->variable;"), TAG_Int(30)) /*new String*/;
+      once_value_1033 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_1034 != NIT_NULL) variable[15] = once_value_1034;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_1034 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    variable[15] =  variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_1035 != NIT_NULL) variable[15] = once_value_1035;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".closurevariable = closctx->closurevariable;"), TAG_Int(44)) /*new String*/;
+      once_value_1035 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+  } else { /*if*/
+    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_1036 != NIT_NULL) variable[15] = once_value_1036;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_1036 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    variable[15] =  variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_1037 != NIT_NULL) variable[15] = once_value_1037;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".variable = variable;"), TAG_Int(21)) /*new String*/;
+      once_value_1037 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_1038 != NIT_NULL) variable[15] = once_value_1038;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_1038 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    variable[15] =  variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[15]: Once String constant */
+    if (once_value_1039 != NIT_NULL) variable[15] = once_value_1039;
+    else {
+      variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".closurevariable = closurevariable;"), TAG_Int(35)) /*new String*/;
+      once_value_1039 = variable[15];
+    }
+    /* Register variable[15]: Result */
+    /* Ensure var variable[15]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+    /* Register variable[14]: Result */
+    variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
+  }
+  variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1040 != NIT_NULL) variable[15] = once_value_1040;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString("(&"), TAG_Int(2)) /*new String*/;
+    once_value_1040 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  variable[15] =  variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[15]: Once String constant */
+  if (once_value_1041 != NIT_NULL) variable[15] = once_value_1041;
+  else {
+    variable[15] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_1041 = variable[15];
+  }
+  /* Register variable[15]: Result */
+  /* Ensure var variable[15]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
+  /* Register variable[14]: Result */
+  variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
+  variable[3] = variable[14];
+  goto return_label997;
+  return_label997: while(false);
   tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AOrExpr::compile_expr (src/compiling//compiling_methods.nit:932,2--942:10)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AOrExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AOrExpr___n_expr))( self) /*AOrExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable2) /*CompilerVisitor::ensure_var*/;
-  variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
-  variable4 = variable3;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-  variable5 =  variable1 /*e*/;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /* or */"), TAG_Int(13)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
-  ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable1 /*e*/) /*CompilerVisitor::free_var*/;
-  ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  variable3 = ((parser_nodes___AOrExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AOrExpr___n_expr2))( self) /*AOrExpr::n_expr2*/;
-  variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
-  variable2 = variable3;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable1 /*e*/,  variable2 /*e2*/) /*CompilerVisitor::add_assignment*/;
-  ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  variable1 =  variable1 /*e*/;
-  goto return_label281;
-  return_label281: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AAndExpr::compile_expr (src/compiling//compiling_methods.nit:947,2--957:10)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AAndExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr))( self) /*AAndExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable2) /*CompilerVisitor::ensure_var*/;
-  variable1 = variable2;
-  variable2 = NEW_string___String___init(); /*new String*/
-  variable3 = NEW_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
-  variable4 = variable3;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-  variable5 =  variable1 /*e*/;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /* and */"), TAG_Int(14)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
-  ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable1 /*e*/) /*CompilerVisitor::free_var*/;
-  ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  variable3 = ((parser_nodes___AAndExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr2))( self) /*AAndExpr::n_expr2*/;
-  variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
-  variable2 = variable3;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable1 /*e*/,  variable2 /*e2*/) /*CompilerVisitor::add_assignment*/;
-  ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  variable1 =  variable1 /*e*/;
-  goto return_label282;
-  return_label282: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ANotExpr::compile_expr (src/compiling//compiling_methods.nit:962,2--964:59)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(!UNTAG_Bool("), TAG_Int(22)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 = ((parser_nodes___ANotExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ANotExpr___n_expr))( self) /*ANotExpr::n_expr*/;
-  variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  goto return_label283;
-  return_label283: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AEeExpr::compile_expr (src/compiling//compiling_methods.nit:969,2--973:42)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AEeExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AEeExpr___n_expr))( self) /*AEeExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable3 = ((parser_nodes___AEeExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AEeExpr___n_expr2))( self) /*AEeExpr::n_expr2*/;
-  variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
-  variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(IS_EQUAL_NN("), TAG_Int(21)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 =  variable1 /*e*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable9 =  variable2 /*e2*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable1 = variable3;
-  goto return_label284;
-  return_label284: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AIsaExpr::compile_expr (src/compiling//compiling_methods.nit:978,2--981:39)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AIsaExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIsaExpr___n_expr))( self) /*AIsaExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable2 = ((parser_nodes___AIsaExpr___n_type_t)CALL( self,COLOR_parser_nodes___AIsaExpr___n_type))( self) /*AIsaExpr::n_type*/;
-  variable2 = ((typing___PType___stype_t)CALL(variable2,COLOR_typing___PType___stype))(variable2) /*PType::stype*/;
-  variable2 = ((compiling_methods___MMType___compile_cast_t)CALL(variable2,COLOR_compiling_methods___MMType___compile_cast))(variable2,  variable0 /*v*/,  variable1 /*e*/) /*MMType::compile_cast*/;
-  variable1 = variable2;
-  goto return_label285;
-  return_label285: while(false);
-  tracehead = trace.prev;
-  return variable1;
+  return variable[3];
 }
-val_t compiling_methods___ATrueExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ATrueExpr::compile_expr (src/compiling//compiling_methods.nit:986,2--988:26)"};
-  val_t variable0;
-  val_t variable1;
+val_t compiling_methods___AClosureDef___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 1699, LOCATE_compiling_methods___AClosureDef___do_compile_inside};
+  static val_t once_value_1046 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1047 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1048 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1049 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_1050 = NIT_NULL; /* Once value for string variable[8]*/
+  val_t variable[14];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)); /*new String*/
-  goto return_label286;
-  return_label286: while(false);
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_syntax_base___PClosureDef___variables(variable[0])(variable[0]) /*PClosureDef::variables*/;
+  /* Register variable[4]: Result */
+  variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArrayRead::length*/;
+  /* Register variable[4]: Result */
+  variable[4] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]) /*new Range[Int]*/;
+  /* Register variable[4]: For iterator */
+  variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[5]: For 'is_ok' result */
+    variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[5])) break; /*for*/
+    variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[6]: Local variable */
+    variable[6] = variable[5];
+    /* Register variable[7]: Local variable */
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+    /* Register variable[9]: Result */
+    variable[9] = CALL_syntax_base___PClosureDef___variables(variable[0])(variable[0]) /*PClosureDef::variables*/;
+    /* Register variable[10]: Local variable */
+    variable[10] = variable[9];
+    /* Register variable[11]: Local variable */
+    variable[11] =  variable[6] /*i*/;
+    /* Register variable[12]: Method return value and escape marker */
+    /* Register variable[13]: Result */
+    variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[13]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[13])) { /* and */
+      /* Register variable[13]: Result */
+      variable[13] = ATTR_array___AbstractArrayRead____length(variable[10]) /*AbstractArrayRead::_length*/;
+      /* Register variable[13]: Result */
+      variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[13]));
+    }
+    /* Register variable[13]: Result */
+    if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[13]: Result */
+    variable[13] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
+    /* Register variable[13]: Result */
+    variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
+    variable[12] = variable[13];
+    goto return_label1044;
+    return_label1044: while(false);
+    /* Register variable[9]: Result */
+    variable[9] = variable[12];
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CFunctionContext___register_variable(variable[8])(variable[8], variable[9]) /*CFunctionContext::register_variable*/;
+    variable[7] = variable[8];
+    /* Register variable[8]: Local variable */
+    variable[8] =  variable[2] /*params*/;
+    /* Register variable[9]: Local variable */
+    variable[9] =  variable[6] /*i*/;
+    /* Register variable[10]: Method return value and escape marker */
+    /* Register variable[11]: Result */
+    variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[11]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[11])) { /* and */
+      /* Register variable[11]: Result */
+      variable[11] = ATTR_array___AbstractArrayRead____length(variable[8]) /*AbstractArrayRead::_length*/;
+      /* Register variable[11]: Result */
+      variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)<UNTAG_Int(variable[11]));
+    }
+    /* Register variable[11]: Result */
+    if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[11]: Result */
+    variable[11] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
+    /* Register variable[11]: Result */
+    variable[11] = UNBOX_NativeArray(variable[11])[UNTAG_Int( variable[9] /*index*/)];
+    variable[10] = variable[11];
+    goto return_label1045;
+    return_label1045: while(false);
+    /* Register variable[8]: Result */
+    variable[8] = variable[10];
+    CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[7] /*vacname*/, variable[8]) /*CompilerVisitor::add_assignment*/;
+    continue_1043: while(0);
+    CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
+  }
+  break_1043: while(0);
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___NitMethodContext___continue_value(variable[5])(variable[5]) /*NitMethodContext::continue_value*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___NitMethodContext___continue_label(variable[6])(variable[6]) /*NitMethodContext::continue_label*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___NitMethodContext___break_label(variable[7])(variable[7]) /*NitMethodContext::break_label*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1046 != NIT_NULL) variable[9] = once_value_1046;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Continue value and escape marker"), TAG_Int(32)) /*new String*/;
+    once_value_1046 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CFunctionContext___get_var(variable[8])(variable[8], variable[9]) /*CFunctionContext::get_var*/;
+  CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_value=*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1047 != NIT_NULL) variable[9] = once_value_1047;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("continue_label"), TAG_Int(14)) /*new String*/;
+    once_value_1047 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1048 != NIT_NULL) variable[9] = once_value_1048;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1048 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_label=*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___NitMethodContext___return_label(variable[8])(variable[8]) /*NitMethodContext::return_label*/;
+  CALL_compiling_methods___NitMethodContext___break_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::break_label=*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_parser_nodes___AClosureDef___n_expr(variable[0])(variable[0]) /*AClosureDef::n_expr*/;
+  CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::compile_stmt*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_1049 != NIT_NULL) variable[8] = once_value_1049;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1049 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___NitMethodContext___continue_label(variable[8])(variable[8]) /*NitMethodContext::continue_label*/;
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_1050 != NIT_NULL) variable[8] = once_value_1050;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)) /*new String*/;
+    once_value_1050 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[7]: Local variable */
+  variable[7] =  NIT_NULL /*null*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_syntax_base___PClosureDef___closure(variable[0])(variable[0]) /*PClosureDef::closure*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMClosure___signature(variable[8])(variable[8]) /*MMClosure::signature*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMSignature___return_type(variable[8])(variable[8]) /*MMSignature::return_type*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] ==  NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___NitMethodContext___continue_value(variable[8])(variable[8]) /*NitMethodContext::continue_value*/;
+    variable[7] = variable[8] /*ret=*/;
+  }
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[8])(variable[8],  variable[4] /*old_cv*/) /*NitMethodContext::continue_value=*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[8])(variable[8],  variable[5] /*old_cl*/) /*NitMethodContext::continue_label=*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___break_label__eq(variable[8])(variable[8],  variable[6] /*old_bl*/) /*NitMethodContext::break_label=*/;
+  variable[3] =  variable[7] /*ret*/;
+  goto return_label1042;
+  return_label1042: while(false);
   tracehead = trace.prev;
-  return variable1;
+  return variable[3];
 }
-val_t compiling_methods___AFalseExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AFalseExpr::compile_expr (src/compiling//compiling_methods.nit:993,2--995:27)"};
-  val_t variable0;
-  val_t variable1;
+val_t compiling_methods___AClosureDef___cname(val_t  self) {
+  struct trace_t trace = {NULL, NULL, 1605, LOCATE_compiling_methods___AClosureDef___cname};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(false)"), TAG_Int(16)); /*new String*/
-  goto return_label287;
-  return_label287: while(false);
+  trace.file = LOCATE_compiling_methods;
   tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AIntExpr::compile_expr (src/compiling//compiling_methods.nit:1000,2--1002:36)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Int("), TAG_Int(9)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 = ((parser_nodes___AIntExpr___n_number_t)CALL( self,COLOR_parser_nodes___AIntExpr___n_number))( self) /*AIntExpr::n_number*/;
-  variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*TNumber::text*/;
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  goto return_label288;
-  return_label288: while(false);
-  tracehead = trace.prev;
-  return variable1;
+  return ATTR_compiling_methods___AClosureDef____cname( self) /*AClosureDef::_cname*/;
 }
-val_t compiling_methods___AFloatExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AFloatExpr::compile_expr (src/compiling//compiling_methods.nit:1007,2--1009:36)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("BOX_Float("), TAG_Int(10)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 = ((parser_nodes___AFloatExpr___n_float_t)CALL( self,COLOR_parser_nodes___AFloatExpr___n_float))( self) /*AFloatExpr::n_float*/;
-  variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*TFloat::text*/;
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  goto return_label289;
-  return_label289: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___ACharExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ACharExpr::compile_expr (src/compiling//compiling_methods.nit:1014,2--1016:35)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Char("), TAG_Int(10)); /*new String*/
-  variable3 = variable2;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
-  variable4 = ((parser_nodes___ACharExpr___n_char_t)CALL( self,COLOR_parser_nodes___ACharExpr___n_char))( self) /*ACharExpr::n_char*/;
-  variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*TChar::text*/;
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
-  variable6 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  goto return_label290;
-  return_label290: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AStringFormExpr::compile_expr (src/compiling//compiling_methods.nit:1021,2--1025:107)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  static val_t once_value_variable3_292; static int once_bool_variable3_292;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*AStringFormExpr::stype*/;
-  if (once_bool_variable3_292) variable3 = once_value_variable3_292;
-  else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("with_native"), TAG_Int(11)); /*new String*/
-    variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
-    once_value_variable3_292 = variable3;
-    once_bool_variable3_292 = true;
-  }
-  variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
-  variable1 = variable2;
-  ((compiling_methods___AStringFormExpr___compute_string_info_t)CALL( self,COLOR_compiling_methods___AStringFormExpr___compute_string_info))( self) /*AStringFormExpr::compute_string_info*/;
-  variable2 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("BOX_NativeString(\""), TAG_Int(18)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 = ATTR_compiling_methods___AStringFormExpr____cstring( self) /*AStringFormExpr::_cstring*/;
-  variable7 = variable6;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("\")"), TAG_Int(2)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*Array::add*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ATTR_compiling_methods___AStringFormExpr____cstring_length( self) /*AStringFormExpr::_cstring_length*/;
-  variable8 = variable7;
-  variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-  variable10 = variable9;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*Array::add*/;
-  variable2 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable2) /*MMMethod::compile_constructor_call*/;
-  variable1 = variable2;
-  goto return_label291;
-  return_label291: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___AStringFormExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::AStringFormExpr::string_text (src/compiling//compiling_methods.nit:1028,2--1029:35)"};
+val_t compiling_methods___AClosureDef___decl_csignature(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
+  struct trace_t trace = {NULL, NULL, 1678, LOCATE_compiling_methods___AClosureDef___decl_csignature};
+  static val_t once_value_1052 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_1054 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_1056 = NIT_NULL; /* Once value for string variable[11]*/
+    static val_t once_value_1057 = NIT_NULL; /* Once value for string variable[7]*/
+    static val_t once_value_1058 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_1059 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_1060 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1061 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1062 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1063 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1064 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1065 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1066 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1067 = NIT_NULL; /* Once value for string variable[10]*/
+  static val_t once_value_1068 = NIT_NULL; /* Once value for string variable[9]*/
+  val_t variable[15];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method string_text called (src/compiling//compiling_methods.nit:1028,2)\n");
-  nit_exit(1);
-  tracehead = trace.prev;
-  return NIT_NULL;
-}
-void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::AStringFormExpr::compute_string_info (src/compiling//compiling_methods.nit:1037,2--1059:23)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-    val_t variable4;
-    val_t variable5;
-      val_t variable6;
-      val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(0);
-  variable2 = ((compiling_methods___AStringFormExpr___string_text_t)CALL( self,COLOR_compiling_methods___AStringFormExpr___string_text))( self) /*AStringFormExpr::string_text*/;
-  variable1 = variable2;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable2 = variable3;
-  variable3 =  TAG_Int(0);
-  while (true) { /*while*/
-    variable4 = ((array___AbstractArray___length_t)CALL( variable1 /*str*/,COLOR_abstract_collection___Collection___length))( variable1 /*str*/) /*String::length*/;
-    variable4 = TAG_Bool(UNTAG_Int( variable3 /*i*/)<UNTAG_Int(variable4));
-    if (!UNTAG_Bool(variable4)) break; /* while*/
-    variable5 = ((string___String_____bra_t)CALL( variable1 /*str*/,COLOR_abstract_collection___Map_____bra))( variable1 /*str*/,  variable3 /*i*/) /*String::[]*/;
-    variable4 = variable5;
-    variable5 = TAG_Bool(( variable4 /*c*/)==( TAG_Char('\\')));
-    if (UNTAG_Bool(variable5)) { /*if*/
-      variable5 = TAG_Int(UNTAG_Int( variable3 /*i*/)+UNTAG_Int( TAG_Int(1)));
-      variable3 = variable5 /*i=*/;
-      variable6 = ((string___String_____bra_t)CALL( variable1 /*str*/,COLOR_abstract_collection___Map_____bra))( variable1 /*str*/,  variable3 /*i*/) /*String::[]*/;
-      variable5 = variable6;
-      variable6 = TAG_Bool(( variable5 /*c2*/)!=( TAG_Char('{')));
-      variable7 = variable6;
-      if (UNTAG_Bool(variable7)) { /* and */
-        variable7 = TAG_Bool(( variable5 /*c2*/)!=( TAG_Char('}')));
-      }
-      variable6 = variable7;
-      if (UNTAG_Bool(variable6)) { /*if*/
-        ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/,  variable4 /*c*/) /*String::add*/;
-      }
-      variable4 =  variable5 /*c2*/ /*c=*/;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Local variable */
+  variable[3] =  param2;
+  /* Register variable[4]: Method return value and escape marker */
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Once String constant */
+  if (once_value_1052 != NIT_NULL) variable[6] = once_value_1052;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ *closctx"), TAG_Int(20)) /*new String*/;
+    once_value_1052 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  CALL_abstract_collection___SimpleCollection___add( variable[5] /*params*/)( variable[5] /*params*/, variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_syntax_base___PClosureDef___closure(variable[0])(variable[0]) /*PClosureDef::closure*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMClosure___signature(variable[6])(variable[6]) /*MMClosure::signature*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_static_type___MMSignature___arity(variable[6])(variable[6]) /*MMSignature::arity*/;
+  /* Register variable[6]: Result */
+  variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6]) /*new Range[Int]*/;
+  /* Register variable[6]: For iterator */
+  variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
+  while (true) { /*for*/
+    /* Register variable[7]: For 'is_ok' result */
+    variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable[7])) break; /*for*/
+    variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/ /* Ensure var: For item*/;
+    /* Register variable[8]: Local variable */
+    variable[8] = variable[7];
+    /* Register variable[9]: Local variable */
+    variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[11]: Once String constant */
+    if (once_value_1054 != NIT_NULL) variable[11] = once_value_1054;
+    else {
+      variable[11] = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)) /*new String*/;
+      once_value_1054 = variable[11];
+    }
+    /* Register variable[11]: Result */
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Local variable */
+    variable[11] =  variable[2] /*args*/;
+    /* Register variable[12]: Local variable */
+    variable[12] =  variable[8] /*i*/;
+    /* Register variable[13]: Method return value and escape marker */
+    /* Register variable[14]: Result */
+    variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
+    /* Ensure var variable[14]: Left 'and' operand*/
+    if (UNTAG_Bool(variable[14])) { /* and */
+      /* Register variable[14]: Result */
+      variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
+      /* Register variable[14]: Result */
+      variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
     }
-    variable5 = TAG_Int(UNTAG_Int( variable0 /*len*/)+UNTAG_Int( TAG_Int(1)));
-    variable0 = variable5 /*len=*/;
-    ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/,  variable4 /*c*/) /*String::add*/;
-    variable5 = TAG_Int(UNTAG_Int( variable3 /*i*/)+UNTAG_Int( TAG_Int(1)));
-    variable3 = variable5 /*i=*/;
-    continue_294: while(0);
+    /* Register variable[14]: Result */
+    if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
+    /* Register variable[14]: Result */
+    variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
+    /* Register variable[14]: Result */
+    variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
+    variable[13] = variable[14];
+    goto return_label1055;
+    return_label1055: while(false);
+    /* Register variable[11]: Result */
+    variable[11] = variable[13];
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[11]: Once String constant */
+    if (once_value_1056 != NIT_NULL) variable[11] = once_value_1056;
+    else {
+      variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_1056 = variable[11];
+    }
+    /* Register variable[11]: Result */
+    /* Ensure var variable[11]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
+    /* Register variable[10]: Result */
+    variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
+    variable[9] = variable[10];
+    CALL_abstract_collection___SimpleCollection___add( variable[5] /*params*/)( variable[5] /*params*/,  variable[9] /*p*/) /*AbstractArray::add*/;
+    continue_1053: while(0);
+    CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
   }
-  break_294: while(0);
-  ATTR_compiling_methods___AStringFormExpr____cstring( self) /*AStringFormExpr::_cstring*/ =  variable2 /*res*/;
-  ATTR_compiling_methods___AStringFormExpr____cstring_length( self) /*AStringFormExpr::_cstring_length*/ =  variable0 /*len*/;
-  tracehead = trace.prev;
-  return;
-}
-val_t compiling_methods___AStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::AStringExpr::string_text (src/compiling//compiling_methods.nit:1064,2--85)"};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___AStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStringExpr___n_string))( self) /*AStringExpr::n_string*/;
-  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TString::text*/;
-  variable1 = ((parser_nodes___AStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStringExpr___n_string))( self) /*AStringExpr::n_string*/;
-  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TString::text*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
-  variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
-  variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0,  TAG_Int(1), variable1) /*String::substring*/;
-  goto return_label295;
-  return_label295: while(false);
+  break_1053: while(0);
+  /* Register variable[6]: Local variable */
+  /*variable[6] is variable ret*/
+  /* Register variable[7]: Result */
+  variable[7] = CALL_syntax_base___PClosureDef___closure(variable[0])(variable[0]) /*PClosureDef::closure*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_static_type___MMClosure___signature(variable[7])(variable[7]) /*MMClosure::signature*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_static_type___MMSignature___return_type(variable[7])(variable[7]) /*MMSignature::return_type*/;
+  /* Register variable[7]: Result */
+  variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] ==  NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[7])) { /*if*/
+    /* Register variable[7]: Once String constant */
+    if (once_value_1057 != NIT_NULL) variable[7] = once_value_1057;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)) /*new String*/;
+      once_value_1057 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    variable[6] = variable[7] /*ret=*/;
+  } else { /*if*/
+    /* Register variable[7]: Once String constant */
+    if (once_value_1058 != NIT_NULL) variable[7] = once_value_1058;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)) /*new String*/;
+      once_value_1058 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    variable[6] = variable[7] /*ret=*/;
+  }
+  /* Register variable[7]: Local variable */
+  /* Register variable[8]: Once String constant */
+  if (once_value_1059 != NIT_NULL) variable[8] = once_value_1059;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_1059 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Collection___join( variable[5] /*params*/)( variable[5] /*params*/, variable[8]) /*Collection::join*/;
+  variable[7] = variable[8];
+  /* Register variable[8]: Local variable */
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1060 != NIT_NULL) variable[10] = once_value_1060;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1060 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[6] /*ret*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1061 != NIT_NULL) variable[10] = once_value_1061;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)) /*new String*/;
+    once_value_1061 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___AClosureDef___cname(variable[0])(variable[0]) /*AClosureDef::cname*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1062 != NIT_NULL) variable[10] = once_value_1062;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
+    once_value_1062 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[7] /*p*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1063 != NIT_NULL) variable[10] = once_value_1063;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
+    once_value_1063 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  variable[8] = variable[9];
+  variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1064 != NIT_NULL) variable[10] = once_value_1064;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)) /*new String*/;
+    once_value_1064 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[6] /*ret*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1065 != NIT_NULL) variable[10] = once_value_1065;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)) /*new String*/;
+    once_value_1065 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Result */
+  variable[10] = CALL_compiling_methods___AClosureDef___cname(variable[0])(variable[0]) /*AClosureDef::cname*/;
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1066 != NIT_NULL) variable[10] = once_value_1066;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)) /*new String*/;
+    once_value_1066 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  variable[10] =  variable[7] /*p*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[10]: Once String constant */
+  if (once_value_1067 != NIT_NULL) variable[10] = once_value_1067;
+  else {
+    variable[10] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
+    once_value_1067 = variable[10];
+  }
+  /* Register variable[10]: Result */
+  /* Ensure var variable[10]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1068 != NIT_NULL) variable[9] = once_value_1068;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_1068 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___String_____plus( variable[8] /*s*/)( variable[8] /*s*/, variable[9]) /*String::+*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
+  variable[4] =  variable[8] /*s*/;
+  goto return_label1051;
+  return_label1051: while(false);
   tracehead = trace.prev;
-  return variable0;
-}
-val_t compiling_methods___AStartStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::AStartStringExpr::string_text (src/compiling//compiling_methods.nit:1067,2--85)"};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___AStartStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStartStringExpr___n_string))( self) /*AStartStringExpr::n_string*/;
-  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TStartString::text*/;
-  variable1 = ((parser_nodes___AStartStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStartStringExpr___n_string))( self) /*AStartStringExpr::n_string*/;
-  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TStartString::text*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
-  variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
-  variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0,  TAG_Int(1), variable1) /*String::substring*/;
-  goto return_label296;
-  return_label296: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-val_t compiling_methods___AMidStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::AMidStringExpr::string_text (src/compiling//compiling_methods.nit:1070,2--85)"};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___AMidStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AMidStringExpr___n_string))( self) /*AMidStringExpr::n_string*/;
-  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TMidString::text*/;
-  variable1 = ((parser_nodes___AMidStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AMidStringExpr___n_string))( self) /*AMidStringExpr::n_string*/;
-  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TMidString::text*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
-  variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
-  variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0,  TAG_Int(1), variable1) /*String::substring*/;
-  goto return_label297;
-  return_label297: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-val_t compiling_methods___AEndStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::AEndStringExpr::string_text (src/compiling//compiling_methods.nit:1073,2--85)"};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___AEndStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AEndStringExpr___n_string))( self) /*AEndStringExpr::n_string*/;
-  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TEndString::text*/;
-  variable1 = ((parser_nodes___AEndStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AEndStringExpr___n_string))( self) /*AEndStringExpr::n_string*/;
-  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TEndString::text*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
-  variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
-  variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0,  TAG_Int(1), variable1) /*String::substring*/;
-  goto return_label298;
-  return_label298: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ASuperstringExpr::compile_expr (src/compiling//compiling_methods.nit:1077,2--1093:13)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  static val_t once_value_variable3_300; static int once_bool_variable3_300;
-  val_t variable4;
-  val_t variable5;
-  static val_t once_value_variable5_301; static int once_bool_variable5_301;
-  val_t variable6;
-  static val_t once_value_variable6_302; static int once_bool_variable6_302;
-    val_t variable7;
-    val_t variable8;
-    val_t variable9;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
-  if (once_bool_variable3_300) variable3 = once_value_variable3_300;
-  else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
-    variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
-    once_value_variable3_300 = variable3;
-    once_bool_variable3_300 = true;
-  }
-  variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
-  variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[String]*/
-  variable3 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable3) /*MMMethod::compile_constructor_call*/;
-  variable2 = variable3;
-  variable4 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
-  if (once_bool_variable5_301) variable5 = once_value_variable5_301;
-  else {
-    variable5 = NEW_string___String___with_native(BOX_NativeString("append"), TAG_Int(6)); /*new String*/
-    variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
-    once_value_variable5_301 = variable5;
-    once_bool_variable5_301 = true;
-  }
-  variable4 = ((static_type___MMType___select_method_t)CALL(variable4,COLOR_static_type___MMType___select_method))(variable4, variable5) /*MMType::select_method*/;
-  variable3 = variable4;
-  variable5 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
-  if (once_bool_variable6_302) variable6 = once_value_variable6_302;
-  else {
-    variable6 = NEW_string___String___with_native(BOX_NativeString("to_s"), TAG_Int(4)); /*new String*/
-    variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
-    once_value_variable6_302 = variable6;
-    once_bool_variable6_302 = true;
-  }
-  variable5 = ((static_type___MMType___select_method_t)CALL(variable5,COLOR_static_type___MMType___select_method))(variable5, variable6) /*MMType::select_method*/;
-  variable4 = variable5;
-  variable5 = ((parser_nodes___ASuperstringExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___ASuperstringExpr___n_exprs))( self) /*ASuperstringExpr::n_exprs*/;
-  variable5 = ((list___List___iterator_t)CALL(variable5,COLOR_abstract_collection___Collection___iterator))(variable5) /*List::iterator*/;
-  while (true) { /*for*/
-    variable6 = ((list___ListIterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*ListIterator::is_ok*/;
-    if (!UNTAG_Bool(variable6)) break; /*for*/
-    variable6 = ((list___ListIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ListIterator::item*/;
-    variable8 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable6 /*ne*/) /*CompilerVisitor::compile_expr*/;
-    variable8 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable8) /*CompilerVisitor::ensure_var*/;
-    variable7 = variable8;
-    variable8 = ((typing___PExpr___stype_t)CALL( variable6 /*ne*/,COLOR_syntax_base___PExpr___stype))( variable6 /*ne*/) /*PExpr::stype*/;
-    variable9 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
-    variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable8 == variable9) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8,variable9)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8, variable9) /*MMType::==*/)))))));
-    if (UNTAG_Bool(variable8)) { /*if*/
-      variable8 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
-      ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable7 /*e*/) /*Array::add*/;
-      variable8 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable4 /*prop3*/,COLOR_compiling_methods___MMMethod___compile_call))( variable4 /*prop3*/,  variable0 /*v*/, variable8) /*MMMethod::compile_call*/;
-      ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable7 /*e*/, variable8) /*CompilerVisitor::add_assignment*/;
-    }
-    variable8 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable2 /*recv*/) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable7 /*e*/) /*Array::add*/;
-    ((compiling_methods___MMMethod___compile_call_t)CALL( variable3 /*prop2*/,COLOR_compiling_methods___MMMethod___compile_call))( variable3 /*prop2*/,  variable0 /*v*/, variable8) /*MMMethod::compile_call*/;
-    continue_303: while(0);
-    ((list___ListIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ListIterator::next*/;
-  }
-  break_303: while(0);
-  variable1 =  variable2 /*recv*/;
-  goto return_label299;
-  return_label299: while(false);
-  tracehead = trace.prev;
-  return variable1;
+  return variable[4];
 }
-val_t compiling_methods___ANullExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ANullExpr::compile_expr (src/compiling//compiling_methods.nit:1098,2--1100:29)"};
-  val_t variable0;
-  val_t variable1;
+val_t compiling_methods___PClosureDecl___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 1730, LOCATE_compiling_methods___PClosureDecl___do_compile_inside};
+  val_t *variable = NULL;
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(" NIT_NULL /*null*/"), TAG_Int(18)); /*new String*/
-  goto return_label304;
-  return_label304: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AArrayExpr::compile_expr (src/compiling//compiling_methods.nit:1105,2--1115:13)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  static val_t once_value_variable3_306; static int once_bool_variable3_306;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  static val_t once_value_variable5_307; static int once_bool_variable5_307;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*AArrayExpr::stype*/;
-  if (once_bool_variable3_306) variable3 = once_value_variable3_306;
-  else {
-    variable3 = NEW_string___String___with_native(BOX_NativeString("with_capacity"), TAG_Int(13)); /*new String*/
-    variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
-    once_value_variable3_306 = variable3;
-    once_bool_variable3_306 = true;
-  }
-  variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
-  variable1 = variable2;
-  variable3 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 = ((parser_nodes___AArrayExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___AArrayExpr___n_exprs))( self) /*AArrayExpr::n_exprs*/;
-  variable7 = ((list___List___length_t)CALL(variable7,COLOR_abstract_collection___Collection___length))(variable7) /*List::length*/;
-  variable8 = variable7;
-  variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
-  variable9 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
-  variable10 = variable9;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*Array::add*/;
-  variable3 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable3) /*MMMethod::compile_constructor_call*/;
-  variable2 = variable3;
-  variable4 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*AArrayExpr::stype*/;
-  if (once_bool_variable5_307) variable5 = once_value_variable5_307;
-  else {
-    variable5 = NEW_string___String___with_native(BOX_NativeString("add"), TAG_Int(3)); /*new String*/
-    variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
-    once_value_variable5_307 = variable5;
-    once_bool_variable5_307 = true;
-  }
-  variable4 = ((static_type___MMType___select_method_t)CALL(variable4,COLOR_static_type___MMType___select_method))(variable4, variable5) /*MMType::select_method*/;
-  variable3 = variable4;
-  variable4 = ((parser_nodes___AArrayExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___AArrayExpr___n_exprs))( self) /*AArrayExpr::n_exprs*/;
-  variable4 = ((list___List___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*List::iterator*/;
-  while (true) { /*for*/
-    variable5 = ((list___ListIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ListIterator::is_ok*/;
-    if (!UNTAG_Bool(variable5)) break; /*for*/
-    variable5 = ((list___ListIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ListIterator::item*/;
-    variable7 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable5 /*ne*/) /*CompilerVisitor::compile_expr*/;
-    variable6 = variable7;
-    variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable2 /*recv*/) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable6 /*e*/) /*Array::add*/;
-    ((compiling_methods___MMMethod___compile_call_t)CALL( variable3 /*prop2*/,COLOR_compiling_methods___MMMethod___compile_call))( variable3 /*prop2*/,  variable0 /*v*/, variable7) /*MMMethod::compile_call*/;
-    continue_308: while(0);
-    ((list___ListIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ListIterator::next*/;
-  }
-  break_308: while(0);
-  variable1 =  variable2 /*recv*/;
-  goto return_label305;
-  return_label305: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___ARangeExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ARangeExpr::compile_expr (src/compiling//compiling_methods.nit:1120,2--1125:48)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ARangeExpr::stype*/;
-  variable3 = ((compiling_methods___ARangeExpr___propname_t)CALL( self,COLOR_compiling_methods___ARangeExpr___propname))( self) /*ARangeExpr::propname*/;
-  variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
-  variable1 = variable2;
-  variable3 = ((parser_nodes___ARangeExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ARangeExpr___n_expr))( self) /*ARangeExpr::n_expr*/;
-  variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
-  variable2 = variable3;
-  variable4 = ((parser_nodes___ARangeExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___ARangeExpr___n_expr2))( self) /*ARangeExpr::n_expr2*/;
-  variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
-  variable3 = variable4;
-  variable4 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable2 /*e*/) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable3 /*e2*/) /*Array::add*/;
-  variable4 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/,  variable0 /*v*/, variable4) /*MMMethod::compile_constructor_call*/;
-  variable1 = variable4;
-  goto return_label309;
-  return_label309: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___ARangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::ARangeExpr::propname (src/compiling//compiling_methods.nit:1127,2--1128:32)"};
-  trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method propname called (src/compiling//compiling_methods.nit:1127,2)\n");
+  trace.file = LOCATE_compiling_methods;
+  fprintf(stderr, "Deferred method called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1730);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
-val_t compiling_methods___ACrangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::ACrangeExpr::propname (src/compiling//compiling_methods.nit:1132,2--52)"};
-  val_t variable0;
-  static val_t once_value_variable0_311; static int once_bool_variable0_311;
+val_t compiling_methods___AClosureDecl___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, NULL, 1733, LOCATE_compiling_methods___AClosureDecl___do_compile_inside};
+  static val_t once_value_1070 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1071 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1072 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1073 = NIT_NULL; /* Once value for string variable[8]*/
+  static val_t once_value_1074 = NIT_NULL; /* Once value for string variable[8]*/
+  val_t variable[10];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_311) variable0 = once_value_variable0_311;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Local variable */
+  variable[2] =  param1;
+  /* Register variable[3]: Method return value and escape marker */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_parser_nodes___AClosureDecl___n_signature(variable[0])(variable[0]) /*AClosureDecl::n_signature*/;
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] ==  NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    /* Register variable[4]: Result */
+    variable[4] = CALL_parser_nodes___AClosureDecl___n_signature(variable[0])(variable[0]) /*AClosureDecl::n_signature*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_syntax_base___PClosureDecl___variable(variable[0])(variable[0]) /*AClosureDecl::variable*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_syntax_base___ClosureVariable___closure(variable[5])(variable[5]) /*ClosureVariable::closure*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_static_type___MMClosure___signature(variable[5])(variable[5]) /*MMClosure::signature*/;
+    CALL_compiling_methods___PSignature___compile_parameters(variable[4])(variable[4],  variable[1] /*v*/, variable[5],  variable[2] /*params*/) /*PSignature::compile_parameters*/;
+  }
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___NitMethodContext___continue_value(variable[5])(variable[5]) /*NitMethodContext::continue_value*/;
+  variable[4] = variable[5];
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___NitMethodContext___continue_label(variable[6])(variable[6]) /*NitMethodContext::continue_label*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Local variable */
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___NitMethodContext___break_label(variable[7])(variable[7]) /*NitMethodContext::break_label*/;
+  variable[6] = variable[7];
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1070 != NIT_NULL) variable[9] = once_value_1070;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
-    variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_311 = variable0;
-    once_bool_variable0_311 = true;
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Continue value and escape marker"), TAG_Int(32)) /*new String*/;
+    once_value_1070 = variable[9];
   }
-  goto return_label310;
-  return_label310: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-val_t compiling_methods___AOrangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, "compiling_methods::AOrangeExpr::propname (src/compiling//compiling_methods.nit:1135,2--60)"};
-  val_t variable0;
-  static val_t once_value_variable0_313; static int once_bool_variable0_313;
-  trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_313) variable0 = once_value_variable0_313;
+  /* Register variable[9]: Result */
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CFunctionContext___get_var(variable[8])(variable[8], variable[9]) /*CFunctionContext::get_var*/;
+  CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_value=*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1071 != NIT_NULL) variable[9] = once_value_1071;
   else {
-    variable0 = NEW_string___String___with_native(BOX_NativeString("without_last"), TAG_Int(12)); /*new String*/
-    variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
-    once_value_variable0_313 = variable0;
-    once_bool_variable0_313 = true;
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("continue_label"), TAG_Int(14)) /*new String*/;
+    once_value_1071 = variable[9];
   }
-  goto return_label312;
-  return_label312: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ASuperExpr::compile_stmt (src/compiling//compiling_methods.nit:1139,2--1142:38)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-    val_t variable3;
-    val_t variable4;
-    val_t variable5;
-    val_t variable6;
-    val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((compiling_methods___ASuperExpr___compile_expr_t)CALL( self,COLOR_compiling_methods___PExpr___compile_expr))( self,  variable0 /*v*/) /*ASuperExpr::compile_expr*/;
-  variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*e*/ ==  NIT_NULL /*null*/) || (( variable1 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))( variable1 /*e*/,  NIT_NULL /*null*/) /*String::==*/)))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-    variable4 = variable3;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-    variable5 =  variable1 /*e*/;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
-    variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-    variable7 = variable6;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1072 != NIT_NULL) variable[9] = once_value_1072;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1072 = variable[9];
   }
-  tracehead = trace.prev;
-  return;
-}
-val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ASuperExpr::compile_expr (src/compiling//compiling_methods.nit:1145,2--1167:41)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-      val_t variable7;
-      val_t variable8;
-      val_t variable9;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
-  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
-  variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
-  variable1 = variable2;
-  variable2 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  NIT_NULL /*null*/) /*MMMethod::==*/)))))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
-    variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMMethod::signature*/;
-    variable2 = ((static_type___MMSignature___arity_t)CALL(variable2,COLOR_static_type___MMSignature___arity))(variable2) /*MMSignature::arity*/;
-    variable1 = variable2 /*arity=*/;
-  }
-  variable3 = TAG_Int(UNTAG_Int( variable1 /*arity*/)+UNTAG_Int( TAG_Int(1)));
-  variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[String]*/
-  variable3 = variable4;
-  variable2 = variable3;
-  variable3 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
-  variable4 =  TAG_Int(0);
-  variable5 = TAG_Bool(UNTAG_Int( variable4 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-  variable6 = variable5;
-  if (UNTAG_Bool(variable6)) { /* and */
-    variable6 = variable3;
-    variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
-    variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
-  }
-  variable5 = variable6;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-  variable5 = variable3;
-  variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
-  variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
-  goto return_label316;
-  return_label316: while(false);
-  variable3 = variable5;
-  ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable3) /*Array::add*/;
-  variable3 = ((parser_nodes___ASuperExpr___n_args_t)CALL( self,COLOR_parser_nodes___ASuperExpr___n_args))( self) /*ASuperExpr::n_args*/;
-  variable3 = ((list___List___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*List::length*/;
-  variable3 = TAG_Bool((variable3)!=( variable1 /*arity*/));
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_range___Range___without_last( TAG_Int(0),  variable1 /*arity*/); /*new Range[Int]*/
-    variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
-    while (true) { /*for*/
-      variable4 = ((abstract_collection___Iterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*Iterator::is_ok*/;
-      if (!UNTAG_Bool(variable4)) break; /*for*/
-      variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*Iterator::item*/;
-      variable5 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
-      variable6 = TAG_Int(UNTAG_Int( variable4 /*i*/)+UNTAG_Int( TAG_Int(1)));
-      variable7 = variable6;
-      variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-      variable9 = variable8;
-      if (UNTAG_Bool(variable9)) { /* and */
-        variable9 = variable5;
-        variable9 = ATTR_array___AbstractArray____length(variable9) /*Array::_length*/;
-        variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
-      }
-      variable8 = variable9;
-      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index'  failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
-      variable8 = variable5;
-      variable8 = ATTR_array___Array____items(variable8) /*Array::_items*/;
-      variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
-      goto return_label318;
-      return_label318: while(false);
-      variable5 = variable8;
-      ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable5) /*Array::add*/;
-      continue_317: while(0);
-      ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
-    }
-    break_317: while(0);
-  } else { /*if*/
-    variable3 = ((parser_nodes___ASuperExpr___n_args_t)CALL( self,COLOR_parser_nodes___ASuperExpr___n_args))( self) /*ASuperExpr::n_args*/;
-    variable3 = ((list___List___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*List::iterator*/;
-    while (true) { /*for*/
-      variable4 = ((list___ListIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ListIterator::is_ok*/;
-      if (!UNTAG_Bool(variable4)) break; /*for*/
-      variable4 = ((list___ListIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ListIterator::item*/;
-      variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable4 /*na*/) /*CompilerVisitor::compile_expr*/;
-      ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable5) /*Array::add*/;
-      continue_319: while(0);
-      ((list___ListIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ListIterator::next*/;
-    }
-    break_319: while(0);
-  }
-  variable3 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  NIT_NULL /*null*/) /*MMMethod::==*/)))))));
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
-    variable3 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable3,COLOR_compiling_methods___MMMethod___compile_call))(variable3,  variable0 /*v*/,  variable2 /*args*/) /*MMMethod::compile_call*/;
-    variable1 = variable3;
-    goto return_label315;
-  } else { /*if*/
-    variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASuperExpr::prop*/;
-    variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___global))(variable3) /*MMMethod::global*/;
-    variable3 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable3,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable3) /*MMGlobalProperty::is_init*/;
-    if (UNTAG_Bool(variable3)) { /*if*/
-      variable3 = NEW_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
-      ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable3) /*Array::add*/;
-    }
-    variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASuperExpr::prop*/;
-    variable3 = ((compiling_methods___MMMethod___compile_super_call_t)CALL(variable3,COLOR_compiling_methods___MMMethod___compile_super_call))(variable3,  variable0 /*v*/,  variable2 /*args*/) /*MMMethod::compile_super_call*/;
-    variable1 = variable3;
-    goto return_label315;
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_label=*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___NitMethodContext___return_label(variable[8])(variable[8]) /*NitMethodContext::return_label*/;
+  CALL_compiling_methods___NitMethodContext___break_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::break_label=*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_parser_nodes___AClosureDecl___n_expr(variable[0])(variable[0]) /*AClosureDecl::n_expr*/;
+  CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::compile_stmt*/;
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_1073 != NIT_NULL) variable[8] = once_value_1073;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+    once_value_1073 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___NitMethodContext___continue_label(variable[8])(variable[8]) /*NitMethodContext::continue_label*/;
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_1074 != NIT_NULL) variable[8] = once_value_1074;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)) /*new String*/;
+    once_value_1074 = variable[8];
   }
-  return_label315: while(false);
+  /* Register variable[8]: Result */
+  /* Ensure var variable[8]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[7]: Local variable */
+  variable[7] =  NIT_NULL /*null*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_syntax_base___PClosureDecl___variable(variable[0])(variable[0]) /*AClosureDecl::variable*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_syntax_base___ClosureVariable___closure(variable[8])(variable[8]) /*ClosureVariable::closure*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMClosure___signature(variable[8])(variable[8]) /*MMClosure::signature*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMSignature___return_type(variable[8])(variable[8]) /*MMSignature::return_type*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] ==  NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_compiling_methods___NitMethodContext___continue_value(variable[8])(variable[8]) /*NitMethodContext::continue_value*/;
+    variable[7] = variable[8] /*ret=*/;
+  }
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[8])(variable[8],  variable[4] /*old_cv*/) /*NitMethodContext::continue_value=*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[8])(variable[8],  variable[5] /*old_cl*/) /*NitMethodContext::continue_label=*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  CALL_compiling_methods___NitMethodContext___break_label__eq(variable[8])(variable[8],  variable[6] /*old_bl*/) /*NitMethodContext::break_label=*/;
+  variable[3] =  variable[7] /*ret*/;
+  goto return_label1069;
+  return_label1069: while(false);
   tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___AAttrExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AAttrExpr::compile_expr (src/compiling//compiling_methods.nit:1173,2--1176:33)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable2 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrExpr::prop*/;
-  variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2,  variable0 /*v*/,  variable1 /*e*/) /*MMAttribute::compile_access*/;
-  variable1 = variable2;
-  goto return_label320;
-  return_label320: while(false);
-  tracehead = trace.prev;
-  return variable1;
+  return variable[3];
 }
-void compiling_methods___AAttrAssignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AAttrAssignExpr::compile_stmt (src/compiling//compiling_methods.nit:1181,2--1185:48)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrAssignExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable3 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAttrAssignExpr::n_value*/;
-  variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
-  variable2 = variable3;
-  variable3 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrAssignExpr::prop*/;
-  variable3 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable3,COLOR_compiling_methods___MMAttribute___compile_access))(variable3,  variable0 /*v*/,  variable1 /*e*/) /*MMAttribute::compile_access*/;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable3,  variable2 /*e2*/) /*CompilerVisitor::add_assignment*/;
+val_t compiling_methods___AClosureCallExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1806, LOCATE_compiling_methods___AClosureCallExpr___compile_expr};
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___AClosureCallExpr___intern_compile_call(variable[0])(variable[0],  variable[1] /*v*/) /*AClosureCallExpr::intern_compile_call*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*e*/ ==  NIT_NULL /*null*/) || (( variable[3] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*e*/)( variable[3] /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AClosureCallExpr___compile_expr, LOCATE_compiling_methods, 1809); nit_exit(1);}
+  variable[2] =  variable[3] /*e*/;
+  goto return_label1075;
+  return_label1075: while(false);
   tracehead = trace.prev;
-  return;
+  return variable[2];
 }
-void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AAttrReassignExpr::compile_stmt (src/compiling//compiling_methods.nit:1189,2--1195:25)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrReassignExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable3 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrReassignExpr::prop*/;
-  variable3 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable3,COLOR_compiling_methods___MMAttribute___compile_access))(variable3,  variable0 /*v*/,  variable1 /*e1*/) /*MMAttribute::compile_access*/;
-  variable2 = variable3;
-  variable4 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AAttrReassignExpr::n_value*/;
-  variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
-  variable3 = variable4;
-  variable5 = ((typing___AReassignFormExpr___assign_method_t)CALL( self,COLOR_typing___AReassignFormExpr___assign_method))( self) /*AAttrReassignExpr::assign_method*/;
-  variable6 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable2 /*e2*/) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable3 /*e3*/) /*Array::add*/;
-  variable5 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable5,COLOR_compiling_methods___MMMethod___compile_call))(variable5,  variable0 /*v*/, variable6) /*MMMethod::compile_call*/;
-  variable4 = variable5;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable2 /*e2*/,  variable4 /*e4*/) /*CompilerVisitor::add_assignment*/;
+void compiling_methods___AClosureCallExpr___compile_stmt(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1813, LOCATE_compiling_methods___AClosureCallExpr___compile_stmt};
+    static val_t once_value_1077 = NIT_NULL; /* Once value for string variable[4]*/
+  val_t variable[5];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_methods___AClosureCallExpr___intern_compile_call(variable[0])(variable[0],  variable[1] /*v*/) /*AClosureCallExpr::intern_compile_call*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Result */
+  variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*e*/ ==  NIT_NULL /*null*/) || (( variable[3] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*e*/)( variable[3] /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[4])) { /*if*/
+    /* Register variable[4]: Once String constant */
+    if (once_value_1077 != NIT_NULL) variable[4] = once_value_1077;
+    else {
+      variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_1077 = variable[4];
+    }
+    /* Register variable[4]: Result */
+    /* Register variable[4]: Result */
+    variable[4] = CALL_string___String_____plus( variable[3] /*e*/)( variable[3] /*e*/, variable[4]) /*String::+*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
+  }
+  return_label1076: while(false);
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ASendExpr::compile_expr (src/compiling//compiling_methods.nit:1200,2--1213:10)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-    val_t variable4;
-    val_t variable5;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[String]*/
-  variable2 = variable3;
-  ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/,  variable1 /*recv*/) /*Array::add*/;
-  variable3 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ASendExpr::arguments*/;
-  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
-  while (true) { /*for*/
-    variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
-    if (!UNTAG_Bool(variable4)) break; /*for*/
-    variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
-    variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable4 /*a*/) /*CompilerVisitor::compile_expr*/;
-    ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable5) /*Array::add*/;
-    continue_324: while(0);
-    ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
-  }
-  break_324: while(0);
-  variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
-  variable4 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable4,COLOR_compiling_methods___MMMethod___compile_call))(variable4,  variable0 /*v*/,  variable2 /*cargs*/) /*MMMethod::compile_call*/;
-  variable3 = variable4;
-  variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMMethod::global*/;
-  variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
-  if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
-    ((compiling_methods___CompilerVisitor___invoke_super_init_calls_after_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___invoke_super_init_calls_after))( variable0 /*v*/, variable4) /*CompilerVisitor::invoke_super_init_calls_after*/;
-  }
-  variable1 =  variable3 /*e*/;
-  goto return_label323;
-  return_label323: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ASendExpr::compile_stmt (src/compiling//compiling_methods.nit:1216,2--1220:22)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
+val_t compiling_methods___AClosureCallExpr___intern_compile_call(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, NULL, 1761, LOCATE_compiling_methods___AClosureCallExpr___intern_compile_call};
+    static val_t once_value_1079 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_1080 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_1081 = NIT_NULL; /* Once value for string variable[6]*/
+    static val_t once_value_1082 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_1083 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1084 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1085 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1086 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1087 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1088 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_1089 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_1090 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1091 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1092 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_1093 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_1094 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_1095 = NIT_NULL; /* Once value for string variable[9]*/
+    static val_t once_value_1096 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1097 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1098 = NIT_NULL; /* Once value for string variable[9]*/
+  static val_t once_value_1099 = NIT_NULL; /* Once value for string variable[8]*/
+    static val_t once_value_1100 = NIT_NULL; /* Once value for string variable[8]*/
+  val_t variable[10];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((compiling_methods___ASendExpr___compile_expr_t)CALL( self,COLOR_compiling_methods___PExpr___compile_expr))( self,  variable0 /*v*/) /*ASendExpr::compile_expr*/;
-  variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*e*/ ==  NIT_NULL /*null*/) || (( variable1 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))( variable1 /*e*/,  NIT_NULL /*null*/) /*String::==*/)))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-    variable2 = ((string___String_____plus_t)CALL( variable1 /*e*/,COLOR_string___String_____plus))( variable1 /*e*/, variable2) /*String::+*/;
-    ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
+  variable[3] = variable[4];
+  CALL_compiling_methods___AAbsAbsSendExpr___compile_arguments_in(variable[0])(variable[0],  variable[1] /*v*/,  variable[3] /*cargs*/) /*AAbsAbsSendExpr::compile_arguments_in*/;
+  /* Register variable[4]: Local variable */
+  variable[4] =  NIT_NULL /*null*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___ClosureVariable___closure(variable[5])(variable[5]) /*ClosureVariable::closure*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMClosure___signature(variable[5])(variable[5]) /*MMClosure::signature*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMSignature___return_type(variable[5])(variable[5]) /*MMSignature::return_type*/;
+  /* Register variable[5]: Result */
+  variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] ==  NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[5])) { /*if*/
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_1079 != NIT_NULL) variable[6] = once_value_1079;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Closure call result value"), TAG_Int(25)) /*new String*/;
+      once_value_1079 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Register variable[5]: Result */
+    variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5], variable[6]) /*CFunctionContext::get_var*/;
+    variable[4] = variable[5] /*va=*/;
+  }
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_syntax_base___ClosureVariable___closure(variable[5])(variable[5]) /*ClosureVariable::closure*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_static_type___MMClosure___is_optional(variable[5])(variable[5]) /*MMClosure::is_optional*/;
+  if (UNTAG_Bool(variable[5])) { /*if*/
+    variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_1080 != NIT_NULL) variable[6] = once_value_1080;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if("), TAG_Int(3)) /*new String*/;
+      once_value_1080 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+    /* Register variable[7]: Result */
+    variable[7] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_compiling_methods___CFunctionContext___varname(variable[6])(variable[6], variable[7]) /*CFunctionContext::varname*/;
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[6]: Once String constant */
+    if (once_value_1081 != NIT_NULL) variable[6] = once_value_1081;
+    else {
+      variable[6] = NEW_String_string___String___with_native(BOX_NativeString("==NULL) {"), TAG_Int(9)) /*new String*/;
+      once_value_1081 = variable[6];
+    }
+    /* Register variable[6]: Result */
+    /* Ensure var variable[6]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+    /* Register variable[5]: Result */
+    variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+    CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+    /* Register variable[5]: Local variable */
+    /* Register variable[6]: Result */
+    variable[6] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
+    /* Register variable[6]: Result */
+    variable[6] = CALL_syntax_base___Variable___decl(variable[6])(variable[6]) /*Variable::decl*/;
+    variable[5] = variable[6];
+    /* Register variable[6]: Result */
+    variable[6] = TAG_Bool(( variable[5] /*n*/==NIT_NULL) || VAL_ISA( variable[5] /*n*/, COLOR_AClosureDecl, ID_AClosureDecl)) /*cast AClosureDecl*/;
+    if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AClosureCallExpr___intern_compile_call, LOCATE_compiling_methods, 1772); nit_exit(1);}
+    /* Register variable[6]: Local variable */
+    /* Register variable[7]: Result */
+    variable[7] = CALL_compiling_methods___PClosureDecl___do_compile_inside( variable[5] /*n*/)( variable[5] /*n*/,  variable[1] /*v*/,  variable[3] /*cargs*/) /*AClosureDecl::do_compile_inside*/;
+    variable[6] = variable[7];
+    /* Register variable[7]: Result */
+    variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*s*/ ==  NIT_NULL /*null*/) || (( variable[6] /*s*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*s*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*s*/)( variable[6] /*s*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+    if (UNTAG_Bool(variable[7])) { /*if*/
+      CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[4] /*va*/,  variable[6] /*s*/) /*CompilerVisitor::add_assignment*/;
+    }
+    CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+    /* Register variable[7]: Once String constant */
+    if (once_value_1082 != NIT_NULL) variable[7] = once_value_1082;
+    else {
+      variable[7] = NEW_String_string___String___with_native(BOX_NativeString("} else {"), TAG_Int(8)) /*new String*/;
+      once_value_1082 = variable[7];
+    }
+    /* Register variable[7]: Result */
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
+    CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  }
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[7]: Result */
+  variable[7] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CFunctionContext___varname(variable[6])(variable[6], variable[7]) /*CFunctionContext::varname*/;
+  variable[5] = variable[6];
+  /* Register variable[6]: Local variable */
+  variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  variable[5] /*ivar*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Result */
+  variable[6] = variable[7];
+  CALL_abstract_collection___IndexedCollection___append( variable[6] /*cargs2*/)( variable[6] /*cargs2*/,  variable[3] /*cargs*/) /*IndexedCollection::append*/;
+  /* Register variable[7]: Local variable */
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1083 != NIT_NULL) variable[9] = once_value_1083;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)) /*new String*/;
+    once_value_1083 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___ClosureVariable___ctypename(variable[9])(variable[9]) /*ClosureVariable::ctypename*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1084 != NIT_NULL) variable[9] = once_value_1084;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")("), TAG_Int(2)) /*new String*/;
+    once_value_1084 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  variable[9] =  variable[5] /*ivar*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1085 != NIT_NULL) variable[9] = once_value_1085;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->fun))("), TAG_Int(8)) /*new String*/;
+    once_value_1085 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1086 != NIT_NULL) variable[9] = once_value_1086;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
+    once_value_1086 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Register variable[9]: Result */
+  variable[9] = CALL_string___Collection___join( variable[6] /*cargs2*/)( variable[6] /*cargs2*/, variable[9]) /*Collection::join*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1087 != NIT_NULL) variable[9] = once_value_1087;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(") /* Invoke closure "), TAG_Int(20)) /*new String*/;
+    once_value_1087 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1088 != NIT_NULL) variable[9] = once_value_1088;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
+    once_value_1088 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  variable[7] = variable[8];
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[4] /*va*/ ==  NIT_NULL /*null*/) || (( variable[4] /*va*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[4] /*va*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[4] /*va*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[4] /*va*/)( variable[4] /*va*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[4] /*va*/,  variable[7] /*s*/) /*CompilerVisitor::add_assignment*/;
+  } else { /*if*/
+    variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_1089 != NIT_NULL) variable[9] = once_value_1089;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
+      once_value_1089 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    variable[9] =  variable[7] /*s*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_1090 != NIT_NULL) variable[9] = once_value_1090;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+      once_value_1090 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  }
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1091 != NIT_NULL) variable[9] = once_value_1091;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
+    once_value_1091 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  variable[9] =  variable[5] /*ivar*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1092 != NIT_NULL) variable[9] = once_value_1092;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke) {"), TAG_Int(14)) /*new String*/;
+    once_value_1092 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(variable[0])(variable[0]) /*AClosureCallExpr::n_closure_defs*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] ==  NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8],  NIT_NULL /*null*/) /*Object::==*/)))))));
+  /* Ensure var variable[8]: Left 'and' operand*/
+  if (UNTAG_Bool(variable[8])) { /* and */
+    /* Register variable[8]: Result */
+    variable[8] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(variable[0])(variable[0]) /*AClosureCallExpr::n_closure_defs*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_abstract_collection___Collection___length(variable[8])(variable[8]) /*List::length*/;
+    /* Register variable[8]: Result */
+    variable[8] = TAG_Bool((variable[8])==( TAG_Int(1)));
+  }
+  /* Register variable[8]: Result */
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    /* Register variable[8]: Result */
+    variable[8] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(variable[0])(variable[0]) /*AClosureCallExpr::n_closure_defs*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_abstract_collection___Collection___first(variable[8])(variable[8]) /*List::first*/;
+    CALL_compiling_methods___PClosureDef___do_compile_inside(variable[8])(variable[8],  variable[1] /*v*/,  NIT_NULL /*null*/) /*PClosureDef::do_compile_inside*/;
+  }
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_compiling_methods___CFunctionContext___closure(variable[8])(variable[8]) /*CFunctionContext::closure*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[8]: Result */
+  variable[8] = TAG_Bool((variable[8] == variable[9]) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8],variable[9])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], variable[9]) /*Object::==*/)))));
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_1093 != NIT_NULL) variable[9] = once_value_1093;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
+      once_value_1093 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    variable[9] =  variable[5] /*ivar*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_1094 != NIT_NULL) variable[9] = once_value_1094;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke) { closctx->has_broke = "), TAG_Int(36)) /*new String*/;
+      once_value_1094 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    variable[9] =  variable[5] /*ivar*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_1095 != NIT_NULL) variable[9] = once_value_1095;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke; closctx->broke_value = "), TAG_Int(36)) /*new String*/;
+      once_value_1095 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    variable[9] =  variable[5] /*ivar*/ /* Ensure var: super-string element*/;
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[9]: Once String constant */
+    if (once_value_1096 != NIT_NULL) variable[9] = once_value_1096;
+    else {
+      variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->broke_value;}"), TAG_Int(15)) /*new String*/;
+      once_value_1096 = variable[9];
+    }
+    /* Register variable[9]: Result */
+    /* Ensure var variable[9]: super-string element*/
+    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+    /* Register variable[8]: Result */
+    variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  }
+  variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1097 != NIT_NULL) variable[9] = once_value_1097;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
+    once_value_1097 = variable[9];
   }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
+  /* Register variable[9]: Result */
+  variable[9] = CALL_compiling_methods___NitMethodContext___return_label(variable[9])(variable[9]) /*NitMethodContext::return_label*/;
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[9]: Once String constant */
+  if (once_value_1098 != NIT_NULL) variable[9] = once_value_1098;
+  else {
+    variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_1098 = variable[9];
+  }
+  /* Register variable[9]: Result */
+  /* Ensure var variable[9]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[8]: Once String constant */
+  if (once_value_1099 != NIT_NULL) variable[8] = once_value_1099;
+  else {
+    variable[8] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_1099 = variable[8];
+  }
+  /* Register variable[8]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_syntax_base___ClosureVariable___closure(variable[8])(variable[8]) /*ClosureVariable::closure*/;
+  /* Register variable[8]: Result */
+  variable[8] = CALL_static_type___MMClosure___is_optional(variable[8])(variable[8]) /*MMClosure::is_optional*/;
+  if (UNTAG_Bool(variable[8])) { /*if*/
+    CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+    /* Register variable[8]: Once String constant */
+    if (once_value_1100 != NIT_NULL) variable[8] = once_value_1100;
+    else {
+      variable[8] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+      once_value_1100 = variable[8];
+    }
+    /* Register variable[8]: Result */
+    CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
+  }
+  variable[2] =  variable[4] /*va*/;
+  goto return_label1078;
+  return_label1078: while(false);
   tracehead = trace.prev;
-  return;
-}
-val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ASendReassignExpr::compile_expr (src/compiling//compiling_methods.nit:1226,2--1239:35)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-    val_t variable4;
-    val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
-  variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
-  variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[String]*/
-  variable2 = variable3;
-  ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/,  variable1 /*recv*/) /*Array::add*/;
-  variable3 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ASendReassignExpr::arguments*/;
-  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
-  while (true) { /*for*/
-    variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
-    if (!UNTAG_Bool(variable4)) break; /*for*/
-    variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
-    variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable4 /*a*/) /*CompilerVisitor::compile_expr*/;
-    ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable5) /*Array::add*/;
-    continue_327: while(0);
-    ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
-  }
-  break_327: while(0);
-  variable4 = ((typing___ASendReassignExpr___read_prop_t)CALL( self,COLOR_typing___ASendReassignExpr___read_prop))( self) /*ASendReassignExpr::read_prop*/;
-  variable4 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable4,COLOR_compiling_methods___MMMethod___compile_call))(variable4,  variable0 /*v*/,  variable2 /*cargs*/) /*MMMethod::compile_call*/;
-  variable3 = variable4;
-  variable5 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*ASendReassignExpr::n_value*/;
-  variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable5) /*CompilerVisitor::compile_expr*/;
-  variable4 = variable5;
-  variable6 = ((typing___AReassignFormExpr___assign_method_t)CALL( self,COLOR_typing___AReassignFormExpr___assign_method))( self) /*ASendReassignExpr::assign_method*/;
-  variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable3 /*e2*/) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable4 /*e3*/) /*Array::add*/;
-  variable6 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable6,COLOR_compiling_methods___MMMethod___compile_call))(variable6,  variable0 /*v*/, variable7) /*MMMethod::compile_call*/;
-  variable5 = variable6;
-  ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/,  variable5 /*e4*/) /*Array::add*/;
-  variable6 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendReassignExpr::prop*/;
-  variable6 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable6,COLOR_compiling_methods___MMMethod___compile_call))(variable6,  variable0 /*v*/,  variable2 /*cargs*/) /*MMMethod::compile_call*/;
-  variable1 = variable6;
-  goto return_label326;
-  return_label326: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t compiling_methods___ANewExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::ANewExpr::compile_expr (src/compiling//compiling_methods.nit:1244,2--1250:47)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-    val_t variable3;
-    val_t variable4;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[String]*/
-  variable1 = variable2;
-  variable2 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ANewExpr::arguments*/;
-  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
-  while (true) { /*for*/
-    variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
-    if (!UNTAG_Bool(variable3)) break; /*for*/
-    variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
-    variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/,  variable3 /*a*/) /*CompilerVisitor::compile_expr*/;
-    ((array___AbstractArray___add_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*cargs*/, variable4) /*Array::add*/;
-    continue_329: while(0);
-    ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
-  }
-  break_329: while(0);
-  variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ANewExpr::prop*/;
-  variable2 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL(variable2,COLOR_compiling_methods___MMMethod___compile_constructor_call))(variable2,  variable0 /*v*/,  variable1 /*cargs*/) /*MMMethod::compile_constructor_call*/;
-  variable1 = variable2;
-  goto return_label328;
-  return_label328: while(false);
-  tracehead = trace.prev;
-  return variable1;
+  return variable[2];
 }
 val_t compiling_methods___AProxyExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AProxyExpr::compile_expr (src/compiling//compiling_methods.nit:1255,2--1257:30)"};
-  val_t variable0;
-  val_t variable1;
+  struct trace_t trace = {NULL, NULL, 1823, LOCATE_compiling_methods___AProxyExpr___compile_expr};
+  val_t variable[4];
+  struct WBT_ **closurevariable = NULL;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AProxyExpr::n_expr*/;
-  variable1 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_expr*/;
-  goto return_label330;
-  return_label330: while(false);
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Result */
+  variable[3] = CALL_parser_nodes___AProxyExpr___n_expr(variable[0])(variable[0]) /*AProxyExpr::n_expr*/;
+  /* Register variable[3]: Result */
+  variable[3] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::compile_expr*/;
+  variable[2] = variable[3];
+  goto return_label1101;
+  return_label1101: while(false);
   tracehead = trace.prev;
-  return variable1;
+  return variable[2];
 }
 val_t compiling_methods___AOnceExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "compiling_methods::AOnceExpr::compile_expr (src/compiling//compiling_methods.nit:1262,2--1277:13)"};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  val_t variable6;
-  val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
-  val_t variable12;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
-  val_t variable20;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((compiling_base___CompilerVisitor___new_number_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___new_number))( variable0 /*v*/) /*CompilerVisitor::new_number*/;
-  variable1 = variable2;
-  variable3 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
-  variable2 = variable3;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("static val_t once_value_"), TAG_Int(24)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 =  variable2 /*cvar*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable9 =  variable1 /*i*/;
-  variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString("; static int once_bool_"), TAG_Int(23)); /*new String*/
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable12 =  variable2 /*cvar*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable14) /*String::append*/;
-  variable15 =  variable1 /*i*/;
-  variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-  variable17 = variable16;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable3) /*CompilerVisitor::add_decl*/;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("if (once_bool_"), TAG_Int(14)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 =  variable2 /*cvar*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
-  variable7 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable8 = variable7;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
-  variable9 =  variable1 /*i*/;
-  variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = NEW_string___String___with_native(BOX_NativeString(") "), TAG_Int(2)); /*new String*/
-  variable11 = variable10;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
-  variable12 =  variable2 /*cvar*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
-  variable13 = NEW_string___String___with_native(BOX_NativeString(" = once_value_"), TAG_Int(14)); /*new String*/
-  variable14 = variable13;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable14) /*String::append*/;
-  variable15 =  variable2 /*cvar*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
-  variable16 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable17 = variable16;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
-  variable18 =  variable1 /*i*/;
-  variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable18) /*String::append*/;
-  variable19 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-  variable20 = variable19;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable20) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  variable3 = NEW_string___String___with_native(BOX_NativeString("else {"), TAG_Int(6)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable2 /*cvar*/) /*CompilerVisitor::free_var*/;
-  variable4 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AOnceExpr::n_expr*/;
-  variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
-  variable3 = variable4;
-  ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable2 /*cvar*/,  variable3 /*e*/) /*CompilerVisitor::add_assignment*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("once_value_"), TAG_Int(11)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 =  variable2 /*cvar*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  variable10 =  variable1 /*i*/;
-  variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  variable13 =  variable2 /*cvar*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
-  variable14 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-  variable15 = variable14;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("once_bool_"), TAG_Int(10)); /*new String*/
-  variable6 = variable5;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
-  variable7 =  variable2 /*cvar*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
-  variable10 =  variable1 /*i*/;
-  variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(" = true;"), TAG_Int(8)); /*new String*/
-  variable12 = variable11;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
-  variable4 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
-  ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
-  variable1 =  variable2 /*cvar*/;
-  goto return_label331;
-  return_label331: while(false);
-  tracehead = trace.prev;
-  return variable1;
+  struct trace_t trace = {NULL, NULL, 1830, LOCATE_compiling_methods___AOnceExpr___compile_expr};
+  static val_t once_value_1103 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_1104 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_1105 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_1106 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_1107 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_1108 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_1109 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_1110 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_1111 = NIT_NULL; /* Once value for string variable[6]*/
+  static val_t once_value_1112 = NIT_NULL; /* Once value for string variable[5]*/
+  static val_t once_value_1113 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_1114 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_1115 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_1116 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_1117 = NIT_NULL; /* Once value for string variable[7]*/
+  static val_t once_value_1118 = NIT_NULL; /* Once value for string variable[6]*/
+  val_t variable[8];
+  struct WBT_ **closurevariable = NULL;
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_compiling_methods;
+  /* Register variable[0]: Local variable */
+  variable[0] =  self;
+  /* Register variable[1]: Local variable */
+  variable[1] =  param0;
+  /* Register variable[2]: Method return value and escape marker */
+  /* Register variable[3]: Local variable */
+  /* Register variable[4]: Result */
+  variable[4] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
+  variable[3] = variable[4];
+  /* Register variable[4]: Local variable */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1103 != NIT_NULL) variable[6] = once_value_1103;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Once expression result"), TAG_Int(22)) /*new String*/;
+    once_value_1103 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5], variable[6]) /*CFunctionContext::get_var*/;
+  variable[4] = variable[5];
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1104 != NIT_NULL) variable[6] = once_value_1104;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("static val_t once_value_"), TAG_Int(24)) /*new String*/;
+    once_value_1104 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1105 != NIT_NULL) variable[6] = once_value_1105;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("; static int once_bool_"), TAG_Int(23)) /*new String*/;
+    once_value_1105 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1106 != NIT_NULL) variable[6] = once_value_1106;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("; /* Once value for "), TAG_Int(20)) /*new String*/;
+    once_value_1106 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[4] /*cvar*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1107 != NIT_NULL) variable[6] = once_value_1107;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
+    once_value_1107 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_decl*/;
+  variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1108 != NIT_NULL) variable[6] = once_value_1108;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (once_bool_"), TAG_Int(14)) /*new String*/;
+    once_value_1108 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1109 != NIT_NULL) variable[6] = once_value_1109;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(") "), TAG_Int(2)) /*new String*/;
+    once_value_1109 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[4] /*cvar*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1110 != NIT_NULL) variable[6] = once_value_1110;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" = once_value_"), TAG_Int(14)) /*new String*/;
+    once_value_1110 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  variable[6] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1111 != NIT_NULL) variable[6] = once_value_1111;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_1111 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  /* Ensure var variable[6]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  /* Register variable[5]: Once String constant */
+  if (once_value_1112 != NIT_NULL) variable[5] = once_value_1112;
+  else {
+    variable[5] = NEW_String_string___String___with_native(BOX_NativeString("else {"), TAG_Int(6)) /*new String*/;
+    once_value_1112 = variable[5];
+  }
+  /* Register variable[5]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
+  /* Register variable[5]: Result */
+  variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
+  CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5],  variable[4] /*cvar*/) /*CFunctionContext::free_var*/;
+  /* Register variable[5]: Local variable */
+  /* Register variable[6]: Result */
+  variable[6] = CALL_parser_nodes___AProxyExpr___n_expr(variable[0])(variable[0]) /*AProxyExpr::n_expr*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
+  variable[5] = variable[6];
+  CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/,  variable[4] /*cvar*/,  variable[5] /*e*/) /*CompilerVisitor::add_assignment*/;
+  variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_1113 != NIT_NULL) variable[7] = once_value_1113;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("once_value_"), TAG_Int(11)) /*new String*/;
+    once_value_1113 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  variable[7] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_1114 != NIT_NULL) variable[7] = once_value_1114;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)) /*new String*/;
+    once_value_1114 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  variable[7] =  variable[4] /*cvar*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_1115 != NIT_NULL) variable[7] = once_value_1115;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
+    once_value_1115 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
+  variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_1116 != NIT_NULL) variable[7] = once_value_1116;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString("once_bool_"), TAG_Int(10)) /*new String*/;
+    once_value_1116 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  variable[7] =  variable[3] /*i*/ /* Ensure var: super-string element*/;
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
+  /* Register variable[7]: Once String constant */
+  if (once_value_1117 != NIT_NULL) variable[7] = once_value_1117;
+  else {
+    variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" = true;"), TAG_Int(8)) /*new String*/;
+    once_value_1117 = variable[7];
+  }
+  /* Register variable[7]: Result */
+  /* Ensure var variable[7]: super-string element*/
+  CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
+  /* Register variable[6]: Result */
+  variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
+  CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
+  /* Register variable[6]: Once String constant */
+  if (once_value_1118 != NIT_NULL) variable[6] = once_value_1118;
+  else {
+    variable[6] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
+    once_value_1118 = variable[6];
+  }
+  /* Register variable[6]: Result */
+  CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
+  variable[2] =  variable[4] /*cvar*/;
+  goto return_label1102;
+  return_label1102: while(false);
+  tracehead = trace.prev;
+  return variable[2];
 }