doc: add README
[nit.git] / c_src / lexer._sep.c
index 2fda397..20a6176 100644 (file)
 /* This C file is generated by NIT to compile module lexer. */
 #include "lexer._sep.h"
-val_t lexer___Token___to_s(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 15, LOCATE_lexer___Token___to_s};
-  static val_t once_value_1 = NIT_NULL; /* Once value for string variable[3]*/
-  static val_t once_value_2 = NIT_NULL; /* Once value for string variable[3]*/
-  val_t variable[4];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
-  /* Register variable[3]: Once String constant */
-  if (once_value_1 != NIT_NULL) variable[3] = once_value_1;
-  else {
-    variable[3] = NEW_String_string___String___with_native(BOX_NativeString("'"), TAG_Int(1)) /*new String*/;
-    once_value_1 = variable[3];
+val_t lexer___Token___text(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 9;
+  fra.me.meth = LOCATE_lexer___Token___text;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:9 */
+  REGB0 = TAG_Bool(ATTR_lexer___Token____text(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 9);
   }
-  /* Register variable[3]: Result */
-  /* Ensure var variable[3]: super-string element*/
-  CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
-  /* Register variable[3]: Result */
-  variable[3] = ATTR_lexer___Token____text(variable[0]) /*Token::_text*/;
-  /* Ensure var variable[3]: super-string element*/
-  CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
-  /* Register variable[3]: Once String constant */
-  if (once_value_2 != NIT_NULL) variable[3] = once_value_2;
-  else {
-    variable[3] = NEW_String_string___String___with_native(BOX_NativeString("'"), TAG_Int(1)) /*new String*/;
-    once_value_2 = variable[3];
+  fra.me.REG[0] = ATTR_lexer___Token____text(fra.me.REG[0]);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[0];
+}
+val_t lexer___Token___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 11;
+  fra.me.meth = LOCATE_lexer___Token___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 0;
+  /* ./parser//lexer.nit:11 */
+  nit_abort("Deferred method called", NULL, LOCATE_lexer, 11);
+  stack_frame_head = fra.me.prev;
+  return NIT_NULL;
+}
+val_t lexer___Token___to_s(val_t p0){
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+  static val_t once_value_2; /* Once value */
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 13;
+  fra.me.meth = LOCATE_lexer___Token___to_s;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:14 */
+  REGB0 = TAG_Int(3);
+  fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
+  if (!once_value_1) {
+    fra.me.REG[2] = BOX_NativeString("'");
+    REGB0 = TAG_Int(1);
+    fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  REGB0 = TAG_Bool(ATTR_lexer___Token____text(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 14);
   }
-  /* Register variable[3]: Result */
-  /* Ensure var variable[3]: super-string element*/
-  CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
-  /* Register variable[2]: Result */
-  variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
-  variable[1] = variable[2];
-  goto return_label0;
-  return_label0: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-val_t lexer___Token___text(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 8, LOCATE_lexer___Token___text};
-  val_t *variable = NULL;
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  tracehead = trace.prev;
-  return ATTR_lexer___Token____text( self) /*Token::_text*/;
-}
-void lexer___Token___text__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 8, LOCATE_lexer___Token___text__eq};
-  val_t *variable = NULL;
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  ATTR_lexer___Token____text( self) /*Token::_text*/ =  param0;
-  tracehead = trace.prev;
+  fra.me.REG[0] = ATTR_lexer___Token____text(fra.me.REG[0]);
+  CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  if (!once_value_2) {
+    fra.me.REG[0] = BOX_NativeString("'");
+    REGB0 = TAG_Int(1);
+    fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
+    once_value_2 = fra.me.REG[0];
+    register_static_object(&once_value_2);
+  } else fra.me.REG[0] = once_value_2;
+  fra.me.REG[0] = fra.me.REG[0];
+  CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
+  goto label3;
+  label3: while(0);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[1];
+}
+val_t lexer___TEol___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 19;
+  fra.me.meth = LOCATE_lexer___TEol___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:21 */
+  REGB0 = TAG_Int(0);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TEol___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TEol].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos0]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 24;
+  fra.me.meth = LOCATE_lexer___TEol___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:26 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:27 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos0] = 1;
   return;
 }
-val_t lexer___Token___filename(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 9, LOCATE_lexer___Token___filename};
-  val_t *variable = NULL;
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  tracehead = trace.prev;
-  return ATTR_lexer___Token____filename( self) /*Token::_filename*/;
-}
-val_t lexer___Token___line(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 10, LOCATE_lexer___Token___line};
-  val_t *variable = NULL;
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  tracehead = trace.prev;
-  return ATTR_lexer___Token____line( self) /*Token::_line*/;
-}
-val_t lexer___Token___pos(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 11, LOCATE_lexer___Token___pos};
-  val_t *variable = NULL;
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  tracehead = trace.prev;
-  return ATTR_lexer___Token____pos( self) /*Token::_pos*/;
-}
-val_t lexer___Token___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 13, LOCATE_lexer___Token___parser_index};
-  val_t *variable = NULL;
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  fprintf(stderr, "Deferred method called");
-  fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 13);
-  nit_exit(1);
-  tracehead = trace.prev;
-  return NIT_NULL;
+val_t lexer___TComment___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 32;
+  fra.me.meth = LOCATE_lexer___TComment___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:34 */
+  REGB0 = TAG_Int(1);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TComment___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TComment].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos1]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 37;
+  fra.me.meth = LOCATE_lexer___TComment___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:39 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:40 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos1] = 1;
+  return;
 }
-val_t lexer___TEol___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 21, LOCATE_lexer___TEol___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(0);
-  goto return_label3;
-  return_label3: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TEol___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 26, LOCATE_lexer___TEol___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TEol].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label4: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TEol].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwmodule___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 45;
+  fra.me.meth = LOCATE_lexer___TKwmodule___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:47 */
+  REGB0 = TAG_Int(2);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwmodule___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwmodule].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos2]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 50;
+  fra.me.meth = LOCATE_lexer___TKwmodule___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:52 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:53 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos2] = 1;
   return;
 }
-val_t lexer___TComment___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 36, LOCATE_lexer___TComment___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(1);
-  goto return_label5;
-  return_label5: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TComment___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 41, LOCATE_lexer___TComment___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TComment].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label6: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TComment].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwimport___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 58;
+  fra.me.meth = LOCATE_lexer___TKwimport___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:60 */
+  REGB0 = TAG_Int(3);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwimport___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwimport].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos3]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 63;
+  fra.me.meth = LOCATE_lexer___TKwimport___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:65 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("import");
+      REGB0 = TAG_Int(6);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:66 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos3] = 1;
   return;
 }
-val_t lexer___TKwpackage___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 51, LOCATE_lexer___TKwpackage___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(2);
-  goto return_label7;
-  return_label7: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwpackage___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 56, LOCATE_lexer___TKwpackage___init_tk};
-  static val_t once_value_9; static int once_bool_9; /* Once value for variable[5]*/
-    static val_t once_value_10 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwpackage].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_9) variable[5] = once_value_9;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_10 != NIT_NULL) variable[5] = once_value_10;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("package"), TAG_Int(7)) /*new String*/;
-      once_value_10 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_9 = variable[5];
-    once_bool_9 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label8: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwpackage].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwclass___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 71;
+  fra.me.meth = LOCATE_lexer___TKwclass___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:73 */
+  REGB0 = TAG_Int(4);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwclass___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwclass].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos4]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 76;
+  fra.me.meth = LOCATE_lexer___TKwclass___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:78 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("class");
+      REGB0 = TAG_Int(5);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:79 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos4] = 1;
   return;
 }
-val_t lexer___TKwimport___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 66, LOCATE_lexer___TKwimport___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(3);
-  goto return_label11;
-  return_label11: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwimport___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 71, LOCATE_lexer___TKwimport___init_tk};
-  static val_t once_value_13; static int once_bool_13; /* Once value for variable[5]*/
-    static val_t once_value_14 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwimport].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_13) variable[5] = once_value_13;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_14 != NIT_NULL) variable[5] = once_value_14;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("import"), TAG_Int(6)) /*new String*/;
-      once_value_14 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_13 = variable[5];
-    once_bool_13 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label12: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwimport].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwabstract___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 84;
+  fra.me.meth = LOCATE_lexer___TKwabstract___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:86 */
+  REGB0 = TAG_Int(5);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwabstract___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwabstract].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos5]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 89;
+  fra.me.meth = LOCATE_lexer___TKwabstract___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:91 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("abstract");
+      REGB0 = TAG_Int(8);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:92 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos5] = 1;
   return;
 }
-val_t lexer___TKwclass___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 81, LOCATE_lexer___TKwclass___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(4);
-  goto return_label15;
-  return_label15: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwclass___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 86, LOCATE_lexer___TKwclass___init_tk};
-  static val_t once_value_17; static int once_bool_17; /* Once value for variable[5]*/
-    static val_t once_value_18 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwclass].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_17) variable[5] = once_value_17;
-  else {
-    /* 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("class"), TAG_Int(5)) /*new String*/;
-      once_value_18 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_17 = variable[5];
-    once_bool_17 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label16: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwclass].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwinterface___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 97;
+  fra.me.meth = LOCATE_lexer___TKwinterface___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:99 */
+  REGB0 = TAG_Int(6);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwinterface___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwinterface].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos6]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 102;
+  fra.me.meth = LOCATE_lexer___TKwinterface___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:104 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("interface");
+      REGB0 = TAG_Int(9);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:105 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos6] = 1;
   return;
 }
-val_t lexer___TKwabstract___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 96, LOCATE_lexer___TKwabstract___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(5);
-  goto return_label19;
-  return_label19: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwabstract___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 101, LOCATE_lexer___TKwabstract___init_tk};
-  static val_t once_value_21; static int once_bool_21; /* Once value for 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_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwabstract].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_21) variable[5] = once_value_21;
-  else {
-    /* 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("abstract"), TAG_Int(8)) /*new String*/;
-      once_value_22 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_21 = variable[5];
-    once_bool_21 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label20: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwabstract].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwuniversal___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 110;
+  fra.me.meth = LOCATE_lexer___TKwuniversal___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:112 */
+  REGB0 = TAG_Int(7);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwuniversal___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwuniversal].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos7]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 115;
+  fra.me.meth = LOCATE_lexer___TKwuniversal___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:117 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("universal");
+      REGB0 = TAG_Int(9);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:118 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos7] = 1;
   return;
 }
-val_t lexer___TKwinterface___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 111, LOCATE_lexer___TKwinterface___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(6);
-  goto return_label23;
-  return_label23: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwinterface___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 116, LOCATE_lexer___TKwinterface___init_tk};
-  static val_t once_value_25; static int once_bool_25; /* Once value for variable[5]*/
-    static val_t once_value_26 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwinterface].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_25) variable[5] = once_value_25;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_26 != NIT_NULL) variable[5] = once_value_26;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("interface"), TAG_Int(9)) /*new String*/;
-      once_value_26 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_25 = variable[5];
-    once_bool_25 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label24: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwinterface].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwspecial___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 123;
+  fra.me.meth = LOCATE_lexer___TKwspecial___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:125 */
+  REGB0 = TAG_Int(8);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwspecial___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwspecial].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos8]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 128;
+  fra.me.meth = LOCATE_lexer___TKwspecial___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:130 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("special");
+      REGB0 = TAG_Int(7);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:131 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos8] = 1;
   return;
 }
-val_t lexer___TKwuniversal___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 126, LOCATE_lexer___TKwuniversal___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(7);
-  goto return_label27;
-  return_label27: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwuniversal___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 131, LOCATE_lexer___TKwuniversal___init_tk};
-  static val_t once_value_29; static int once_bool_29; /* Once value for variable[5]*/
-    static val_t once_value_30 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwuniversal].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_29) variable[5] = once_value_29;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_30 != NIT_NULL) variable[5] = once_value_30;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("universal"), TAG_Int(9)) /*new String*/;
-      once_value_30 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_29 = variable[5];
-    once_bool_29 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label28: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwuniversal].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwend___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 136;
+  fra.me.meth = LOCATE_lexer___TKwend___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:138 */
+  REGB0 = TAG_Int(9);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwend___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwend].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos9]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 141;
+  fra.me.meth = LOCATE_lexer___TKwend___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:143 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("end");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:144 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos9] = 1;
   return;
 }
-val_t lexer___TKwspecial___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 141, LOCATE_lexer___TKwspecial___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(8);
-  goto return_label31;
-  return_label31: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwspecial___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 146, LOCATE_lexer___TKwspecial___init_tk};
-  static val_t once_value_33; static int once_bool_33; /* Once value for variable[5]*/
-    static val_t once_value_34 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwspecial].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_33) variable[5] = once_value_33;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_34 != NIT_NULL) variable[5] = once_value_34;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("special"), TAG_Int(7)) /*new String*/;
-      once_value_34 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_33 = variable[5];
-    once_bool_33 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label32: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwspecial].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwmeth___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 149;
+  fra.me.meth = LOCATE_lexer___TKwmeth___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:151 */
+  REGB0 = TAG_Int(10);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwmeth___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwmeth].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos10]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 154;
+  fra.me.meth = LOCATE_lexer___TKwmeth___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:156 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("fun");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:157 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos10] = 1;
   return;
 }
-val_t lexer___TKwend___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 156, LOCATE_lexer___TKwend___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(9);
-  goto return_label35;
-  return_label35: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwend___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 161, LOCATE_lexer___TKwend___init_tk};
-  static val_t once_value_37; static int once_bool_37; /* Once value for variable[5]*/
-    static val_t once_value_38 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwend].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_37) variable[5] = once_value_37;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_38 != NIT_NULL) variable[5] = once_value_38;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("end"), TAG_Int(3)) /*new String*/;
-      once_value_38 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_37 = variable[5];
-    once_bool_37 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label36: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwend].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwtype___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 162;
+  fra.me.meth = LOCATE_lexer___TKwtype___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:164 */
+  REGB0 = TAG_Int(11);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwtype___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwtype].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos11]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 167;
+  fra.me.meth = LOCATE_lexer___TKwtype___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:169 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("type");
+      REGB0 = TAG_Int(4);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:170 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos11] = 1;
   return;
 }
-val_t lexer___TKwmeth___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 171, LOCATE_lexer___TKwmeth___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(10);
-  goto return_label39;
-  return_label39: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwmeth___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 176, LOCATE_lexer___TKwmeth___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwmeth].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label40: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwmeth].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwinit___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 175;
+  fra.me.meth = LOCATE_lexer___TKwinit___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:177 */
+  REGB0 = TAG_Int(12);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwinit___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwinit].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos12]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 180;
+  fra.me.meth = LOCATE_lexer___TKwinit___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:182 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("init");
+      REGB0 = TAG_Int(4);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:183 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos12] = 1;
   return;
 }
-val_t lexer___TKwtype___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 186, LOCATE_lexer___TKwtype___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(11);
-  goto return_label41;
-  return_label41: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwtype___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 191, LOCATE_lexer___TKwtype___init_tk};
-  static val_t once_value_43; static int once_bool_43; /* Once value for 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_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwtype].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_43) variable[5] = once_value_43;
-  else {
-    /* 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("type"), TAG_Int(4)) /*new String*/;
-      once_value_44 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_43 = variable[5];
-    once_bool_43 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label42: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwtype].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwredef___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 188;
+  fra.me.meth = LOCATE_lexer___TKwredef___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:190 */
+  REGB0 = TAG_Int(13);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwredef___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwredef].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos13]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 193;
+  fra.me.meth = LOCATE_lexer___TKwredef___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:195 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("redef");
+      REGB0 = TAG_Int(5);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:196 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos13] = 1;
   return;
 }
-val_t lexer___TKwattr___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 201, LOCATE_lexer___TKwattr___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(12);
-  goto return_label45;
-  return_label45: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwattr___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 206, LOCATE_lexer___TKwattr___init_tk};
-  static val_t once_value_47; static int once_bool_47; /* Once value for variable[5]*/
-    static val_t once_value_48 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwattr].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_47) variable[5] = once_value_47;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_48 != NIT_NULL) variable[5] = once_value_48;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("attr"), TAG_Int(4)) /*new String*/;
-      once_value_48 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_47 = variable[5];
-    once_bool_47 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label46: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwattr].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwis___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 201;
+  fra.me.meth = LOCATE_lexer___TKwis___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:203 */
+  REGB0 = TAG_Int(14);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwis___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwis].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos14]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 206;
+  fra.me.meth = LOCATE_lexer___TKwis___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:208 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("is");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:209 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos14] = 1;
   return;
 }
-val_t lexer___TKwinit___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 216, LOCATE_lexer___TKwinit___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(13);
-  goto return_label49;
-  return_label49: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwinit___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 221, LOCATE_lexer___TKwinit___init_tk};
-  static val_t once_value_51; static int once_bool_51; /* Once value for variable[5]*/
-    static val_t once_value_52 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwinit].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_51) variable[5] = once_value_51;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_52 != NIT_NULL) variable[5] = once_value_52;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)) /*new String*/;
-      once_value_52 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_51 = variable[5];
-    once_bool_51 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label50: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwinit].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwdo___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 214;
+  fra.me.meth = LOCATE_lexer___TKwdo___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:216 */
+  REGB0 = TAG_Int(15);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwdo___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos15 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwdo].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos15]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 219;
+  fra.me.meth = LOCATE_lexer___TKwdo___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:221 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("do");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:222 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos15] = 1;
   return;
 }
-val_t lexer___TKwredef___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 231, LOCATE_lexer___TKwredef___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(14);
-  goto return_label53;
-  return_label53: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwredef___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 236, LOCATE_lexer___TKwredef___init_tk};
-  static val_t once_value_55; static int once_bool_55; /* Once value for variable[5]*/
-    static val_t once_value_56 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwredef].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_55) variable[5] = once_value_55;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_56 != NIT_NULL) variable[5] = once_value_56;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("redef"), TAG_Int(5)) /*new String*/;
-      once_value_56 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_55 = variable[5];
-    once_bool_55 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label54: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwredef].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwreadable___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 227;
+  fra.me.meth = LOCATE_lexer___TKwreadable___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:229 */
+  REGB0 = TAG_Int(16);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwreadable___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos16 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwreadable].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos16]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 232;
+  fra.me.meth = LOCATE_lexer___TKwreadable___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:234 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("readable");
+      REGB0 = TAG_Int(8);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:235 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos16] = 1;
   return;
 }
-val_t lexer___TKwis___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 246, LOCATE_lexer___TKwis___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(15);
-  goto return_label57;
-  return_label57: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwis___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 251, LOCATE_lexer___TKwis___init_tk};
-  static val_t once_value_59; static int once_bool_59; /* Once value for variable[5]*/
-    static val_t once_value_60 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwis].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_59) variable[5] = once_value_59;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_60 != NIT_NULL) variable[5] = once_value_60;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("is"), TAG_Int(2)) /*new String*/;
-      once_value_60 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_59 = variable[5];
-    once_bool_59 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label58: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwis].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwwritable___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 240;
+  fra.me.meth = LOCATE_lexer___TKwwritable___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:242 */
+  REGB0 = TAG_Int(17);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwwritable___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos17 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwwritable].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos17]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 245;
+  fra.me.meth = LOCATE_lexer___TKwwritable___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:247 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("writable");
+      REGB0 = TAG_Int(8);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:248 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos17] = 1;
   return;
 }
-val_t lexer___TKwdo___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 261, LOCATE_lexer___TKwdo___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(16);
-  goto return_label61;
-  return_label61: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwdo___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 266, LOCATE_lexer___TKwdo___init_tk};
-  static val_t once_value_63; static int once_bool_63; /* Once value for variable[5]*/
-    static val_t once_value_64 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwdo].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_63) variable[5] = once_value_63;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_64 != NIT_NULL) variable[5] = once_value_64;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("do"), TAG_Int(2)) /*new String*/;
-      once_value_64 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_63 = variable[5];
-    once_bool_63 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label62: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwdo].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwvar___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 253;
+  fra.me.meth = LOCATE_lexer___TKwvar___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:255 */
+  REGB0 = TAG_Int(18);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwvar___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos18 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwvar].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos18]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 258;
+  fra.me.meth = LOCATE_lexer___TKwvar___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:260 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("var");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:261 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos18] = 1;
   return;
 }
-val_t lexer___TKwreadable___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 276, LOCATE_lexer___TKwreadable___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(17);
-  goto return_label65;
-  return_label65: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwreadable___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 281, LOCATE_lexer___TKwreadable___init_tk};
-  static val_t once_value_67; static int once_bool_67; /* Once value for variable[5]*/
-    static val_t once_value_68 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwreadable].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_67) variable[5] = once_value_67;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_68 != NIT_NULL) variable[5] = once_value_68;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("readable"), TAG_Int(8)) /*new String*/;
-      once_value_68 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_67 = variable[5];
-    once_bool_67 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label66: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwreadable].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwintern___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 266;
+  fra.me.meth = LOCATE_lexer___TKwintern___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:268 */
+  REGB0 = TAG_Int(19);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwintern___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos19 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwintern].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos19]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 271;
+  fra.me.meth = LOCATE_lexer___TKwintern___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:273 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("intern");
+      REGB0 = TAG_Int(6);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:274 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos19] = 1;
   return;
 }
-val_t lexer___TKwwritable___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 291, LOCATE_lexer___TKwwritable___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(18);
-  goto return_label69;
-  return_label69: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwwritable___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 296, LOCATE_lexer___TKwwritable___init_tk};
-  static val_t once_value_71; static int once_bool_71; /* Once value for variable[5]*/
-    static val_t once_value_72 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwwritable].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_71) variable[5] = once_value_71;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_72 != NIT_NULL) variable[5] = once_value_72;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("writable"), TAG_Int(8)) /*new String*/;
-      once_value_72 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_71 = variable[5];
-    once_bool_71 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label70: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwwritable].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwextern___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 279;
+  fra.me.meth = LOCATE_lexer___TKwextern___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:281 */
+  REGB0 = TAG_Int(20);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwextern___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos20 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwextern].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos20]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 284;
+  fra.me.meth = LOCATE_lexer___TKwextern___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:286 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("extern");
+      REGB0 = TAG_Int(6);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:287 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos20] = 1;
   return;
 }
-val_t lexer___TKwvar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 306, LOCATE_lexer___TKwvar___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(19);
-  goto return_label73;
-  return_label73: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwvar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 311, LOCATE_lexer___TKwvar___init_tk};
-  static val_t once_value_75; static int once_bool_75; /* Once value for variable[5]*/
-    static val_t once_value_76 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwvar].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_75) variable[5] = once_value_75;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_76 != NIT_NULL) variable[5] = once_value_76;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("var"), TAG_Int(3)) /*new String*/;
-      once_value_76 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_75 = variable[5];
-    once_bool_75 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label74: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwvar].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwprotected___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 292;
+  fra.me.meth = LOCATE_lexer___TKwprotected___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:294 */
+  REGB0 = TAG_Int(21);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwprotected___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos21 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwprotected].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos21]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 297;
+  fra.me.meth = LOCATE_lexer___TKwprotected___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:299 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("protected");
+      REGB0 = TAG_Int(9);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:300 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos21] = 1;
   return;
 }
-val_t lexer___TKwintern___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 321, LOCATE_lexer___TKwintern___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(20);
-  goto return_label77;
-  return_label77: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwintern___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 326, LOCATE_lexer___TKwintern___init_tk};
-  static val_t once_value_79; static int once_bool_79; /* Once value for variable[5]*/
-    static val_t once_value_80 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwintern].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_79) variable[5] = once_value_79;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_80 != NIT_NULL) variable[5] = once_value_80;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("intern"), TAG_Int(6)) /*new String*/;
-      once_value_80 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_79 = variable[5];
-    once_bool_79 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label78: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwintern].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwprivate___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 305;
+  fra.me.meth = LOCATE_lexer___TKwprivate___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:307 */
+  REGB0 = TAG_Int(22);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwprivate___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos22 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwprivate].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos22]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 310;
+  fra.me.meth = LOCATE_lexer___TKwprivate___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:312 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("private");
+      REGB0 = TAG_Int(7);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:313 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos22] = 1;
   return;
 }
-val_t lexer___TKwextern___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 336, LOCATE_lexer___TKwextern___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(21);
-  goto return_label81;
-  return_label81: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwextern___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 341, LOCATE_lexer___TKwextern___init_tk};
-  static val_t once_value_83; static int once_bool_83; /* Once value for variable[5]*/
-    static val_t once_value_84 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwextern].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_83) variable[5] = once_value_83;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_84 != NIT_NULL) variable[5] = once_value_84;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("extern"), TAG_Int(6)) /*new String*/;
-      once_value_84 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_83 = variable[5];
-    once_bool_83 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label82: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwextern].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwintrude___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 318;
+  fra.me.meth = LOCATE_lexer___TKwintrude___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:320 */
+  REGB0 = TAG_Int(23);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwintrude___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos23 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwintrude].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos23]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 323;
+  fra.me.meth = LOCATE_lexer___TKwintrude___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:325 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("intrude");
+      REGB0 = TAG_Int(7);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:326 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos23] = 1;
   return;
 }
-val_t lexer___TKwprotected___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 351, LOCATE_lexer___TKwprotected___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(22);
-  goto return_label85;
-  return_label85: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwprotected___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 356, LOCATE_lexer___TKwprotected___init_tk};
-  static val_t once_value_87; static int once_bool_87; /* Once value for variable[5]*/
-    static val_t once_value_88 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwprotected].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_87) variable[5] = once_value_87;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_88 != NIT_NULL) variable[5] = once_value_88;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("protected"), TAG_Int(9)) /*new String*/;
-      once_value_88 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_87 = variable[5];
-    once_bool_87 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label86: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwprotected].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwif___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 331;
+  fra.me.meth = LOCATE_lexer___TKwif___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:333 */
+  REGB0 = TAG_Int(24);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwif___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos24 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwif].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos24]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 336;
+  fra.me.meth = LOCATE_lexer___TKwif___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:338 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("if");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:339 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos24] = 1;
   return;
 }
-val_t lexer___TKwprivate___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 366, LOCATE_lexer___TKwprivate___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(23);
-  goto return_label89;
-  return_label89: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwprivate___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 371, LOCATE_lexer___TKwprivate___init_tk};
-  static val_t once_value_91; static int once_bool_91; /* Once value for variable[5]*/
-    static val_t once_value_92 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwprivate].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_91) variable[5] = once_value_91;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_92 != NIT_NULL) variable[5] = once_value_92;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("private"), TAG_Int(7)) /*new String*/;
-      once_value_92 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_91 = variable[5];
-    once_bool_91 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label90: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwprivate].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwthen___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 344;
+  fra.me.meth = LOCATE_lexer___TKwthen___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:346 */
+  REGB0 = TAG_Int(25);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwthen___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos25 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwthen].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos25]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 349;
+  fra.me.meth = LOCATE_lexer___TKwthen___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:351 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("then");
+      REGB0 = TAG_Int(4);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:352 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos25] = 1;
   return;
 }
-val_t lexer___TKwintrude___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 381, LOCATE_lexer___TKwintrude___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(24);
-  goto return_label93;
-  return_label93: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwintrude___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 386, LOCATE_lexer___TKwintrude___init_tk};
-  static val_t once_value_95; static int once_bool_95; /* Once value for variable[5]*/
-    static val_t once_value_96 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwintrude].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_95) variable[5] = once_value_95;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_96 != NIT_NULL) variable[5] = once_value_96;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("intrude"), TAG_Int(7)) /*new String*/;
-      once_value_96 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_95 = variable[5];
-    once_bool_95 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label94: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwintrude].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwelse___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 357;
+  fra.me.meth = LOCATE_lexer___TKwelse___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:359 */
+  REGB0 = TAG_Int(26);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwelse___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos26 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwelse].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos26]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 362;
+  fra.me.meth = LOCATE_lexer___TKwelse___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:364 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("else");
+      REGB0 = TAG_Int(4);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:365 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos26] = 1;
   return;
 }
-val_t lexer___TKwif___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 396, LOCATE_lexer___TKwif___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(25);
-  goto return_label97;
-  return_label97: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwif___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 401, LOCATE_lexer___TKwif___init_tk};
-  static val_t once_value_99; static int once_bool_99; /* Once value for variable[5]*/
-    static val_t once_value_100 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwif].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_99) variable[5] = once_value_99;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_100 != NIT_NULL) variable[5] = once_value_100;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if"), TAG_Int(2)) /*new String*/;
-      once_value_100 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_99 = variable[5];
-    once_bool_99 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label98: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwif].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwwhile___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 370;
+  fra.me.meth = LOCATE_lexer___TKwwhile___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:372 */
+  REGB0 = TAG_Int(27);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwwhile___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos27 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwwhile].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos27]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 375;
+  fra.me.meth = LOCATE_lexer___TKwwhile___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:377 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("while");
+      REGB0 = TAG_Int(5);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:378 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos27] = 1;
   return;
 }
-val_t lexer___TKwthen___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 411, LOCATE_lexer___TKwthen___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(26);
-  goto return_label101;
-  return_label101: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwthen___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 416, LOCATE_lexer___TKwthen___init_tk};
-  static val_t once_value_103; static int once_bool_103; /* Once value for variable[5]*/
-    static val_t once_value_104 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwthen].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_103) variable[5] = once_value_103;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_104 != NIT_NULL) variable[5] = once_value_104;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("then"), TAG_Int(4)) /*new String*/;
-      once_value_104 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_103 = variable[5];
-    once_bool_103 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label102: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwthen].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwloop___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 383;
+  fra.me.meth = LOCATE_lexer___TKwloop___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:385 */
+  REGB0 = TAG_Int(28);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwloop___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos28 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwloop].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos28]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 388;
+  fra.me.meth = LOCATE_lexer___TKwloop___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:390 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("loop");
+      REGB0 = TAG_Int(4);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:391 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos28] = 1;
   return;
 }
-val_t lexer___TKwelse___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 426, LOCATE_lexer___TKwelse___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(27);
-  goto return_label105;
-  return_label105: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwelse___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 431, LOCATE_lexer___TKwelse___init_tk};
-  static val_t once_value_107; static int once_bool_107; /* Once value for variable[5]*/
-    static val_t once_value_108 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwelse].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_107) variable[5] = once_value_107;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_108 != NIT_NULL) variable[5] = once_value_108;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("else"), TAG_Int(4)) /*new String*/;
-      once_value_108 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_107 = variable[5];
-    once_bool_107 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label106: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwelse].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwfor___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 396;
+  fra.me.meth = LOCATE_lexer___TKwfor___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:398 */
+  REGB0 = TAG_Int(29);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwfor___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos29 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwfor].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos29]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 401;
+  fra.me.meth = LOCATE_lexer___TKwfor___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:403 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("for");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:404 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos29] = 1;
   return;
 }
-val_t lexer___TKwwhile___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 441, LOCATE_lexer___TKwwhile___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(28);
-  goto return_label109;
-  return_label109: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwwhile___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 446, LOCATE_lexer___TKwwhile___init_tk};
-  static val_t once_value_111; static int once_bool_111; /* Once value for variable[5]*/
-    static val_t once_value_112 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwwhile].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_111) variable[5] = once_value_111;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_112 != NIT_NULL) variable[5] = once_value_112;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("while"), TAG_Int(5)) /*new String*/;
-      once_value_112 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_111 = variable[5];
-    once_bool_111 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label110: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwwhile].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwin___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 409;
+  fra.me.meth = LOCATE_lexer___TKwin___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:411 */
+  REGB0 = TAG_Int(30);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwin___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos30 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwin].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos30]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 414;
+  fra.me.meth = LOCATE_lexer___TKwin___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:416 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("in");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:417 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos30] = 1;
   return;
 }
-val_t lexer___TKwfor___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 456, LOCATE_lexer___TKwfor___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(29);
-  goto return_label113;
-  return_label113: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwfor___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 461, LOCATE_lexer___TKwfor___init_tk};
-  static val_t once_value_115; static int once_bool_115; /* Once value for variable[5]*/
-    static val_t once_value_116 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwfor].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_115) variable[5] = once_value_115;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_116 != NIT_NULL) variable[5] = once_value_116;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("for"), TAG_Int(3)) /*new String*/;
-      once_value_116 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_115 = variable[5];
-    once_bool_115 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label114: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwfor].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwand___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 422;
+  fra.me.meth = LOCATE_lexer___TKwand___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:424 */
+  REGB0 = TAG_Int(31);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwand___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos31 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwand].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos31]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 427;
+  fra.me.meth = LOCATE_lexer___TKwand___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:429 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("and");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:430 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos31] = 1;
   return;
 }
-val_t lexer___TKwin___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 471, LOCATE_lexer___TKwin___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(30);
-  goto return_label117;
-  return_label117: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwin___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 476, LOCATE_lexer___TKwin___init_tk};
-  static val_t once_value_119; static int once_bool_119; /* Once value for variable[5]*/
-    static val_t once_value_120 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwin].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_119) variable[5] = once_value_119;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_120 != NIT_NULL) variable[5] = once_value_120;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("in"), TAG_Int(2)) /*new String*/;
-      once_value_120 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_119 = variable[5];
-    once_bool_119 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label118: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwin].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwor___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 435;
+  fra.me.meth = LOCATE_lexer___TKwor___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:437 */
+  REGB0 = TAG_Int(32);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwor___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos32 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwor].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos32]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 440;
+  fra.me.meth = LOCATE_lexer___TKwor___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:442 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("or");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:443 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos32] = 1;
   return;
 }
-val_t lexer___TKwand___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 486, LOCATE_lexer___TKwand___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(31);
-  goto return_label121;
-  return_label121: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwand___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 491, LOCATE_lexer___TKwand___init_tk};
-  static val_t once_value_123; static int once_bool_123; /* Once value for variable[5]*/
-    static val_t once_value_124 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwand].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_123) variable[5] = once_value_123;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_124 != NIT_NULL) variable[5] = once_value_124;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("and"), TAG_Int(3)) /*new String*/;
-      once_value_124 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_123 = variable[5];
-    once_bool_123 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label122: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwand].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwnot___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 448;
+  fra.me.meth = LOCATE_lexer___TKwnot___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:450 */
+  REGB0 = TAG_Int(33);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwnot___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos33 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwnot].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos33]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 453;
+  fra.me.meth = LOCATE_lexer___TKwnot___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:455 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("not");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:456 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos33] = 1;
   return;
 }
-val_t lexer___TKwor___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 501, LOCATE_lexer___TKwor___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(32);
-  goto return_label125;
-  return_label125: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwor___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 506, LOCATE_lexer___TKwor___init_tk};
-  static val_t once_value_127; static int once_bool_127; /* Once value for variable[5]*/
-    static val_t once_value_128 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwor].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_127) variable[5] = once_value_127;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_128 != NIT_NULL) variable[5] = once_value_128;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("or"), TAG_Int(2)) /*new String*/;
-      once_value_128 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_127 = variable[5];
-    once_bool_127 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label126: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwor].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwreturn___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 461;
+  fra.me.meth = LOCATE_lexer___TKwreturn___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:463 */
+  REGB0 = TAG_Int(34);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwreturn___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos34 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwreturn].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos34]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 466;
+  fra.me.meth = LOCATE_lexer___TKwreturn___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:468 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("return");
+      REGB0 = TAG_Int(6);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:469 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos34] = 1;
   return;
 }
-val_t lexer___TKwnot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 516, LOCATE_lexer___TKwnot___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(33);
-  goto return_label129;
-  return_label129: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwnot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 521, LOCATE_lexer___TKwnot___init_tk};
-  static val_t once_value_131; static int once_bool_131; /* Once value for variable[5]*/
-    static val_t once_value_132 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwnot].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_131) variable[5] = once_value_131;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_132 != NIT_NULL) variable[5] = once_value_132;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("not"), TAG_Int(3)) /*new String*/;
-      once_value_132 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_131 = variable[5];
-    once_bool_131 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label130: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwnot].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwcontinue___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 474;
+  fra.me.meth = LOCATE_lexer___TKwcontinue___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:476 */
+  REGB0 = TAG_Int(35);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwcontinue___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos35 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwcontinue].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos35]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 479;
+  fra.me.meth = LOCATE_lexer___TKwcontinue___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:481 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("continue");
+      REGB0 = TAG_Int(8);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:482 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos35] = 1;
   return;
 }
-val_t lexer___TKwreturn___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 531, LOCATE_lexer___TKwreturn___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(34);
-  goto return_label133;
-  return_label133: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwreturn___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 536, LOCATE_lexer___TKwreturn___init_tk};
-  static val_t once_value_135; static int once_bool_135; /* Once value for variable[5]*/
-    static val_t once_value_136 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwreturn].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_135) variable[5] = once_value_135;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_136 != NIT_NULL) variable[5] = once_value_136;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("return"), TAG_Int(6)) /*new String*/;
-      once_value_136 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_135 = variable[5];
-    once_bool_135 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label134: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwreturn].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwbreak___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 487;
+  fra.me.meth = LOCATE_lexer___TKwbreak___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:489 */
+  REGB0 = TAG_Int(36);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwbreak___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos36 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwbreak].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos36]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 492;
+  fra.me.meth = LOCATE_lexer___TKwbreak___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:494 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("break");
+      REGB0 = TAG_Int(5);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:495 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos36] = 1;
   return;
 }
-val_t lexer___TKwcontinue___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 546, LOCATE_lexer___TKwcontinue___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(35);
-  goto return_label137;
-  return_label137: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwcontinue___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 551, LOCATE_lexer___TKwcontinue___init_tk};
-  static val_t once_value_139; static int once_bool_139; /* Once value for variable[5]*/
-    static val_t once_value_140 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwcontinue].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_139) variable[5] = once_value_139;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_140 != NIT_NULL) variable[5] = once_value_140;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("continue"), TAG_Int(8)) /*new String*/;
-      once_value_140 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_139 = variable[5];
-    once_bool_139 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label138: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwcontinue].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwabort___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 500;
+  fra.me.meth = LOCATE_lexer___TKwabort___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:502 */
+  REGB0 = TAG_Int(37);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwabort___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos37 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwabort].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos37]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 505;
+  fra.me.meth = LOCATE_lexer___TKwabort___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:507 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("abort");
+      REGB0 = TAG_Int(5);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:508 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos37] = 1;
   return;
 }
-val_t lexer___TKwbreak___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 561, LOCATE_lexer___TKwbreak___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(36);
-  goto return_label141;
-  return_label141: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwbreak___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 566, LOCATE_lexer___TKwbreak___init_tk};
-  static val_t once_value_143; static int once_bool_143; /* Once value for variable[5]*/
-    static val_t once_value_144 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwbreak].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_143) variable[5] = once_value_143;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_144 != NIT_NULL) variable[5] = once_value_144;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("break"), TAG_Int(5)) /*new String*/;
-      once_value_144 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_143 = variable[5];
-    once_bool_143 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label142: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwbreak].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwassert___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 513;
+  fra.me.meth = LOCATE_lexer___TKwassert___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:515 */
+  REGB0 = TAG_Int(38);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwassert___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos38 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwassert].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos38]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 518;
+  fra.me.meth = LOCATE_lexer___TKwassert___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:520 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("assert");
+      REGB0 = TAG_Int(6);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:521 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos38] = 1;
   return;
 }
-val_t lexer___TKwabort___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 576, LOCATE_lexer___TKwabort___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(37);
-  goto return_label145;
-  return_label145: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwabort___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 581, LOCATE_lexer___TKwabort___init_tk};
-  static val_t once_value_147; static int once_bool_147; /* Once value for variable[5]*/
-    static val_t once_value_148 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwabort].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_147) variable[5] = once_value_147;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_148 != NIT_NULL) variable[5] = once_value_148;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("abort"), TAG_Int(5)) /*new String*/;
-      once_value_148 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_147 = variable[5];
-    once_bool_147 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label146: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwabort].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwnew___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 526;
+  fra.me.meth = LOCATE_lexer___TKwnew___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:528 */
+  REGB0 = TAG_Int(39);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwnew___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos39 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwnew].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos39]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 531;
+  fra.me.meth = LOCATE_lexer___TKwnew___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:533 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("new");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:534 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos39] = 1;
   return;
 }
-val_t lexer___TKwassert___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 591, LOCATE_lexer___TKwassert___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(38);
-  goto return_label149;
-  return_label149: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwassert___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 596, LOCATE_lexer___TKwassert___init_tk};
-  static val_t once_value_151; static int once_bool_151; /* Once value for variable[5]*/
-    static val_t once_value_152 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwassert].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_151) variable[5] = once_value_151;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_152 != NIT_NULL) variable[5] = once_value_152;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("assert"), TAG_Int(6)) /*new String*/;
-      once_value_152 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_151 = variable[5];
-    once_bool_151 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label150: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwassert].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwisa___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 539;
+  fra.me.meth = LOCATE_lexer___TKwisa___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:541 */
+  REGB0 = TAG_Int(40);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwisa___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos40 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwisa].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos40]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 544;
+  fra.me.meth = LOCATE_lexer___TKwisa___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:546 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("isa");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:547 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos40] = 1;
   return;
 }
-val_t lexer___TKwnew___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 606, LOCATE_lexer___TKwnew___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(39);
-  goto return_label153;
-  return_label153: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwnew___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 611, LOCATE_lexer___TKwnew___init_tk};
-  static val_t once_value_155; static int once_bool_155; /* Once value for variable[5]*/
-    static val_t once_value_156 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwnew].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_155) variable[5] = once_value_155;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_156 != NIT_NULL) variable[5] = once_value_156;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("new"), TAG_Int(3)) /*new String*/;
-      once_value_156 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_155 = variable[5];
-    once_bool_155 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label154: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwnew].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwonce___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 552;
+  fra.me.meth = LOCATE_lexer___TKwonce___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:554 */
+  REGB0 = TAG_Int(41);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwonce___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos41 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwonce].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos41]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 557;
+  fra.me.meth = LOCATE_lexer___TKwonce___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:559 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("once");
+      REGB0 = TAG_Int(4);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:560 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos41] = 1;
   return;
 }
-val_t lexer___TKwisa___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 621, LOCATE_lexer___TKwisa___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(40);
-  goto return_label157;
-  return_label157: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwisa___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 626, LOCATE_lexer___TKwisa___init_tk};
-  static val_t once_value_159; static int once_bool_159; /* Once value for variable[5]*/
-    static val_t once_value_160 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwisa].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_159) variable[5] = once_value_159;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_160 != NIT_NULL) variable[5] = once_value_160;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("isa"), TAG_Int(3)) /*new String*/;
-      once_value_160 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_159 = variable[5];
-    once_bool_159 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label158: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwisa].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwsuper___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 565;
+  fra.me.meth = LOCATE_lexer___TKwsuper___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:567 */
+  REGB0 = TAG_Int(42);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwsuper___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos42 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwsuper].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos42]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 570;
+  fra.me.meth = LOCATE_lexer___TKwsuper___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:572 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("super");
+      REGB0 = TAG_Int(5);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:573 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos42] = 1;
   return;
 }
-val_t lexer___TKwonce___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 636, LOCATE_lexer___TKwonce___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(41);
-  goto return_label161;
-  return_label161: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwonce___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 641, LOCATE_lexer___TKwonce___init_tk};
-  static val_t once_value_163; static int once_bool_163; /* Once value for variable[5]*/
-    static val_t once_value_164 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwonce].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_163) variable[5] = once_value_163;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_164 != NIT_NULL) variable[5] = once_value_164;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("once"), TAG_Int(4)) /*new String*/;
-      once_value_164 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_163 = variable[5];
-    once_bool_163 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label162: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwonce].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwself___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 578;
+  fra.me.meth = LOCATE_lexer___TKwself___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:580 */
+  REGB0 = TAG_Int(43);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwself___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos43 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwself].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos43]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 583;
+  fra.me.meth = LOCATE_lexer___TKwself___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:585 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("self");
+      REGB0 = TAG_Int(4);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:586 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos43] = 1;
   return;
 }
-val_t lexer___TKwsuper___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 651, LOCATE_lexer___TKwsuper___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(42);
-  goto return_label165;
-  return_label165: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwsuper___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 656, LOCATE_lexer___TKwsuper___init_tk};
-  static val_t once_value_167; static int once_bool_167; /* Once value for variable[5]*/
-    static val_t once_value_168 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwsuper].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_167) variable[5] = once_value_167;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_168 != NIT_NULL) variable[5] = once_value_168;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("super"), TAG_Int(5)) /*new String*/;
-      once_value_168 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_167 = variable[5];
-    once_bool_167 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label166: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwsuper].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwtrue___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 591;
+  fra.me.meth = LOCATE_lexer___TKwtrue___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:593 */
+  REGB0 = TAG_Int(44);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwtrue___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos44 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwtrue].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos44]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 596;
+  fra.me.meth = LOCATE_lexer___TKwtrue___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:598 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("true");
+      REGB0 = TAG_Int(4);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:599 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos44] = 1;
   return;
 }
-val_t lexer___TKwself___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 666, LOCATE_lexer___TKwself___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(43);
-  goto return_label169;
-  return_label169: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwself___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 671, LOCATE_lexer___TKwself___init_tk};
-  static val_t once_value_171; static int once_bool_171; /* Once value for variable[5]*/
-    static val_t once_value_172 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwself].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_171) variable[5] = once_value_171;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_172 != NIT_NULL) variable[5] = once_value_172;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)) /*new String*/;
-      once_value_172 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_171 = variable[5];
-    once_bool_171 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label170: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwself].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwfalse___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 604;
+  fra.me.meth = LOCATE_lexer___TKwfalse___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:606 */
+  REGB0 = TAG_Int(45);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwfalse___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos45 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwfalse].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos45]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 609;
+  fra.me.meth = LOCATE_lexer___TKwfalse___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:611 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("false");
+      REGB0 = TAG_Int(5);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:612 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos45] = 1;
   return;
 }
-val_t lexer___TKwtrue___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 681, LOCATE_lexer___TKwtrue___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(44);
-  goto return_label173;
-  return_label173: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwtrue___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 686, LOCATE_lexer___TKwtrue___init_tk};
-  static val_t once_value_175; static int once_bool_175; /* Once value for variable[5]*/
-    static val_t once_value_176 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwtrue].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_175) variable[5] = once_value_175;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_176 != NIT_NULL) variable[5] = once_value_176;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("true"), TAG_Int(4)) /*new String*/;
-      once_value_176 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_175 = variable[5];
-    once_bool_175 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label174: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwtrue].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwnull___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 617;
+  fra.me.meth = LOCATE_lexer___TKwnull___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:619 */
+  REGB0 = TAG_Int(46);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwnull___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos46 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwnull].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos46]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 622;
+  fra.me.meth = LOCATE_lexer___TKwnull___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:624 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("null");
+      REGB0 = TAG_Int(4);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:625 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos46] = 1;
   return;
 }
-val_t lexer___TKwfalse___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 696, LOCATE_lexer___TKwfalse___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(45);
-  goto return_label177;
-  return_label177: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwfalse___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 701, LOCATE_lexer___TKwfalse___init_tk};
-  static val_t once_value_179; static int once_bool_179; /* Once value for variable[5]*/
-    static val_t once_value_180 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwfalse].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_179) variable[5] = once_value_179;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_180 != NIT_NULL) variable[5] = once_value_180;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("false"), TAG_Int(5)) /*new String*/;
-      once_value_180 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_179 = variable[5];
-    once_bool_179 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label178: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwfalse].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwas___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 630;
+  fra.me.meth = LOCATE_lexer___TKwas___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:632 */
+  REGB0 = TAG_Int(47);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwas___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos47 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwas].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos47]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 635;
+  fra.me.meth = LOCATE_lexer___TKwas___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:637 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("as");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:638 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos47] = 1;
   return;
 }
-val_t lexer___TKwnull___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 711, LOCATE_lexer___TKwnull___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(46);
-  goto return_label181;
-  return_label181: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwnull___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 716, LOCATE_lexer___TKwnull___init_tk};
-  static val_t once_value_183; static int once_bool_183; /* Once value for variable[5]*/
-    static val_t once_value_184 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwnull].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_183) variable[5] = once_value_183;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_184 != NIT_NULL) variable[5] = once_value_184;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("null"), TAG_Int(4)) /*new String*/;
-      once_value_184 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_183 = variable[5];
-    once_bool_183 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label182: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwnull].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwnullable___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 643;
+  fra.me.meth = LOCATE_lexer___TKwnullable___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:645 */
+  REGB0 = TAG_Int(48);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwnullable___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos48 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwnullable].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos48]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 648;
+  fra.me.meth = LOCATE_lexer___TKwnullable___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:650 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("nullable");
+      REGB0 = TAG_Int(8);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:651 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos48] = 1;
   return;
 }
-val_t lexer___TKwas___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 726, LOCATE_lexer___TKwas___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(47);
-  goto return_label185;
-  return_label185: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwas___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 731, LOCATE_lexer___TKwas___init_tk};
-  static val_t once_value_187; static int once_bool_187; /* Once value for variable[5]*/
-    static val_t once_value_188 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwas].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_187) variable[5] = once_value_187;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_188 != NIT_NULL) variable[5] = once_value_188;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("as"), TAG_Int(2)) /*new String*/;
-      once_value_188 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_187 = variable[5];
-    once_bool_187 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label186: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwas].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwisset___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 656;
+  fra.me.meth = LOCATE_lexer___TKwisset___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:658 */
+  REGB0 = TAG_Int(49);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwisset___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos49 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwisset].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos49]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 661;
+  fra.me.meth = LOCATE_lexer___TKwisset___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:663 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("isset");
+      REGB0 = TAG_Int(5);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:664 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos49] = 1;
   return;
 }
-val_t lexer___TKwwith___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 741, LOCATE_lexer___TKwwith___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(48);
-  goto return_label189;
-  return_label189: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwwith___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 746, LOCATE_lexer___TKwwith___init_tk};
-  static val_t once_value_191; static int once_bool_191; /* Once value for variable[5]*/
-    static val_t once_value_192 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwwith].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_191) variable[5] = once_value_191;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_192 != NIT_NULL) variable[5] = once_value_192;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("with"), TAG_Int(4)) /*new String*/;
-      once_value_192 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_191 = variable[5];
-    once_bool_191 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label190: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwwith].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TKwlabel___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 669;
+  fra.me.meth = LOCATE_lexer___TKwlabel___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:671 */
+  REGB0 = TAG_Int(50);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TKwlabel___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos50 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwlabel].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos50]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 674;
+  fra.me.meth = LOCATE_lexer___TKwlabel___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:676 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("label");
+      REGB0 = TAG_Int(5);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:677 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos50] = 1;
   return;
 }
-val_t lexer___TKwnullable___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 756, LOCATE_lexer___TKwnullable___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(49);
-  goto return_label193;
-  return_label193: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwnullable___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 761, LOCATE_lexer___TKwnullable___init_tk};
-  static val_t once_value_195; static int once_bool_195; /* Once value for variable[5]*/
-    static val_t once_value_196 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwnullable].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_195) variable[5] = once_value_195;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_196 != NIT_NULL) variable[5] = once_value_196;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("nullable"), TAG_Int(8)) /*new String*/;
-      once_value_196 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_195 = variable[5];
-    once_bool_195 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label194: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwnullable].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TOpar___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 682;
+  fra.me.meth = LOCATE_lexer___TOpar___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:684 */
+  REGB0 = TAG_Int(51);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TOpar___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos51 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TOpar].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos51]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 687;
+  fra.me.meth = LOCATE_lexer___TOpar___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:689 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("(");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:690 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos51] = 1;
   return;
 }
-val_t lexer___TKwisset___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 771, LOCATE_lexer___TKwisset___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(50);
-  goto return_label197;
-  return_label197: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TKwisset___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 776, LOCATE_lexer___TKwisset___init_tk};
-  static val_t once_value_199; static int once_bool_199; /* Once value for variable[5]*/
-    static val_t once_value_200 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwisset].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_199) variable[5] = once_value_199;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_200 != NIT_NULL) variable[5] = once_value_200;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("isset"), TAG_Int(5)) /*new String*/;
-      once_value_200 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_199 = variable[5];
-    once_bool_199 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label198: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TKwisset].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TCpar___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 695;
+  fra.me.meth = LOCATE_lexer___TCpar___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:697 */
+  REGB0 = TAG_Int(52);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TCpar___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos52 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TCpar].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos52]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 700;
+  fra.me.meth = LOCATE_lexer___TCpar___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:702 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString(")");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:703 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos52] = 1;
   return;
 }
-val_t lexer___TOpar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 786, LOCATE_lexer___TOpar___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(51);
-  goto return_label201;
-  return_label201: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TOpar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 791, LOCATE_lexer___TOpar___init_tk};
-  static val_t once_value_203; static int once_bool_203; /* Once value for variable[5]*/
-    static val_t once_value_204 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TOpar].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_203) variable[5] = once_value_203;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_204 != NIT_NULL) variable[5] = once_value_204;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
-      once_value_204 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_203 = variable[5];
-    once_bool_203 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label202: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TOpar].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TObra___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 708;
+  fra.me.meth = LOCATE_lexer___TObra___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:710 */
+  REGB0 = TAG_Int(53);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TObra___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos53 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TObra].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos53]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 713;
+  fra.me.meth = LOCATE_lexer___TObra___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:715 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("[");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:716 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos53] = 1;
   return;
 }
-val_t lexer___TCpar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 801, LOCATE_lexer___TCpar___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(52);
-  goto return_label205;
-  return_label205: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TCpar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 806, LOCATE_lexer___TCpar___init_tk};
-  static val_t once_value_207; static int once_bool_207; /* Once value for variable[5]*/
-    static val_t once_value_208 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TCpar].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_207) variable[5] = once_value_207;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_208 != NIT_NULL) variable[5] = once_value_208;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
-      once_value_208 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_207 = variable[5];
-    once_bool_207 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label206: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TCpar].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TCbra___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 721;
+  fra.me.meth = LOCATE_lexer___TCbra___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:723 */
+  REGB0 = TAG_Int(54);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TCbra___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos54 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TCbra].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos54]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 726;
+  fra.me.meth = LOCATE_lexer___TCbra___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:728 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("]");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:729 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos54] = 1;
   return;
 }
-val_t lexer___TObra___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 816, LOCATE_lexer___TObra___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(53);
-  goto return_label209;
-  return_label209: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TObra___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 821, LOCATE_lexer___TObra___init_tk};
-  static val_t once_value_211; static int once_bool_211; /* Once value for variable[5]*/
-    static val_t once_value_212 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TObra].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_211) variable[5] = once_value_211;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_212 != NIT_NULL) variable[5] = once_value_212;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)) /*new String*/;
-      once_value_212 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_211 = variable[5];
-    once_bool_211 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label210: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TObra].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TComma___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 734;
+  fra.me.meth = LOCATE_lexer___TComma___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:736 */
+  REGB0 = TAG_Int(55);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TComma___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos55 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TComma].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos55]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 739;
+  fra.me.meth = LOCATE_lexer___TComma___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:741 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString(",");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:742 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos55] = 1;
   return;
 }
-val_t lexer___TCbra___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 831, LOCATE_lexer___TCbra___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(54);
-  goto return_label213;
-  return_label213: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TCbra___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 836, LOCATE_lexer___TCbra___init_tk};
-  static val_t once_value_215; static int once_bool_215; /* Once value for variable[5]*/
-    static val_t once_value_216 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TCbra].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_215) variable[5] = once_value_215;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_216 != NIT_NULL) variable[5] = once_value_216;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)) /*new String*/;
-      once_value_216 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_215 = variable[5];
-    once_bool_215 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label214: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TCbra].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TColumn___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 747;
+  fra.me.meth = LOCATE_lexer___TColumn___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:749 */
+  REGB0 = TAG_Int(56);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TColumn___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos56 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TColumn].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos56]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 752;
+  fra.me.meth = LOCATE_lexer___TColumn___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:754 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString(":");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:755 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos56] = 1;
   return;
 }
-val_t lexer___TComma___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 846, LOCATE_lexer___TComma___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(55);
-  goto return_label217;
-  return_label217: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TComma___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 851, LOCATE_lexer___TComma___init_tk};
-  static val_t once_value_219; static int once_bool_219; /* Once value for variable[5]*/
-    static val_t once_value_220 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TComma].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_219) variable[5] = once_value_219;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_220 != NIT_NULL) variable[5] = once_value_220;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)) /*new String*/;
-      once_value_220 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_219 = variable[5];
-    once_bool_219 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label218: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TComma].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TQuad___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 760;
+  fra.me.meth = LOCATE_lexer___TQuad___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:762 */
+  REGB0 = TAG_Int(57);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TQuad___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos57 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TQuad].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos57]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 765;
+  fra.me.meth = LOCATE_lexer___TQuad___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:767 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("::");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:768 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos57] = 1;
   return;
 }
-val_t lexer___TColumn___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 861, LOCATE_lexer___TColumn___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(56);
-  goto return_label221;
-  return_label221: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TColumn___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 866, LOCATE_lexer___TColumn___init_tk};
-  static val_t once_value_223; static int once_bool_223; /* Once value for variable[5]*/
-    static val_t once_value_224 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TColumn].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_223) variable[5] = once_value_223;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_224 != NIT_NULL) variable[5] = once_value_224;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)) /*new String*/;
-      once_value_224 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_223 = variable[5];
-    once_bool_223 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label222: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TColumn].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TAssign___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 773;
+  fra.me.meth = LOCATE_lexer___TAssign___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:775 */
+  REGB0 = TAG_Int(58);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TAssign___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos58 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TAssign].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos58]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 778;
+  fra.me.meth = LOCATE_lexer___TAssign___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:780 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("=");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:781 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos58] = 1;
   return;
 }
-val_t lexer___TQuad___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 876, LOCATE_lexer___TQuad___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(57);
-  goto return_label225;
-  return_label225: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TQuad___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 881, LOCATE_lexer___TQuad___init_tk};
-  static val_t once_value_227; static int once_bool_227; /* Once value for variable[5]*/
-    static val_t once_value_228 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TQuad].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_227) variable[5] = once_value_227;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_228 != NIT_NULL) variable[5] = once_value_228;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
-      once_value_228 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_227 = variable[5];
-    once_bool_227 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label226: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TQuad].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TPluseq___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 786;
+  fra.me.meth = LOCATE_lexer___TPluseq___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:788 */
+  REGB0 = TAG_Int(59);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TPluseq___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos59 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TPluseq].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos59]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 791;
+  fra.me.meth = LOCATE_lexer___TPluseq___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:793 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("+=");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:794 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos59] = 1;
   return;
 }
-val_t lexer___TAssign___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 891, LOCATE_lexer___TAssign___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(58);
-  goto return_label229;
-  return_label229: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TAssign___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 896, LOCATE_lexer___TAssign___init_tk};
-  static val_t once_value_231; static int once_bool_231; /* Once value for variable[5]*/
-    static val_t once_value_232 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TAssign].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_231) variable[5] = once_value_231;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_232 != NIT_NULL) variable[5] = once_value_232;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)) /*new String*/;
-      once_value_232 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_231 = variable[5];
-    once_bool_231 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label230: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TAssign].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TMinuseq___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 799;
+  fra.me.meth = LOCATE_lexer___TMinuseq___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:801 */
+  REGB0 = TAG_Int(60);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TMinuseq___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos60 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TMinuseq].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos60]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 804;
+  fra.me.meth = LOCATE_lexer___TMinuseq___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:806 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("-=");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:807 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos60] = 1;
   return;
 }
-val_t lexer___TPluseq___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 906, LOCATE_lexer___TPluseq___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(59);
-  goto return_label233;
-  return_label233: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TPluseq___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 911, LOCATE_lexer___TPluseq___init_tk};
-  static val_t once_value_235; static int once_bool_235; /* Once value for variable[5]*/
-    static val_t once_value_236 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TPluseq].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_235) variable[5] = once_value_235;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_236 != NIT_NULL) variable[5] = once_value_236;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("+="), TAG_Int(2)) /*new String*/;
-      once_value_236 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_235 = variable[5];
-    once_bool_235 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label234: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TPluseq].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TDotdotdot___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 812;
+  fra.me.meth = LOCATE_lexer___TDotdotdot___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:814 */
+  REGB0 = TAG_Int(61);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TDotdotdot___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos61 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TDotdotdot].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos61]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 817;
+  fra.me.meth = LOCATE_lexer___TDotdotdot___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:819 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("...");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:820 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos61] = 1;
   return;
 }
-val_t lexer___TMinuseq___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 921, LOCATE_lexer___TMinuseq___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(60);
-  goto return_label237;
-  return_label237: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TMinuseq___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 926, LOCATE_lexer___TMinuseq___init_tk};
-  static val_t once_value_239; static int once_bool_239; /* Once value for variable[5]*/
-    static val_t once_value_240 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TMinuseq].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_239) variable[5] = once_value_239;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_240 != NIT_NULL) variable[5] = once_value_240;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("-="), TAG_Int(2)) /*new String*/;
-      once_value_240 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_239 = variable[5];
-    once_bool_239 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label238: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TMinuseq].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TDotdot___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 825;
+  fra.me.meth = LOCATE_lexer___TDotdot___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:827 */
+  REGB0 = TAG_Int(62);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TDotdot___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos62 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TDotdot].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos62]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 830;
+  fra.me.meth = LOCATE_lexer___TDotdot___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:832 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("..");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:833 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos62] = 1;
   return;
 }
-val_t lexer___TDotdotdot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 936, LOCATE_lexer___TDotdotdot___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(61);
-  goto return_label241;
-  return_label241: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TDotdotdot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 941, LOCATE_lexer___TDotdotdot___init_tk};
-  static val_t once_value_243; static int once_bool_243; /* Once value for variable[5]*/
-    static val_t once_value_244 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TDotdotdot].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_243) variable[5] = once_value_243;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_244 != NIT_NULL) variable[5] = once_value_244;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("..."), TAG_Int(3)) /*new String*/;
-      once_value_244 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_243 = variable[5];
-    once_bool_243 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label242: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TDotdotdot].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TDot___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 838;
+  fra.me.meth = LOCATE_lexer___TDot___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:840 */
+  REGB0 = TAG_Int(63);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TDot___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos63 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TDot].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos63]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 843;
+  fra.me.meth = LOCATE_lexer___TDot___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:845 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString(".");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:846 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos63] = 1;
   return;
 }
-val_t lexer___TDotdot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 951, LOCATE_lexer___TDotdot___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(62);
-  goto return_label245;
-  return_label245: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TDotdot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 956, LOCATE_lexer___TDotdot___init_tk};
-  static val_t once_value_247; static int once_bool_247; /* Once value for variable[5]*/
-    static val_t once_value_248 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TDotdot].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_247) variable[5] = once_value_247;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_248 != NIT_NULL) variable[5] = once_value_248;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(".."), TAG_Int(2)) /*new String*/;
-      once_value_248 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_247 = variable[5];
-    once_bool_247 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label246: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TDotdot].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TPlus___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 851;
+  fra.me.meth = LOCATE_lexer___TPlus___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:853 */
+  REGB0 = TAG_Int(64);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TPlus___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos64 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TPlus].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos64]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 856;
+  fra.me.meth = LOCATE_lexer___TPlus___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:858 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("+");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:859 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos64] = 1;
   return;
 }
-val_t lexer___TDot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 966, LOCATE_lexer___TDot___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(63);
-  goto return_label249;
-  return_label249: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TDot___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 971, LOCATE_lexer___TDot___init_tk};
-  static val_t once_value_251; static int once_bool_251; /* Once value for variable[5]*/
-    static val_t once_value_252 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TDot].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_251) variable[5] = once_value_251;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_252 != NIT_NULL) variable[5] = once_value_252;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
-      once_value_252 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_251 = variable[5];
-    once_bool_251 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label250: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TDot].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TMinus___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 864;
+  fra.me.meth = LOCATE_lexer___TMinus___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:866 */
+  REGB0 = TAG_Int(65);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TMinus___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos65 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TMinus].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos65]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 869;
+  fra.me.meth = LOCATE_lexer___TMinus___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:871 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("-");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:872 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos65] = 1;
   return;
 }
-val_t lexer___TPlus___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 981, LOCATE_lexer___TPlus___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(64);
-  goto return_label253;
-  return_label253: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TPlus___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 986, LOCATE_lexer___TPlus___init_tk};
-  static val_t once_value_255; static int once_bool_255; /* Once value for variable[5]*/
-    static val_t once_value_256 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TPlus].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_255) variable[5] = once_value_255;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_256 != NIT_NULL) variable[5] = once_value_256;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)) /*new String*/;
-      once_value_256 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_255 = variable[5];
-    once_bool_255 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label254: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TPlus].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TStar___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 877;
+  fra.me.meth = LOCATE_lexer___TStar___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:879 */
+  REGB0 = TAG_Int(66);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TStar___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos66 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStar].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos66]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 882;
+  fra.me.meth = LOCATE_lexer___TStar___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:884 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("*");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:885 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos66] = 1;
   return;
 }
-val_t lexer___TMinus___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 996, LOCATE_lexer___TMinus___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(65);
-  goto return_label257;
-  return_label257: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TMinus___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1001, LOCATE_lexer___TMinus___init_tk};
-  static val_t once_value_259; static int once_bool_259; /* Once value for variable[5]*/
-    static val_t once_value_260 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TMinus].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_259) variable[5] = once_value_259;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_260 != NIT_NULL) variable[5] = once_value_260;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)) /*new String*/;
-      once_value_260 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_259 = variable[5];
-    once_bool_259 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label258: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TMinus].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TSlash___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 890;
+  fra.me.meth = LOCATE_lexer___TSlash___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:892 */
+  REGB0 = TAG_Int(67);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TSlash___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos67 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TSlash].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos67]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 895;
+  fra.me.meth = LOCATE_lexer___TSlash___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:897 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("/");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:898 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos67] = 1;
   return;
 }
-val_t lexer___TStar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1011, LOCATE_lexer___TStar___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(66);
-  goto return_label261;
-  return_label261: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TStar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1016, LOCATE_lexer___TStar___init_tk};
-  static val_t once_value_263; static int once_bool_263; /* Once value for variable[5]*/
-    static val_t once_value_264 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TStar].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_263) variable[5] = once_value_263;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_264 != NIT_NULL) variable[5] = once_value_264;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)) /*new String*/;
-      once_value_264 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_263 = variable[5];
-    once_bool_263 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label262: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TStar].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TPercent___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 903;
+  fra.me.meth = LOCATE_lexer___TPercent___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:905 */
+  REGB0 = TAG_Int(68);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TPercent___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos68 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TPercent].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos68]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 908;
+  fra.me.meth = LOCATE_lexer___TPercent___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:910 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("%");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:911 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos68] = 1;
   return;
 }
-val_t lexer___TSlash___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1026, LOCATE_lexer___TSlash___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(67);
-  goto return_label265;
-  return_label265: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TSlash___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1031, LOCATE_lexer___TSlash___init_tk};
-  static val_t once_value_267; static int once_bool_267; /* Once value for variable[5]*/
-    static val_t once_value_268 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TSlash].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_267) variable[5] = once_value_267;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_268 != NIT_NULL) variable[5] = once_value_268;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
-      once_value_268 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_267 = variable[5];
-    once_bool_267 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label266: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TSlash].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TEq___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 916;
+  fra.me.meth = LOCATE_lexer___TEq___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:918 */
+  REGB0 = TAG_Int(69);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TEq___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos69 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TEq].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos69]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 921;
+  fra.me.meth = LOCATE_lexer___TEq___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:923 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("==");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:924 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos69] = 1;
   return;
 }
-val_t lexer___TPercent___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1041, LOCATE_lexer___TPercent___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(68);
-  goto return_label269;
-  return_label269: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TPercent___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1046, LOCATE_lexer___TPercent___init_tk};
-  static val_t once_value_271; static int once_bool_271; /* Once value for variable[5]*/
-    static val_t once_value_272 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TPercent].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_271) variable[5] = once_value_271;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_272 != NIT_NULL) variable[5] = once_value_272;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)) /*new String*/;
-      once_value_272 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_271 = variable[5];
-    once_bool_271 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label270: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TPercent].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TNe___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 929;
+  fra.me.meth = LOCATE_lexer___TNe___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:931 */
+  REGB0 = TAG_Int(70);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TNe___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos70 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TNe].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos70]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 934;
+  fra.me.meth = LOCATE_lexer___TNe___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:936 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("!=");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:937 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos70] = 1;
   return;
 }
-val_t lexer___TEq___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1056, LOCATE_lexer___TEq___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(69);
-  goto return_label273;
-  return_label273: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TEq___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1061, LOCATE_lexer___TEq___init_tk};
-  static val_t once_value_275; static int once_bool_275; /* Once value for variable[5]*/
-    static val_t once_value_276 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TEq].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_275) variable[5] = once_value_275;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_276 != NIT_NULL) variable[5] = once_value_276;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
-      once_value_276 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_275 = variable[5];
-    once_bool_275 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label274: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TEq].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TLt___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 942;
+  fra.me.meth = LOCATE_lexer___TLt___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:944 */
+  REGB0 = TAG_Int(71);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TLt___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos71 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TLt].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos71]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 947;
+  fra.me.meth = LOCATE_lexer___TLt___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:949 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("<");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:950 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos71] = 1;
   return;
 }
-val_t lexer___TNe___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1071, LOCATE_lexer___TNe___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(70);
-  goto return_label277;
-  return_label277: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TNe___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1076, LOCATE_lexer___TNe___init_tk};
-  static val_t once_value_279; static int once_bool_279; /* Once value for variable[5]*/
-    static val_t once_value_280 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TNe].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_279) variable[5] = once_value_279;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_280 != NIT_NULL) variable[5] = once_value_280;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)) /*new String*/;
-      once_value_280 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_279 = variable[5];
-    once_bool_279 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label278: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TNe].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TLe___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 955;
+  fra.me.meth = LOCATE_lexer___TLe___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:957 */
+  REGB0 = TAG_Int(72);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TLe___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos72 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TLe].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos72]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 960;
+  fra.me.meth = LOCATE_lexer___TLe___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:962 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("<=");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:963 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos72] = 1;
   return;
 }
-val_t lexer___TLt___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1086, LOCATE_lexer___TLt___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(71);
-  goto return_label281;
-  return_label281: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TLt___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1091, LOCATE_lexer___TLt___init_tk};
-  static val_t once_value_283; static int once_bool_283; /* Once value for variable[5]*/
-    static val_t once_value_284 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TLt].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_283) variable[5] = once_value_283;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_284 != NIT_NULL) variable[5] = once_value_284;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)) /*new String*/;
-      once_value_284 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_283 = variable[5];
-    once_bool_283 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label282: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TLt].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TLl___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 968;
+  fra.me.meth = LOCATE_lexer___TLl___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:970 */
+  REGB0 = TAG_Int(73);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TLl___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos73 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TLl].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos73]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 973;
+  fra.me.meth = LOCATE_lexer___TLl___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:975 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("<<");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:976 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos73] = 1;
   return;
 }
-val_t lexer___TLe___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1101, LOCATE_lexer___TLe___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(72);
-  goto return_label285;
-  return_label285: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TLe___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1106, LOCATE_lexer___TLe___init_tk};
-  static val_t once_value_287; static int once_bool_287; /* Once value for variable[5]*/
-    static val_t once_value_288 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TLe].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_287) variable[5] = once_value_287;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_288 != NIT_NULL) variable[5] = once_value_288;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)) /*new String*/;
-      once_value_288 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_287 = variable[5];
-    once_bool_287 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label286: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TLe].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TGt___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 981;
+  fra.me.meth = LOCATE_lexer___TGt___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:983 */
+  REGB0 = TAG_Int(74);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TGt___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos74 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGt].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos74]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 986;
+  fra.me.meth = LOCATE_lexer___TGt___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:988 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString(">");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:989 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos74] = 1;
   return;
 }
-val_t lexer___TGt___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1116, LOCATE_lexer___TGt___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(73);
-  goto return_label289;
-  return_label289: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TGt___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1121, LOCATE_lexer___TGt___init_tk};
-  static val_t once_value_291; static int once_bool_291; /* Once value for variable[5]*/
-    static val_t once_value_292 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TGt].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_291) variable[5] = once_value_291;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_292 != NIT_NULL) variable[5] = once_value_292;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)) /*new String*/;
-      once_value_292 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_291 = variable[5];
-    once_bool_291 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label290: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TGt].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TGe___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 994;
+  fra.me.meth = LOCATE_lexer___TGe___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:996 */
+  REGB0 = TAG_Int(75);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TGe___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos75 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGe].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos75]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 999;
+  fra.me.meth = LOCATE_lexer___TGe___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:1001 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString(">=");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1002 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos75] = 1;
   return;
 }
-val_t lexer___TGe___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1131, LOCATE_lexer___TGe___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(74);
-  goto return_label293;
-  return_label293: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TGe___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1136, LOCATE_lexer___TGe___init_tk};
-  static val_t once_value_295; static int once_bool_295; /* Once value for variable[5]*/
-    static val_t once_value_296 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TGe].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_295) variable[5] = once_value_295;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_296 != NIT_NULL) variable[5] = once_value_296;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)) /*new String*/;
-      once_value_296 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_295 = variable[5];
-    once_bool_295 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label294: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TGe].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TGg___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1007;
+  fra.me.meth = LOCATE_lexer___TGg___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1009 */
+  REGB0 = TAG_Int(76);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TGg___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos76 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGg].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos76]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1012;
+  fra.me.meth = LOCATE_lexer___TGg___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:1014 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString(">>");
+      REGB0 = TAG_Int(2);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1015 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos76] = 1;
   return;
 }
-val_t lexer___TStarship___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1146, LOCATE_lexer___TStarship___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(75);
-  goto return_label297;
-  return_label297: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TStarship___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1151, LOCATE_lexer___TStarship___init_tk};
-  static val_t once_value_299; static int once_bool_299; /* Once value for variable[5]*/
-    static val_t once_value_300 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TStarship].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  /* Register variable[5]: Once expression result */
-  if (once_bool_299) variable[5] = once_value_299;
-  else {
-    /* Register variable[5]: Once String constant */
-    if (once_value_300 != NIT_NULL) variable[5] = once_value_300;
-    else {
-      variable[5] = NEW_String_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)) /*new String*/;
-      once_value_300 = variable[5];
-    }
-    /* Register variable[5]: Result */
-    once_value_299 = variable[5];
-    once_bool_299 = true;
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label298: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TStarship].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TStarship___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1020;
+  fra.me.meth = LOCATE_lexer___TStarship___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1022 */
+  REGB0 = TAG_Int(77);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TStarship___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos77 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStarship].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos77]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1025;
+  fra.me.meth = LOCATE_lexer___TStarship___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:1027 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("<=>");
+      REGB0 = TAG_Int(3);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1028 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos77] = 1;
   return;
 }
-val_t lexer___TClassid___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1161, LOCATE_lexer___TClassid___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(76);
-  goto return_label301;
-  return_label301: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TClassid___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1166, LOCATE_lexer___TClassid___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TClassid].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label302: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TClassid].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TBang___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1033;
+  fra.me.meth = LOCATE_lexer___TBang___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1035 */
+  REGB0 = TAG_Int(78);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TBang___init_tk(val_t p0, val_t p1, int* init_table){
+  int itpos78 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TBang].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+    static val_t once_value_2; /* Once value */
+  if (init_table[itpos78]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1038;
+  fra.me.meth = LOCATE_lexer___TBang___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:1040 */
+  if (!once_value_1) {
+    if (!once_value_2) {
+      fra.me.REG[2] = BOX_NativeString("!");
+      REGB0 = TAG_Int(1);
+      fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+      once_value_2 = fra.me.REG[2];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[2] = once_value_2;
+    fra.me.REG[2] = fra.me.REG[2];
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1041 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos78] = 1;
   return;
 }
-val_t lexer___TId___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1176, LOCATE_lexer___TId___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(77);
-  goto return_label303;
-  return_label303: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TId___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1181, LOCATE_lexer___TId___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TId].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label304: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TId].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TClassid___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1046;
+  fra.me.meth = LOCATE_lexer___TClassid___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1048 */
+  REGB0 = TAG_Int(79);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TClassid___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos79 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TClassid].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos79]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1051;
+  fra.me.meth = LOCATE_lexer___TClassid___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1053 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1054 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos79] = 1;
   return;
 }
-val_t lexer___TAttrid___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1191, LOCATE_lexer___TAttrid___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(78);
-  goto return_label305;
-  return_label305: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TAttrid___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1196, LOCATE_lexer___TAttrid___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TAttrid].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label306: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TAttrid].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TId___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1059;
+  fra.me.meth = LOCATE_lexer___TId___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1061 */
+  REGB0 = TAG_Int(80);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TId___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos80 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TId].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos80]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1064;
+  fra.me.meth = LOCATE_lexer___TId___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1066 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1067 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos80] = 1;
   return;
 }
-val_t lexer___TNumber___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1206, LOCATE_lexer___TNumber___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(79);
-  goto return_label307;
-  return_label307: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TNumber___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1211, LOCATE_lexer___TNumber___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TNumber].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label308: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TNumber].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TAttrid___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1072;
+  fra.me.meth = LOCATE_lexer___TAttrid___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1074 */
+  REGB0 = TAG_Int(81);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TAttrid___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos81 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TAttrid].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos81]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1077;
+  fra.me.meth = LOCATE_lexer___TAttrid___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1079 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1080 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos81] = 1;
   return;
 }
-val_t lexer___TFloat___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1221, LOCATE_lexer___TFloat___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(80);
-  goto return_label309;
-  return_label309: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TFloat___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1226, LOCATE_lexer___TFloat___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TFloat].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label310: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TFloat].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TNumber___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1085;
+  fra.me.meth = LOCATE_lexer___TNumber___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1087 */
+  REGB0 = TAG_Int(82);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TNumber___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos82 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TNumber].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos82]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1090;
+  fra.me.meth = LOCATE_lexer___TNumber___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1092 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1093 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos82] = 1;
   return;
 }
-val_t lexer___TChar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1236, LOCATE_lexer___TChar___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(81);
-  goto return_label311;
-  return_label311: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TChar___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1241, LOCATE_lexer___TChar___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TChar].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label312: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TChar].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TFloat___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1098;
+  fra.me.meth = LOCATE_lexer___TFloat___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1100 */
+  REGB0 = TAG_Int(83);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TFloat___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos83 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TFloat].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos83]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1103;
+  fra.me.meth = LOCATE_lexer___TFloat___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1105 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1106 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos83] = 1;
   return;
 }
-val_t lexer___TString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1251, LOCATE_lexer___TString___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(82);
-  goto return_label313;
-  return_label313: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1256, LOCATE_lexer___TString___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TString].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label314: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TString].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TChar___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1111;
+  fra.me.meth = LOCATE_lexer___TChar___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1113 */
+  REGB0 = TAG_Int(84);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TChar___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos84 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TChar].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos84]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1116;
+  fra.me.meth = LOCATE_lexer___TChar___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1118 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1119 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos84] = 1;
   return;
 }
-val_t lexer___TStartString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1266, LOCATE_lexer___TStartString___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(83);
-  goto return_label315;
-  return_label315: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TStartString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1271, LOCATE_lexer___TStartString___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TStartString].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label316: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TStartString].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TString___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1124;
+  fra.me.meth = LOCATE_lexer___TString___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1126 */
+  REGB0 = TAG_Int(85);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos85 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TString].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos85]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1129;
+  fra.me.meth = LOCATE_lexer___TString___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1131 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1132 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos85] = 1;
   return;
 }
-val_t lexer___TMidString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1281, LOCATE_lexer___TMidString___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(84);
-  goto return_label317;
-  return_label317: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TMidString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1286, LOCATE_lexer___TMidString___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TMidString].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label318: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TMidString].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TStartString___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1137;
+  fra.me.meth = LOCATE_lexer___TStartString___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1139 */
+  REGB0 = TAG_Int(86);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TStartString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos86 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStartString].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos86]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1142;
+  fra.me.meth = LOCATE_lexer___TStartString___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1144 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1145 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos86] = 1;
   return;
 }
-val_t lexer___TEndString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1296, LOCATE_lexer___TEndString___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(85);
-  goto return_label319;
-  return_label319: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___TEndString___init_tk(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1301, LOCATE_lexer___TEndString___init_tk};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TEndString].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ =  variable[1] /*text*/;
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[2] /*fname*/;
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[3] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[4] /*pos*/;
-  return_label320: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_TEndString].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TMidString___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1150;
+  fra.me.meth = LOCATE_lexer___TMidString___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1152 */
+  REGB0 = TAG_Int(87);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TMidString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos87 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TMidString].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos87]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1155;
+  fra.me.meth = LOCATE_lexer___TMidString___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1157 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1158 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos87] = 1;
   return;
 }
-val_t lexer___EOF___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1312, LOCATE_lexer___EOF___parser_index};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(86);
-  goto return_label321;
-  return_label321: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___EOF___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1317, LOCATE_lexer___EOF___init};
-  static val_t once_value_323 = NIT_NULL; /* Once value for string variable[5]*/
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_EOF].i]) return;
-  /* Register variable[4]: Method return value and escape marker */
-  ATTR_lexer___Token____filename(variable[0]) /*Token::_filename*/ =  variable[1] /*fname*/;
-  /* Register variable[5]: Once String constant */
-  if (once_value_323 != NIT_NULL) variable[5] = once_value_323;
-  else {
-    variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
-    once_value_323 = variable[5];
-  }
-  /* Register variable[5]: Result */
-  ATTR_lexer___Token____text(variable[0]) /*Token::_text*/ = variable[5];
-  ATTR_lexer___Token____line(variable[0]) /*Token::_line*/ =  variable[2] /*line*/;
-  ATTR_lexer___Token____pos(variable[0]) /*Token::_pos*/ =  variable[3] /*pos*/;
-  return_label322: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_EOF].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___TEndString___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1163;
+  fra.me.meth = LOCATE_lexer___TEndString___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1165 */
+  REGB0 = TAG_Int(88);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___TEndString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos88 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TEndString].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos88]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1168;
+  fra.me.meth = LOCATE_lexer___TEndString___init_tk;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1170 */
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1171 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos88] = 1;
   return;
 }
-val_t lexer___PError___message(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1327, LOCATE_lexer___PError___message};
-  val_t *variable = NULL;
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  tracehead = trace.prev;
-  return ATTR_lexer___PError____message( self) /*PError::_message*/;
-}
-void lexer___PError___message__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 1327, LOCATE_lexer___PError___message__eq};
-  val_t *variable = NULL;
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  ATTR_lexer___PError____message( self) /*PError::_message*/ =  param0;
-  tracehead = trace.prev;
+val_t lexer___EOF___parser_index(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1177;
+  fra.me.meth = LOCATE_lexer___EOF___parser_index;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1179 */
+  REGB0 = TAG_Int(89);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___EOF___init(val_t p0, val_t p1, int* init_table){
+  int itpos89 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_EOF].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  static val_t once_value_1; /* Once value */
+  if (init_table[itpos89]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1182;
+  fra.me.meth = LOCATE_lexer___EOF___init;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  /* ./parser//lexer.nit:1184 */
+  if (!once_value_1) {
+    fra.me.REG[2] = BOX_NativeString("");
+    REGB0 = TAG_Int(0);
+    fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+    once_value_1 = fra.me.REG[2];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[2] = once_value_1;
+  fra.me.REG[2] = fra.me.REG[2];
+  ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1185 */
+  ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos89] = 1;
   return;
 }
-void lexer___PError___init_error(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1329, LOCATE_lexer___PError___init_error};
-  val_t variable[6];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PError].i]) return;
-  /* Register variable[5]: Method return value and escape marker */
-  CALL_lexer___EOF___init(variable[0])(variable[0],  variable[1] /*fname*/,  variable[2] /*line*/,  variable[3] /*pos*/, init_table /*YYY*/) /*EOF::init*/;
-  ATTR_lexer___PError____message(variable[0]) /*PError::_message*/ =  variable[4] /*message*/;
-  return_label324: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PError].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___AError___message(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1190;
+  fra.me.meth = LOCATE_lexer___AError___message;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1190 */
+  REGB0 = TAG_Bool(ATTR_lexer___AError____message(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_message", LOCATE_lexer, 1190);
+  }
+  fra.me.REG[0] = ATTR_lexer___AError____message(fra.me.REG[0]);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[0];
+}
+void lexer___AError___init_error(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos90 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AError].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t tmp;
+  if (init_table[itpos90]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1192;
+  fra.me.meth = LOCATE_lexer___AError___init_error;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1194 */
+  CALL_lexer___EOF___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
+  /* ./parser//lexer.nit:1195 */
+  ATTR_lexer___AError____message(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos90] = 1;
   return;
 }
-val_t lexer___Lexer___filename(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1346, LOCATE_lexer___Lexer___filename};
-  val_t *variable = NULL;
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  tracehead = trace.prev;
-  return ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
-}
-val_t lexer___Lexer___state_initial(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1373, LOCATE_lexer___Lexer___state_initial};
-  val_t variable[2];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  variable[1] =  TAG_Int(0);
-  goto return_label325;
-  return_label325: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___Lexer___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, NULL, 1376, LOCATE_lexer___Lexer___init};
-  val_t variable[5];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Local variable */
-  variable[1] =  param0;
-  /* Register variable[2]: Local variable */
-  variable[2] =  param1;
-  if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_Lexer].i]) return;
-  /* Register variable[3]: Method return value and escape marker */
-  ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/ =  variable[2] /*fname*/;
-  /* Register variable[4]: Result */
-  variable[4] = NEW_Buffer_string___Buffer___init() /*new Buffer*/;
-  ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/ = variable[4];
-  ATTR_lexer___Lexer____stream(variable[0]) /*Lexer::_stream*/ =  variable[1] /*stream*/;
-  /* Register variable[4]: Result */
-  variable[4] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ATTR_lexer___Lexer____stream_pos(variable[0]) /*Lexer::_stream_pos*/ = variable[4];
-  /* Register variable[4]: Result */
-  variable[4] = NEW_Buffer_string___Buffer___init() /*new Buffer*/;
-  ATTR_lexer___Lexer____stream_buf(variable[0]) /*Lexer::_stream_buf*/ = variable[4];
-  CALL_lexer___Lexer___build_goto_table(variable[0])(variable[0]) /*Lexer::build_goto_table*/;
-  CALL_lexer___Lexer___build_accept_table(variable[0])(variable[0]) /*Lexer::build_accept_table*/;
-  return_label326: while(false);
-  init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_Lexer].i] = 1;
-  tracehead = trace.prev;
+val_t lexer___Lexer___filename(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1210;
+  fra.me.meth = LOCATE_lexer___Lexer___filename;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1210 */
+  REGB0 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_filename", LOCATE_lexer, 1210);
+  }
+  fra.me.REG[0] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[0];
+}
+val_t lexer___Lexer___state_initial(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1237;
+  fra.me.meth = LOCATE_lexer___Lexer___state_initial;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1238 */
+  REGB0 = TAG_Int(0);
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___Lexer___init(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos91 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Lexer].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t tmp;
+  if (init_table[itpos91]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1240;
+  fra.me.meth = LOCATE_lexer___Lexer___init;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./parser//lexer.nit:1243 */
+  ATTR_lexer___Lexer____filename(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1244 */
+  fra.me.REG[2] = NEW_Buffer_string___Buffer___init();
+  ATTR_lexer___Lexer____text(fra.me.REG[0]) = fra.me.REG[2];
+  /* ./parser//lexer.nit:1245 */
+  ATTR_lexer___Lexer____stream(fra.me.REG[0]) = fra.me.REG[1];
+  /* ./parser//lexer.nit:1246 */
+  REGB0 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
+  REGB0 = TAG_Int(-UNTAG_Int(REGB0));
+  /* ./parser//lexer.nit:1246 */
+  ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB0;
+  /* ./parser//lexer.nit:1247 */
+  fra.me.REG[1] = NEW_Buffer_string___Buffer___init();
+  ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]) = fra.me.REG[1];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos91] = 1;
   return;
 }
-val_t lexer___Lexer___peek(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1388, LOCATE_lexer___Lexer___peek};
-  val_t variable[3];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  while (true) { /*while*/
-    /* Register variable[2]: Result */
-    variable[2] = ATTR_lexer___Lexer____token(variable[0]) /*Lexer::_token*/;
-    /* Register variable[2]: Result */
-    variable[2] = TAG_Bool((variable[2] ==  NIT_NULL /*null*/) || ((variable[2] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[2])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[2], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[2])(variable[2],  NIT_NULL /*null*/) /*Object::==*/)))));
-    if (!UNTAG_Bool(variable[2])) break; /* while*/
-    /* Register variable[2]: Result */
-    variable[2] = CALL_lexer___Lexer___get_token(variable[0])(variable[0]) /*Lexer::get_token*/;
-    ATTR_lexer___Lexer____token(variable[0]) /*Lexer::_token*/ = variable[2];
-    continue_328: while(0);
+val_t lexer___Lexer___peek(val_t p0){
+  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+  val_t REGB0;
+  val_t REGB1;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1250;
+  fra.me.meth = LOCATE_lexer___Lexer___peek;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 2;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1253 */
+  while(1) {
+    fra.me.REG[1] = ATTR_lexer___Lexer____token(fra.me.REG[0]);
+    REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+    if (UNTAG_Bool(REGB0)) {
+    } else {
+      REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+      if (UNTAG_Bool(REGB1)) {
+        REGB1 = TAG_Bool(false);
+        REGB0 = REGB1;
+      } else {
+        REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
+        REGB0 = REGB1;
+      }
+    }
+    if (UNTAG_Bool(REGB0)) {
+      /* ./parser//lexer.nit:1254 */
+      fra.me.REG[1] = CALL_lexer___Lexer___get_token(fra.me.REG[0])(fra.me.REG[0]);
+      ATTR_lexer___Lexer____token(fra.me.REG[0]) = fra.me.REG[1];
+    } else {
+      /* ./parser//lexer.nit:1253 */
+      goto label1;
+    }
+  }
+  label1: while(0);
+  /* ./parser//lexer.nit:1256 */
+  fra.me.REG[0] = ATTR_lexer___Lexer____token(fra.me.REG[0]);
+  REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Cast failed", NULL, LOCATE_lexer, 1256);
+  }
+  goto label2;
+  label2: while(0);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[0];
+}
+val_t lexer___Lexer___next(val_t p0){
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t REGB1;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1259;
+  fra.me.meth = LOCATE_lexer___Lexer___next;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1262 */
+  fra.me.REG[1] = ATTR_lexer___Lexer____token(fra.me.REG[0]);
+  /* ./parser//lexer.nit:1263 */
+  while(1) {
+    REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+    if (UNTAG_Bool(REGB0)) {
+    } else {
+      REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+      if (UNTAG_Bool(REGB1)) {
+        REGB1 = TAG_Bool(false);
+        REGB0 = REGB1;
+      } else {
+        REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
+        REGB0 = REGB1;
+      }
+    }
+    if (UNTAG_Bool(REGB0)) {
+      /* ./parser//lexer.nit:1264 */
+      fra.me.REG[2] = CALL_lexer___Lexer___get_token(fra.me.REG[0])(fra.me.REG[0]);
+      fra.me.REG[1] = fra.me.REG[2];
+    } else {
+      /* ./parser//lexer.nit:1263 */
+      goto label1;
+    }
+  }
+  label1: while(0);
+  /* ./parser//lexer.nit:1266 */
+  ATTR_lexer___Lexer____token(fra.me.REG[0]) = NIT_NULL;
+  /* ./parser//lexer.nit:1267 */
+  REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Cast failed", NULL, LOCATE_lexer, 1267);
   }
-  break_328: while(0);
-  /* Register variable[2]: Result */
-  variable[2] = ATTR_lexer___Lexer____token(variable[0]) /*Lexer::_token*/;
-  variable[1] = variable[2];
-  goto return_label327;
-  return_label327: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-val_t lexer___Lexer___next(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1397, LOCATE_lexer___Lexer___next};
-  val_t variable[4];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  /* Register variable[2]: Local variable */
-  /* Register variable[3]: Result */
-  variable[3] = ATTR_lexer___Lexer____token(variable[0]) /*Lexer::_token*/;
-  variable[2] = variable[3];
-  while (true) { /*while*/
-    /* Register variable[3]: Result */
-    variable[3] = TAG_Bool(( variable[2] /*result*/ ==  NIT_NULL /*null*/) || (( variable[2] /*result*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[2] /*result*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[2] /*result*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[2] /*result*/)( variable[2] /*result*/,  NIT_NULL /*null*/) /*Object::==*/)))));
-    if (!UNTAG_Bool(variable[3])) break; /* while*/
-    /* Register variable[3]: Result */
-    variable[3] = CALL_lexer___Lexer___get_token(variable[0])(variable[0]) /*Lexer::get_token*/;
-    variable[2] = variable[3] /*result=*/;
-    continue_330: while(0);
+  goto label2;
+  label2: while(0);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[1];
+}
+val_t lexer___Lexer___get_token(val_t p0){
+  struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
+  val_t REGB0;
+  val_t REGB1;
+  val_t REGB2;
+  val_t REGB3;
+  val_t REGB4;
+  val_t REGB5;
+  val_t REGB6;
+  val_t REGB7;
+  val_t REGB8;
+  val_t REGB9;
+  val_t REGB10;
+  val_t REGB11;
+  val_t REGB12;
+  val_t REGB13;
+  val_t REGB14;
+  val_t REGB15;
+  val_t REGB16;
+  val_t REGB17;
+  val_t tmp;
+          static val_t once_value_4; /* Once value */
+          static val_t once_value_5; /* Once value */
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1270;
+  fra.me.meth = LOCATE_lexer___Lexer___get_token;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 6;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[3] = NIT_NULL;
+  fra.me.REG[4] = NIT_NULL;
+  fra.me.REG[5] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1273 */
+  REGB0 = TAG_Int(0);
+  /* ./parser//lexer.nit:1275 */
+  REGB1 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB1)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_pos", LOCATE_lexer, 1275);
   }
-  break_330: while(0);
-  ATTR_lexer___Lexer____token(variable[0]) /*Lexer::_token*/ =  NIT_NULL /*null*/;
-  variable[1] =  variable[2] /*result*/;
-  goto return_label329;
-  return_label329: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-val_t lexer___Lexer___get_token(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 1408, LOCATE_lexer___Lexer___get_token};
-          static val_t once_value_344 = NIT_NULL; /* Once value for string variable[18]*/
-          static val_t once_value_345 = NIT_NULL; /* Once value for string variable[18]*/
-  val_t variable[24];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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] = ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/;
-  variable[3] = variable[4];
-  /* Register variable[4]: Local variable */
-  /* Register variable[5]: Result */
-  variable[5] = ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/;
-  variable[4] = variable[5];
-  /* Register variable[5]: Local variable */
-  /* Register variable[6]: Result */
-  variable[6] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  variable[5] = variable[6];
-  /* Register variable[6]: Local variable */
-  /* Register variable[7]: Result */
-  variable[7] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  variable[6] = variable[7];
-  /* Register variable[7]: Local variable */
-  /* Register variable[8]: Result */
-  variable[8] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  variable[7] = variable[8];
-  /* Register variable[8]: Local variable */
-  /* Register variable[9]: Result */
-  variable[9] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  variable[8] = variable[9];
-  /* Register variable[9]: Local variable */
-  /* Register variable[10]: Result */
-  variable[10] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  variable[9] = variable[10];
-  /* Register variable[10]: Local variable */
-  /* Register variable[11]: Result */
-  variable[11] = ATTR_lexer___Lexer____goto_table(variable[0]) /*Lexer::_goto_table*/;
-  /* Register variable[12]: Result */
-  variable[12] = ATTR_lexer___Lexer____state(variable[0]) /*Lexer::_state*/;
-  /* Register variable[13]: Local variable */
-  variable[13] = variable[11];
-  /* 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]));
+  REGB1 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
+  /* ./parser//lexer.nit:1276 */
+  REGB2 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB2)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_line", LOCATE_lexer, 1276);
   }
-  /* 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_lexer, 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_label332;
-  return_label332: while(false);
-  /* Register variable[11]: Result */
-  variable[11] = variable[15];
-  variable[10] = variable[11];
-  /* Register variable[11]: Local variable */
-  /* Register variable[12]: Result */
-  variable[12] = ATTR_lexer___Lexer____accept_table(variable[0]) /*Lexer::_accept_table*/;
-  /* Register variable[13]: Result */
-  variable[13] = ATTR_lexer___Lexer____state(variable[0]) /*Lexer::_state*/;
-  /* Register variable[14]: Local variable */
-  variable[14] = variable[12];
-  /* Register variable[15]: Local variable */
-  variable[15] = variable[13];
-  /* 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]));
+  REGB2 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
+  /* ./parser//lexer.nit:1278 */
+  REGB3 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
+  REGB3 = TAG_Int(-UNTAG_Int(REGB3));
+  /* ./parser//lexer.nit:1279 */
+  REGB4 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
+  REGB4 = TAG_Int(-UNTAG_Int(REGB4));
+  /* ./parser//lexer.nit:1280 */
+  REGB5 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
+  REGB5 = TAG_Int(-UNTAG_Int(REGB5));
+  /* ./parser//lexer.nit:1281 */
+  REGB6 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
+  REGB6 = TAG_Int(-UNTAG_Int(REGB6));
+  /* ./parser//lexer.nit:1282 */
+  REGB7 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
+  REGB7 = TAG_Int(-UNTAG_Int(REGB7));
+  /* ./parser//lexer.nit:1284 */
+  REGB8 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB8)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 1284);
   }
-  /* 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_lexer, 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_label333;
-  return_label333: while(false);
-  /* Register variable[12]: Result */
-  variable[12] = variable[16];
-  variable[11] = variable[12];
-  /* Register variable[12]: Result */
-  variable[12] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-  CALL_abstract_collection___RemovableCollection___clear(variable[12])(variable[12]) /*AbstractArray::clear*/;
-  while (true) { /*while*/
-    if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/
-    /* Register variable[12]: Local variable */
-    /* Register variable[13]: Result */
-    variable[13] = CALL_lexer___Lexer___get_char(variable[0])(variable[0]) /*Lexer::get_char*/;
-    variable[12] = variable[13];
-    /* Register variable[13]: Result */
-    variable[13] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    /* Register variable[13]: Result */
-    variable[13] = TAG_Bool(( variable[12] /*c*/)!=(variable[13]));
-    if (UNTAG_Bool(variable[13])) { /*if*/
-      /* Register variable[13]: Result */
-      variable[13] = TAG_Bool(( variable[12] /*c*/)==( TAG_Int(10)));
-      if (UNTAG_Bool(variable[13])) { /*if*/
-        /* Register variable[13]: Result */
-        variable[13] = ATTR_lexer___Lexer____cr(variable[0]) /*Lexer::_cr*/;
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          ATTR_lexer___Lexer____cr(variable[0]) /*Lexer::_cr*/ =  TAG_Bool(false);
-        } else { /*if*/
-          /* Register variable[13]: Result */
-          variable[13] = ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/;
-          /* Register variable[13]: Result */
-          variable[13] = TAG_Int(UNTAG_Int(variable[13])+UNTAG_Int( TAG_Int(1)));
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ = variable[13];
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  TAG_Int(0);
-        }
-      } else { /*if*/
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[12] /*c*/)==( TAG_Int(13)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Result */
-          variable[13] = ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/;
-          /* Register variable[13]: Result */
-          variable[13] = TAG_Int(UNTAG_Int(variable[13])+UNTAG_Int( TAG_Int(1)));
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ = variable[13];
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  TAG_Int(0);
-          ATTR_lexer___Lexer____cr(variable[0]) /*Lexer::_cr*/ =  TAG_Bool(true);
-        } else { /*if*/
-          /* Register variable[13]: Result */
-          variable[13] = ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/;
-          /* Register variable[13]: Result */
-          variable[13] = TAG_Int(UNTAG_Int(variable[13])+UNTAG_Int( TAG_Int(1)));
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ = variable[13];
-          ATTR_lexer___Lexer____cr(variable[0]) /*Lexer::_cr*/ =  TAG_Bool(false);
+  fra.me.REG[1] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
+  /* ./parser//lexer.nit:1285 */
+  CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[1])(fra.me.REG[1]);
+  /* ./parser//lexer.nit:1287 */
+  while(1) {
+    /* ./parser//lexer.nit:1288 */
+    REGB8 = CALL_lexer___Lexer___get_char(fra.me.REG[0])(fra.me.REG[0]);
+    /* ./parser//lexer.nit:1290 */
+    REGB9 = TAG_Int(1);
+    /* ./../lib/standard//kernel.nit:216 */
+    REGB9 = TAG_Int(-UNTAG_Int(REGB9));
+    /* ./parser//lexer.nit:1290 */
+    REGB10 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB9));
+    if (UNTAG_Bool(REGB10)) {
+    } else {
+      /* ./../lib/standard//kernel.nit:207 */
+      REGB9 = TAG_Bool((REGB8)==(REGB9));
+      /* ./parser//lexer.nit:1290 */
+      REGB10 = REGB9;
+    }
+    REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
+    if (UNTAG_Bool(REGB10)) {
+      /* ./parser//lexer.nit:1291 */
+      REGB10 = TAG_Bool(ATTR_lexer___Lexer____cr(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB10)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_cr", LOCATE_lexer, 1291);
+      }
+      REGB10 = ATTR_lexer___Lexer____cr(fra.me.REG[0]);
+      /* ./parser//lexer.nit:1292 */
+      REGB9 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB9)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_line", LOCATE_lexer, 1292);
+      }
+      REGB9 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
+      /* ./parser//lexer.nit:1293 */
+      REGB11 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB11)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_pos", LOCATE_lexer, 1293);
+      }
+      REGB11 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
+      /* ./parser//lexer.nit:1294 */
+      REGB12 = TAG_Int(10);
+      REGB13 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB12));
+      if (UNTAG_Bool(REGB13)) {
+      } else {
+        /* ./../lib/standard//kernel.nit:207 */
+        REGB12 = TAG_Bool((REGB8)==(REGB12));
+        /* ./parser//lexer.nit:1294 */
+        REGB13 = REGB12;
+      }
+      if (UNTAG_Bool(REGB13)) {
+        /* ./parser//lexer.nit:1295 */
+        if (UNTAG_Bool(REGB10)) {
+          /* ./parser//lexer.nit:1296 */
+          REGB13 = TAG_Bool(false);
+          REGB10 = REGB13;
+        } else {
+          /* ./parser//lexer.nit:1298 */
+          REGB13 = TAG_Int(1);
+          /* ./../lib/standard//kernel.nit:215 */
+          REGB13 = TAG_Int(UNTAG_Int(REGB9)+UNTAG_Int(REGB13));
+          /* ./parser//lexer.nit:1298 */
+          REGB9 = REGB13;
+          /* ./parser//lexer.nit:1299 */
+          REGB13 = TAG_Int(0);
+          REGB11 = REGB13;
+        }
+      } else {
+        /* ./parser//lexer.nit:1301 */
+        REGB13 = TAG_Int(13);
+        REGB12 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB13));
+        if (UNTAG_Bool(REGB12)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB13 = TAG_Bool((REGB8)==(REGB13));
+          /* ./parser//lexer.nit:1301 */
+          REGB12 = REGB13;
+        }
+        if (UNTAG_Bool(REGB12)) {
+          /* ./parser//lexer.nit:1302 */
+          REGB12 = TAG_Int(1);
+          /* ./../lib/standard//kernel.nit:215 */
+          REGB12 = TAG_Int(UNTAG_Int(REGB9)+UNTAG_Int(REGB12));
+          /* ./parser//lexer.nit:1302 */
+          REGB9 = REGB12;
+          /* ./parser//lexer.nit:1303 */
+          REGB12 = TAG_Int(0);
+          REGB11 = REGB12;
+          /* ./parser//lexer.nit:1304 */
+          REGB12 = TAG_Bool(true);
+          REGB10 = REGB12;
+        } else {
+          /* ./parser//lexer.nit:1306 */
+          REGB12 = TAG_Int(1);
+          /* ./../lib/standard//kernel.nit:215 */
+          REGB12 = TAG_Int(UNTAG_Int(REGB11)+UNTAG_Int(REGB12));
+          /* ./parser//lexer.nit:1306 */
+          REGB11 = REGB12;
+          /* ./parser//lexer.nit:1307 */
+          REGB12 = TAG_Bool(false);
+          REGB10 = REGB12;
         }
       }
-      /* Register variable[13]: Result */
-      variable[13] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-      /* Register variable[14]: Result */
-      variable[14] = TAG_Char(UNTAG_Int( variable[12] /*c*/));
-      CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*Buffer::add*/;
-      /* Register variable[13]: Local variable */
-      variable[13] =  TAG_Bool(true);
-      while (true) { /*while*/
-        /* Register variable[14]: Result */
-        variable[14] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-        /* Register variable[14]: Result */
-        variable[14] = TAG_Bool(UNTAG_Int( variable[2] /*dfa_state*/)<UNTAG_Int(variable[14]));
-        /* Ensure var variable[14]: Left 'or' operand*/
-        if (!UNTAG_Bool(variable[14])) { /* or */
-          variable[14] =  variable[13] /*first_loop*/;
-        }
-        /* Register variable[14]: Result */
-        if (!UNTAG_Bool(variable[14])) break; /* while*/
-        /* Register variable[14]: Local variable */
-        variable[14] =  variable[2] /*dfa_state*/;
-        /* Register variable[15]: Result */
-        variable[15] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-        /* Register variable[15]: Result */
-        variable[15] = TAG_Bool(UNTAG_Int( variable[2] /*dfa_state*/)<UNTAG_Int(variable[15]));
-        if (UNTAG_Bool(variable[15])) { /*if*/
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(-UNTAG_Int( TAG_Int(2)));
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int(variable[15])-UNTAG_Int( variable[2] /*dfa_state*/));
-          variable[14] = variable[15] /*old_state=*/;
-        }
-        /* Register variable[15]: Result */
-        variable[15] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-        variable[2] = variable[15] /*dfa_state=*/;
-        /* Register variable[15]: Local variable */
-        /* Register variable[16]: Local variable */
-        variable[16] =  variable[10] /*goto_table*/;
-        /* Register variable[17]: Local variable */
-        variable[17] =  variable[14] /*old_state*/;
-        /* Register variable[18]: Method return value and escape marker */
-        /* Register variable[19]: Result */
-        variable[19] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)>=UNTAG_Int( TAG_Int(0)));
-        /* Ensure var variable[19]: Left 'and' operand*/
-        if (UNTAG_Bool(variable[19])) { /* and */
-          /* Register variable[19]: Result */
-          variable[19] = ATTR_array___AbstractArrayRead____length(variable[16]) /*AbstractArrayRead::_length*/;
-          /* Register variable[19]: Result */
-          variable[19] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)<UNTAG_Int(variable[19]));
-        }
-        /* Register variable[19]: Result */
-        if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 234); nit_exit(1);}
-        /* Register variable[19]: Result */
-        variable[19] = ATTR_array___Array____items(variable[16]) /*Array::_items*/;
-        /* Register variable[19]: Result */
-        variable[19] = UNBOX_NativeArray(variable[19])[UNTAG_Int( variable[17] /*index*/)];
-        variable[18] = variable[19];
-        goto return_label336;
-        return_label336: while(false);
-        /* Register variable[16]: Result */
-        variable[16] = variable[18];
-        variable[15] = variable[16];
-        /* Register variable[16]: Local variable */
-        variable[16] =  TAG_Int(0);
-        /* Register variable[17]: Local variable */
-        /* Register variable[18]: Result */
-        variable[18] = CALL_abstract_collection___Collection___length( variable[15] /*tmp1*/)( variable[15] /*tmp1*/) /*AbstractArrayRead::length*/;
-        /* Register variable[18]: Result */
-        variable[18] = TAG_Int(UNTAG_Int(variable[18])-UNTAG_Int( TAG_Int(1)));
-        variable[17] = variable[18];
-        while (true) { /*while*/
-          /* Register variable[18]: Result */
-          variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*low*/)<=UNTAG_Int( variable[17] /*high*/));
-          if (!UNTAG_Bool(variable[18])) break; /* while*/
-          /* Register variable[18]: Local variable */
-          /* Register variable[19]: Result */
-          variable[19] = TAG_Int(UNTAG_Int( variable[16] /*low*/)+UNTAG_Int( variable[17] /*high*/));
-          /* Register variable[19]: Result */
-          variable[19] = TAG_Int(UNTAG_Int(variable[19])/UNTAG_Int( TAG_Int(2)));
-          variable[18] = variable[19];
-          /* Register variable[19]: Local variable */
-          /* Register variable[20]: Local variable */
-          variable[20] =  variable[15] /*tmp1*/;
-          /* Register variable[21]: Local variable */
-          variable[21] =  variable[18] /*middle*/;
-          /* Register variable[22]: Method return value and escape marker */
-          /* Register variable[23]: Result */
-          variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)>=UNTAG_Int( TAG_Int(0)));
-          /* Ensure var variable[23]: Left 'and' operand*/
-          if (UNTAG_Bool(variable[23])) { /* and */
-            /* Register variable[23]: Result */
-            variable[23] = ATTR_array___AbstractArrayRead____length(variable[20]) /*AbstractArrayRead::_length*/;
-            /* Register variable[23]: Result */
-            variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)<UNTAG_Int(variable[23]));
-          }
-          /* Register variable[23]: Result */
-          if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 234); nit_exit(1);}
-          /* Register variable[23]: Result */
-          variable[23] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
-          /* Register variable[23]: Result */
-          variable[23] = UNBOX_NativeArray(variable[23])[UNTAG_Int( variable[21] /*index*/)];
-          variable[22] = variable[23];
-          goto return_label338;
-          return_label338: while(false);
-          /* Register variable[20]: Result */
-          variable[20] = variable[22];
-          variable[19] = variable[20];
-          /* Register variable[20]: Local variable */
-          variable[20] =  variable[19] /*tmp2*/;
-          /* Register variable[21]: Local variable */
-          variable[21] =  TAG_Int(0);
-          /* Register variable[22]: Method return value and escape marker */
-          /* Register variable[23]: Result */
-          variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)>=UNTAG_Int( TAG_Int(0)));
-          /* Ensure var variable[23]: Left 'and' operand*/
-          if (UNTAG_Bool(variable[23])) { /* and */
-            /* Register variable[23]: Result */
-            variable[23] = ATTR_array___AbstractArrayRead____length(variable[20]) /*AbstractArrayRead::_length*/;
-            /* Register variable[23]: Result */
-            variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)<UNTAG_Int(variable[23]));
-          }
-          /* Register variable[23]: Result */
-          if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 234); nit_exit(1);}
-          /* Register variable[23]: Result */
-          variable[23] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
-          /* Register variable[23]: Result */
-          variable[23] = UNBOX_NativeArray(variable[23])[UNTAG_Int( variable[21] /*index*/)];
-          variable[22] = variable[23];
-          goto return_label339;
-          return_label339: while(false);
-          /* Register variable[20]: Result */
-          variable[20] = variable[22];
-          /* Register variable[20]: Result */
-          variable[20] = TAG_Bool(UNTAG_Int( variable[12] /*c*/)<UNTAG_Int(variable[20]));
-          if (UNTAG_Bool(variable[20])) { /*if*/
-            /* Register variable[20]: Result */
-            variable[20] = TAG_Int(UNTAG_Int( variable[18] /*middle*/)-UNTAG_Int( TAG_Int(1)));
-            variable[17] = variable[20] /*high=*/;
-          } else { /*if*/
-            /* Register variable[20]: Local variable */
-            variable[20] =  variable[19] /*tmp2*/;
-            /* Register variable[21]: Local variable */
-            variable[21] =  TAG_Int(1);
-            /* Register variable[22]: Method return value and escape marker */
-            /* Register variable[23]: Result */
-            variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)>=UNTAG_Int( TAG_Int(0)));
-            /* Ensure var variable[23]: Left 'and' operand*/
-            if (UNTAG_Bool(variable[23])) { /* and */
-              /* Register variable[23]: Result */
-              variable[23] = ATTR_array___AbstractArrayRead____length(variable[20]) /*AbstractArrayRead::_length*/;
-              /* Register variable[23]: Result */
-              variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)<UNTAG_Int(variable[23]));
-            }
-            /* Register variable[23]: Result */
-            if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 234); nit_exit(1);}
-            /* Register variable[23]: Result */
-            variable[23] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
-            /* Register variable[23]: Result */
-            variable[23] = UNBOX_NativeArray(variable[23])[UNTAG_Int( variable[21] /*index*/)];
-            variable[22] = variable[23];
-            goto return_label340;
-            return_label340: while(false);
-            /* Register variable[20]: Result */
-            variable[20] = variable[22];
-            /* Register variable[20]: Result */
-            variable[20] = TAG_Bool(UNTAG_Int( variable[12] /*c*/)>UNTAG_Int(variable[20]));
-            if (UNTAG_Bool(variable[20])) { /*if*/
-              /* Register variable[20]: Result */
-              variable[20] = TAG_Int(UNTAG_Int( variable[18] /*middle*/)+UNTAG_Int( TAG_Int(1)));
-              variable[16] = variable[20] /*low=*/;
-            } else { /*if*/
-              /* Register variable[20]: Local variable */
-              variable[20] =  variable[19] /*tmp2*/;
-              /* Register variable[21]: Local variable */
-              variable[21] =  TAG_Int(2);
-              /* Register variable[22]: Method return value and escape marker */
-              /* Register variable[23]: Result */
-              variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)>=UNTAG_Int( TAG_Int(0)));
-              /* Ensure var variable[23]: Left 'and' operand*/
-              if (UNTAG_Bool(variable[23])) { /* and */
-               /* Register variable[23]: Result */
-               variable[23] = ATTR_array___AbstractArrayRead____length(variable[20]) /*AbstractArrayRead::_length*/;
-               /* Register variable[23]: Result */
-               variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)<UNTAG_Int(variable[23]));
+      /* ./../lib/standard//kernel.nit:277 */
+      REGB12 = TAG_Char(UNTAG_Int(REGB8));
+      /* ./parser//lexer.nit:1310 */
+      CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB12);
+      /* ./parser//lexer.nit:1312 */
+      while(1) {
+        /* ./parser//lexer.nit:1313 */
+        REGB12 = REGB0;
+        /* ./parser//lexer.nit:1314 */
+        REGB13 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:216 */
+        REGB13 = TAG_Int(-UNTAG_Int(REGB13));
+        /* ./../lib/standard//kernel.nit:212 */
+        REGB13 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB13));
+        /* ./parser//lexer.nit:1314 */
+        if (UNTAG_Bool(REGB13)) {
+          /* ./parser//lexer.nit:1315 */
+          REGB13 = TAG_Int(2);
+          /* ./../lib/standard//kernel.nit:216 */
+          REGB13 = TAG_Int(-UNTAG_Int(REGB13));
+          /* ./../lib/standard//kernel.nit:217 */
+          REGB13 = TAG_Int(UNTAG_Int(REGB13)-UNTAG_Int(REGB0));
+          /* ./parser//lexer.nit:1315 */
+          REGB12 = REGB13;
+        }
+        /* ./parser//lexer.nit:1318 */
+        REGB13 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:216 */
+        REGB13 = TAG_Int(-UNTAG_Int(REGB13));
+        /* ./parser//lexer.nit:1318 */
+        REGB0 = REGB13;
+        /* ./parser//lexer.nit:1320 */
+        REGB13 = TAG_Int(0);
+        /* ./parser//lexer.nit:1321 */
+        REGB14 = TAG_Int(0);
+        REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB14);
+        REGB15 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:217 */
+        REGB15 = TAG_Int(UNTAG_Int(REGB14)-UNTAG_Int(REGB15));
+        /* ./parser//lexer.nit:1323 */
+        REGB14 = TAG_Int(0);
+        /* ./../lib/standard//kernel.nit:213 */
+        REGB14 = TAG_Bool(UNTAG_Int(REGB15)>=UNTAG_Int(REGB14));
+        /* ./parser//lexer.nit:1323 */
+        if (UNTAG_Bool(REGB14)) {
+          /* ./parser//lexer.nit:1324 */
+          while(1) {
+            /* ./../lib/standard//kernel.nit:211 */
+            REGB14 = TAG_Bool(UNTAG_Int(REGB13)<=UNTAG_Int(REGB15));
+            /* ./parser//lexer.nit:1324 */
+            if (UNTAG_Bool(REGB14)) {
+              /* ./../lib/standard//kernel.nit:215 */
+              REGB14 = TAG_Int(UNTAG_Int(REGB13)+UNTAG_Int(REGB15));
+              /* ./parser//lexer.nit:1325 */
+              REGB16 = TAG_Int(2);
+              /* ./../lib/standard//kernel.nit:219 */
+              REGB16 = TAG_Int(UNTAG_Int(REGB14)/UNTAG_Int(REGB16));
+              /* ./parser//lexer.nit:1326 */
+              REGB14 = TAG_Int(3);
+              /* ./../lib/standard//kernel.nit:218 */
+              REGB14 = TAG_Int(UNTAG_Int(REGB16)*UNTAG_Int(REGB14));
+              /* ./parser//lexer.nit:1326 */
+              REGB17 = TAG_Int(1);
+              /* ./../lib/standard//kernel.nit:215 */
+              REGB17 = TAG_Int(UNTAG_Int(REGB14)+UNTAG_Int(REGB17));
+              /* ./parser//lexer.nit:1328 */
+              REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB17);
+              /* ./../lib/standard//kernel.nit:212 */
+              REGB14 = TAG_Bool(UNTAG_Int(REGB8)<UNTAG_Int(REGB14));
+              /* ./parser//lexer.nit:1328 */
+              if (UNTAG_Bool(REGB14)) {
+               /* ./parser//lexer.nit:1329 */
+               REGB14 = TAG_Int(1);
+               /* ./../lib/standard//kernel.nit:217 */
+               REGB14 = TAG_Int(UNTAG_Int(REGB16)-UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1329 */
+               REGB15 = REGB14;
+              } else {
+               /* ./parser//lexer.nit:1330 */
+               REGB14 = TAG_Int(1);
+               /* ./../lib/standard//kernel.nit:215 */
+               REGB14 = TAG_Int(UNTAG_Int(REGB17)+UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1330 */
+               REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB14);
+               /* ./../lib/standard//kernel.nit:214 */
+               REGB14 = TAG_Bool(UNTAG_Int(REGB8)>UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1330 */
+               if (UNTAG_Bool(REGB14)) {
+               /* ./parser//lexer.nit:1331 */
+               REGB14 = TAG_Int(1);
+               /* ./../lib/standard//kernel.nit:215 */
+               REGB14 = TAG_Int(UNTAG_Int(REGB16)+UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1331 */
+               REGB13 = REGB14;
+               } else {
+               /* ./parser//lexer.nit:1333 */
+               REGB14 = TAG_Int(2);
+               /* ./../lib/standard//kernel.nit:215 */
+               REGB14 = TAG_Int(UNTAG_Int(REGB17)+UNTAG_Int(REGB14));
+               /* ./parser//lexer.nit:1333 */
+               REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB14);
+               REGB0 = REGB14;
+               /* ./parser//lexer.nit:1334 */
+               goto label1;
+               }
               }
-              /* Register variable[23]: Result */
-              if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 234); nit_exit(1);}
-              /* Register variable[23]: Result */
-              variable[23] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
-              /* Register variable[23]: Result */
-              variable[23] = UNBOX_NativeArray(variable[23])[UNTAG_Int( variable[21] /*index*/)];
-              variable[22] = variable[23];
-              goto return_label341;
-              return_label341: while(false);
-              /* Register variable[20]: Result */
-              variable[20] = variable[22];
-              variable[2] = variable[20] /*dfa_state=*/;
-              /* Register variable[20]: Result */
-              variable[20] = TAG_Int(UNTAG_Int( variable[17] /*high*/)+UNTAG_Int( TAG_Int(1)));
-              variable[16] = variable[20] /*low=*/;
+            } else {
+              /* ./parser//lexer.nit:1324 */
+              goto label1;
             }
           }
-          continue_337: while(0);
+          label1: while(0);
+        }
+        /* ./parser//lexer.nit:1338 */
+        REGB12 = TAG_Int(2);
+        /* ./../lib/standard//kernel.nit:216 */
+        REGB12 = TAG_Int(-UNTAG_Int(REGB12));
+        /* ./../lib/standard//kernel.nit:214 */
+        REGB12 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB12));
+        /* ./parser//lexer.nit:1338 */
+        if (UNTAG_Bool(REGB12)) {
+          goto label2;
         }
-        break_337: while(0);
-        variable[13] =  TAG_Bool(false) /*first_loop=*/;
-        continue_335: while(0);
       }
-      break_335: while(0);
-    } else { /*if*/
-      /* Register variable[13]: Result */
-      variable[13] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-      variable[2] = variable[13] /*dfa_state=*/;
+      label2: while(0);
+      /* ./parser//lexer.nit:1341 */
+      ATTR_lexer___Lexer____cr(fra.me.REG[0]) = REGB10;
+      /* ./parser//lexer.nit:1342 */
+      ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB9;
+      /* ./parser//lexer.nit:1343 */
+      ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB11;
+    } else {
+      /* ./parser//lexer.nit:1345 */
+      REGB11 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:216 */
+      REGB11 = TAG_Int(-UNTAG_Int(REGB11));
+      /* ./parser//lexer.nit:1345 */
+      REGB0 = REGB11;
     }
-    /* Register variable[13]: Result */
-    variable[13] = TAG_Bool(UNTAG_Int( variable[2] /*dfa_state*/)>=UNTAG_Int( TAG_Int(0)));
-    if (UNTAG_Bool(variable[13])) { /*if*/
-      /* Register variable[13]: Local variable */
-      variable[13] =  variable[11] /*accept*/;
-      /* Register variable[14]: Local variable */
-      variable[14] =  variable[2] /*dfa_state*/;
-      /* 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]));
+    /* ./parser//lexer.nit:1348 */
+    REGB11 = TAG_Int(0);
+    /* ./../lib/standard//kernel.nit:213 */
+    REGB11 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB11));
+    /* ./parser//lexer.nit:1348 */
+    if (UNTAG_Bool(REGB11)) {
+      /* ./parser//lexer.nit:1349 */
+      REGB11 = CALL_tables___TablesCapable___lexer_accept(fra.me.REG[0])(fra.me.REG[0], REGB0);
+      /* ./parser//lexer.nit:1350 */
+      REGB9 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:216 */
+      REGB9 = TAG_Int(-UNTAG_Int(REGB9));
+      /* ./parser//lexer.nit:1350 */
+      REGB10 = TAG_Bool(IS_EQUAL_OO(REGB11,REGB9));
+      if (UNTAG_Bool(REGB10)) {
+      } else {
+        /* ./../lib/standard//kernel.nit:207 */
+        REGB9 = TAG_Bool((REGB11)==(REGB9));
+        /* ./parser//lexer.nit:1350 */
+        REGB10 = REGB9;
       }
-      /* 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_lexer, 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_label342;
-      return_label342: while(false);
-      /* Register variable[13]: Result */
-      variable[13] = variable[15];
-      /* Register variable[14]: Result */
-      variable[14] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-      /* Register variable[13]: Result */
-      variable[13] = TAG_Bool((variable[13])!=(variable[14]));
-      if (UNTAG_Bool(variable[13])) { /*if*/
-        variable[5] =  variable[2] /*dfa_state*/ /*accept_state=*/;
-        /* Register variable[13]: Local variable */
-        variable[13] =  variable[11] /*accept*/;
-        /* Register variable[14]: Local variable */
-        variable[14] =  variable[2] /*dfa_state*/;
-        /* 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_lexer, 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_label343;
-        return_label343: while(false);
-        /* Register variable[13]: Result */
-        variable[13] = variable[15];
-        variable[6] = variable[13] /*accept_token=*/;
-        /* Register variable[13]: Result */
-        variable[13] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-        /* Register variable[13]: Result */
-        variable[13] = CALL_abstract_collection___Collection___length(variable[13])(variable[13]) /*AbstractArrayRead::length*/;
-        variable[7] = variable[13] /*accept_length=*/;
-        /* Register variable[13]: Result */
-        variable[13] = ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/;
-        variable[8] = variable[13] /*accept_pos=*/;
-        /* Register variable[13]: Result */
-        variable[13] = ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/;
-        variable[9] = variable[13] /*accept_line=*/;
+      REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
+      if (UNTAG_Bool(REGB10)) {
+        /* ./parser//lexer.nit:1351 */
+        REGB3 = REGB0;
+        /* ./parser//lexer.nit:1352 */
+        REGB4 = REGB11;
+        /* ./../lib/standard//collection//array.nit:23 */
+        REGB11 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+        }
+        REGB11 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+        /* ./parser//lexer.nit:1353 */
+        REGB5 = REGB11;
+        /* ./parser//lexer.nit:1354 */
+        REGB11 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_pos", LOCATE_lexer, 1354);
+        }
+        REGB11 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
+        REGB6 = REGB11;
+        /* ./parser//lexer.nit:1355 */
+        REGB11 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_line", LOCATE_lexer, 1355);
+        }
+        REGB11 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
+        REGB7 = REGB11;
       }
-    } else { /*if*/
-      /* Register variable[13]: Result */
-      variable[13] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-      /* Register variable[13]: Result */
-      variable[13] = TAG_Bool(( variable[5] /*accept_state*/)!=(variable[13]));
-      if (UNTAG_Bool(variable[13])) { /*if*/
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(0)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  NIT_NULL /*null*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(1)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TEol_lexer___TEol___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TEol*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(2)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TComment_lexer___TComment___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TComment*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(3)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwpackage_lexer___TKwpackage___init_tk(variable[14], variable[15], variable[16]) /*new TKwpackage*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(4)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwimport_lexer___TKwimport___init_tk(variable[14], variable[15], variable[16]) /*new TKwimport*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(5)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwclass_lexer___TKwclass___init_tk(variable[14], variable[15], variable[16]) /*new TKwclass*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(6)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwabstract_lexer___TKwabstract___init_tk(variable[14], variable[15], variable[16]) /*new TKwabstract*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(7)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwinterface_lexer___TKwinterface___init_tk(variable[14], variable[15], variable[16]) /*new TKwinterface*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(8)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwuniversal_lexer___TKwuniversal___init_tk(variable[14], variable[15], variable[16]) /*new TKwuniversal*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(9)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwspecial_lexer___TKwspecial___init_tk(variable[14], variable[15], variable[16]) /*new TKwspecial*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(10)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwend_lexer___TKwend___init_tk(variable[14], variable[15], variable[16]) /*new TKwend*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(11)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TKwmeth_lexer___TKwmeth___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TKwmeth*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(12)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwtype_lexer___TKwtype___init_tk(variable[14], variable[15], variable[16]) /*new TKwtype*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(13)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwattr_lexer___TKwattr___init_tk(variable[14], variable[15], variable[16]) /*new TKwattr*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(14)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwinit_lexer___TKwinit___init_tk(variable[14], variable[15], variable[16]) /*new TKwinit*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(15)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwredef_lexer___TKwredef___init_tk(variable[14], variable[15], variable[16]) /*new TKwredef*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(16)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwis_lexer___TKwis___init_tk(variable[14], variable[15], variable[16]) /*new TKwis*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(17)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwdo_lexer___TKwdo___init_tk(variable[14], variable[15], variable[16]) /*new TKwdo*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(18)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwreadable_lexer___TKwreadable___init_tk(variable[14], variable[15], variable[16]) /*new TKwreadable*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(19)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwwritable_lexer___TKwwritable___init_tk(variable[14], variable[15], variable[16]) /*new TKwwritable*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(20)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwvar_lexer___TKwvar___init_tk(variable[14], variable[15], variable[16]) /*new TKwvar*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(21)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwintern_lexer___TKwintern___init_tk(variable[14], variable[15], variable[16]) /*new TKwintern*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(22)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwextern_lexer___TKwextern___init_tk(variable[14], variable[15], variable[16]) /*new TKwextern*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(23)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwprotected_lexer___TKwprotected___init_tk(variable[14], variable[15], variable[16]) /*new TKwprotected*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(24)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwprivate_lexer___TKwprivate___init_tk(variable[14], variable[15], variable[16]) /*new TKwprivate*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(25)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwintrude_lexer___TKwintrude___init_tk(variable[14], variable[15], variable[16]) /*new TKwintrude*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(26)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwif_lexer___TKwif___init_tk(variable[14], variable[15], variable[16]) /*new TKwif*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(27)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwthen_lexer___TKwthen___init_tk(variable[14], variable[15], variable[16]) /*new TKwthen*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(28)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwelse_lexer___TKwelse___init_tk(variable[14], variable[15], variable[16]) /*new TKwelse*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(29)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwwhile_lexer___TKwwhile___init_tk(variable[14], variable[15], variable[16]) /*new TKwwhile*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(30)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwfor_lexer___TKwfor___init_tk(variable[14], variable[15], variable[16]) /*new TKwfor*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(31)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwin_lexer___TKwin___init_tk(variable[14], variable[15], variable[16]) /*new TKwin*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(32)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwand_lexer___TKwand___init_tk(variable[14], variable[15], variable[16]) /*new TKwand*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(33)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwor_lexer___TKwor___init_tk(variable[14], variable[15], variable[16]) /*new TKwor*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(34)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwnot_lexer___TKwnot___init_tk(variable[14], variable[15], variable[16]) /*new TKwnot*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(35)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwreturn_lexer___TKwreturn___init_tk(variable[14], variable[15], variable[16]) /*new TKwreturn*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(36)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwcontinue_lexer___TKwcontinue___init_tk(variable[14], variable[15], variable[16]) /*new TKwcontinue*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(37)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwbreak_lexer___TKwbreak___init_tk(variable[14], variable[15], variable[16]) /*new TKwbreak*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(38)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwabort_lexer___TKwabort___init_tk(variable[14], variable[15], variable[16]) /*new TKwabort*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(39)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwassert_lexer___TKwassert___init_tk(variable[14], variable[15], variable[16]) /*new TKwassert*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(40)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwnew_lexer___TKwnew___init_tk(variable[14], variable[15], variable[16]) /*new TKwnew*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(41)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwisa_lexer___TKwisa___init_tk(variable[14], variable[15], variable[16]) /*new TKwisa*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(42)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwonce_lexer___TKwonce___init_tk(variable[14], variable[15], variable[16]) /*new TKwonce*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(43)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwsuper_lexer___TKwsuper___init_tk(variable[14], variable[15], variable[16]) /*new TKwsuper*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(44)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwself_lexer___TKwself___init_tk(variable[14], variable[15], variable[16]) /*new TKwself*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(45)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwtrue_lexer___TKwtrue___init_tk(variable[14], variable[15], variable[16]) /*new TKwtrue*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(46)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwfalse_lexer___TKwfalse___init_tk(variable[14], variable[15], variable[16]) /*new TKwfalse*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(47)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwnull_lexer___TKwnull___init_tk(variable[14], variable[15], variable[16]) /*new TKwnull*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(48)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwas_lexer___TKwas___init_tk(variable[14], variable[15], variable[16]) /*new TKwas*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(49)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwwith_lexer___TKwwith___init_tk(variable[14], variable[15], variable[16]) /*new TKwwith*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(50)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwnullable_lexer___TKwnullable___init_tk(variable[14], variable[15], variable[16]) /*new TKwnullable*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(51)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TKwisset_lexer___TKwisset___init_tk(variable[14], variable[15], variable[16]) /*new TKwisset*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(52)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TOpar_lexer___TOpar___init_tk(variable[14], variable[15], variable[16]) /*new TOpar*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(53)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TCpar_lexer___TCpar___init_tk(variable[14], variable[15], variable[16]) /*new TCpar*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(54)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TObra_lexer___TObra___init_tk(variable[14], variable[15], variable[16]) /*new TObra*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(55)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TCbra_lexer___TCbra___init_tk(variable[14], variable[15], variable[16]) /*new TCbra*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(56)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TComma_lexer___TComma___init_tk(variable[14], variable[15], variable[16]) /*new TComma*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(57)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TColumn_lexer___TColumn___init_tk(variable[14], variable[15], variable[16]) /*new TColumn*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(58)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TQuad_lexer___TQuad___init_tk(variable[14], variable[15], variable[16]) /*new TQuad*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(59)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TAssign_lexer___TAssign___init_tk(variable[14], variable[15], variable[16]) /*new TAssign*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(60)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TPluseq_lexer___TPluseq___init_tk(variable[14], variable[15], variable[16]) /*new TPluseq*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(61)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TMinuseq_lexer___TMinuseq___init_tk(variable[14], variable[15], variable[16]) /*new TMinuseq*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(62)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TDotdotdot_lexer___TDotdotdot___init_tk(variable[14], variable[15], variable[16]) /*new TDotdotdot*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(63)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TDotdot_lexer___TDotdot___init_tk(variable[14], variable[15], variable[16]) /*new TDotdot*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(64)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TDot_lexer___TDot___init_tk(variable[14], variable[15], variable[16]) /*new TDot*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(65)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TPlus_lexer___TPlus___init_tk(variable[14], variable[15], variable[16]) /*new TPlus*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(66)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TMinus_lexer___TMinus___init_tk(variable[14], variable[15], variable[16]) /*new TMinus*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(67)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TStar_lexer___TStar___init_tk(variable[14], variable[15], variable[16]) /*new TStar*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(68)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TSlash_lexer___TSlash___init_tk(variable[14], variable[15], variable[16]) /*new TSlash*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(69)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TPercent_lexer___TPercent___init_tk(variable[14], variable[15], variable[16]) /*new TPercent*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(70)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TEq_lexer___TEq___init_tk(variable[14], variable[15], variable[16]) /*new TEq*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(71)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TNe_lexer___TNe___init_tk(variable[14], variable[15], variable[16]) /*new TNe*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(72)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TLt_lexer___TLt___init_tk(variable[14], variable[15], variable[16]) /*new TLt*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(73)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TLe_lexer___TLe___init_tk(variable[14], variable[15], variable[16]) /*new TLe*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(74)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TGt_lexer___TGt___init_tk(variable[14], variable[15], variable[16]) /*new TGt*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(75)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TGe_lexer___TGe___init_tk(variable[14], variable[15], variable[16]) /*new TGe*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(76)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_TStarship_lexer___TStarship___init_tk(variable[14], variable[15], variable[16]) /*new TStarship*/;
-          variable[13] = variable[14];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(77)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TClassid_lexer___TClassid___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TClassid*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(78)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TId_lexer___TId___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TId*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(79)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TAttrid_lexer___TAttrid___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TAttrid*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(80)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TNumber_lexer___TNumber___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TNumber*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(81)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TFloat_lexer___TFloat___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TFloat*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(82)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TChar_lexer___TChar___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TChar*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(83)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TString_lexer___TString___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TString*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(84)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TStartString_lexer___TStartString___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TStartString*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(85)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TMidString_lexer___TMidString___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TMidString*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(( variable[6] /*accept_token*/)==( TAG_Int(86)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Register variable[14]: Result */
-          variable[14] = CALL_string___AbstractString___substring(variable[14])(variable[14],  TAG_Int(0),  variable[7] /*accept_length*/) /*AbstractString::substring*/;
-          variable[13] = variable[14];
-          /* Register variable[14]: Local variable */
-          /* Register variable[15]: Result */
-          variable[15] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[17]: Result */
-          variable[17] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[15]: Result */
-          variable[15] = NEW_TEndString_lexer___TEndString___init_tk( variable[13] /*token_text*/, variable[15], variable[16], variable[17]) /*new TEndString*/;
-          variable[14] = variable[15];
-          CALL_lexer___Lexer___push_back(variable[0])(variable[0],  variable[7] /*accept_length*/) /*Lexer::push_back*/;
-          ATTR_lexer___Lexer____pos(variable[0]) /*Lexer::_pos*/ =  variable[8] /*accept_pos*/;
-          ATTR_lexer___Lexer____line(variable[0]) /*Lexer::_line*/ =  variable[9] /*accept_line*/;
-          variable[1] =  variable[14] /*token*/;
-          goto return_label331;
-        }
-      } else { /*if*/
-        /* Register variable[13]: Result */
-        variable[13] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-        /* Register variable[13]: Result */
-        variable[13] = CALL_abstract_collection___Collection___length(variable[13])(variable[13]) /*AbstractArrayRead::length*/;
-        /* Register variable[13]: Result */
-        variable[13] = TAG_Bool(UNTAG_Int(variable[13])>UNTAG_Int( TAG_Int(0)));
-        if (UNTAG_Bool(variable[13])) { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          variable[17] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
-          /* Register variable[18]: Once String constant */
-          if (once_value_344 != NIT_NULL) variable[18] = once_value_344;
-          else {
-            variable[18] = NEW_String_string___String___with_native(BOX_NativeString("Unknown token: "), TAG_Int(15)) /*new String*/;
-            once_value_344 = variable[18];
-          }
-          /* Register variable[18]: Result */
-          /* Ensure var variable[18]: super-string element*/
-          CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17], variable[18]) /*AbstractArray::add*/;
-          /* Register variable[18]: Result */
-          variable[18] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-          /* Ensure var variable[18]: super-string element*/
-          CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17], CALL_string___Object___to_s(variable[18])(variable[18]) /*Object::to_s*/) /*AbstractArray::add*/;
-          /* Register variable[18]: Once String constant */
-          if (once_value_345 != NIT_NULL) variable[18] = once_value_345;
-          else {
-            variable[18] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
-            once_value_345 = variable[18];
-          }
-          /* Register variable[18]: Result */
-          /* Ensure var variable[18]: super-string element*/
-          CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17], variable[18]) /*AbstractArray::add*/;
-          /* Register variable[17]: Result */
-          variable[17] = CALL_string___Object___to_s(variable[17])(variable[17]) /*Object::to_s*/;
-          /* Register variable[14]: Result */
-          variable[14] = NEW_PError_lexer___PError___init_error(variable[14], variable[15], variable[16], variable[17]) /*new PError*/;
-          variable[13] = variable[14];
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
-        } else { /*if*/
-          /* Register variable[13]: Local variable */
-          /* Register variable[14]: Result */
-          variable[14] = ATTR_lexer___Lexer____filename(variable[0]) /*Lexer::_filename*/;
-          /* Register variable[15]: Result */
-          variable[15] = TAG_Int(UNTAG_Int( variable[4] /*start_line*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[16]: Result */
-          variable[16] = TAG_Int(UNTAG_Int( variable[3] /*start_pos*/)+UNTAG_Int( TAG_Int(1)));
-          /* Register variable[14]: Result */
-          variable[14] = NEW_EOF_lexer___EOF___init(variable[14], variable[15], variable[16]) /*new EOF*/;
-          variable[13] = variable[14];
-          variable[1] =  variable[13] /*token*/;
-          goto return_label331;
+    } else {
+      /* ./parser//lexer.nit:1358 */
+      REGB11 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:216 */
+      REGB11 = TAG_Int(-UNTAG_Int(REGB11));
+      /* ./parser//lexer.nit:1358 */
+      REGB10 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB11));
+      if (UNTAG_Bool(REGB10)) {
+      } else {
+        /* ./../lib/standard//kernel.nit:207 */
+        REGB11 = TAG_Bool((REGB3)==(REGB11));
+        /* ./parser//lexer.nit:1358 */
+        REGB10 = REGB11;
+      }
+      REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
+      if (UNTAG_Bool(REGB10)) {
+        /* ./parser//lexer.nit:1359 */
+        REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
+        if (UNTAG_Bool(REGB10)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_filename", LOCATE_lexer, 1359);
+        }
+        fra.me.REG[2] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
+        REGB10 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
+        /* ./parser//lexer.nit:1359 */
+        REGB11 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
+        /* ./parser//lexer.nit:1359 */
+        REGB9 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
+        /* ./parser//lexer.nit:1359 */
+        fra.me.REG[2] = NEW_Location_location___Location___init(fra.me.REG[2], REGB10, REGB11, REGB9, REGB6);
+        /* ./parser//lexer.nit:1360 */
+        ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
+        /* ./parser//lexer.nit:1361 */
+        ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
+        /* ./parser//lexer.nit:1362 */
+        CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
+        /* ./parser//lexer.nit:1363 */
+        REGB9 = TAG_Int(0);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1363 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1364 */
+          fra.me.REG[3] = NIT_NULL;
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1366 */
+        REGB11 = TAG_Int(1);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1366 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1367 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1368 */
+          fra.me.REG[4] = NEW_TEol_lexer___TEol___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1370 */
+        REGB9 = TAG_Int(2);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1370 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1371 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1372 */
+          fra.me.REG[4] = NEW_TComment_lexer___TComment___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1374 */
+        REGB11 = TAG_Int(3);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1374 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1375 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1376 */
+          fra.me.REG[4] = NEW_TKwmodule_lexer___TKwmodule___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1378 */
+        REGB9 = TAG_Int(4);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1378 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1379 */
+          fra.me.REG[4] = NEW_TKwimport_lexer___TKwimport___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1381 */
+        REGB11 = TAG_Int(5);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1381 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1382 */
+          fra.me.REG[4] = NEW_TKwclass_lexer___TKwclass___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1384 */
+        REGB9 = TAG_Int(6);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1384 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1385 */
+          fra.me.REG[4] = NEW_TKwabstract_lexer___TKwabstract___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1387 */
+        REGB11 = TAG_Int(7);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1387 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1388 */
+          fra.me.REG[4] = NEW_TKwinterface_lexer___TKwinterface___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1390 */
+        REGB9 = TAG_Int(8);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1390 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1391 */
+          fra.me.REG[4] = NEW_TKwuniversal_lexer___TKwuniversal___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1393 */
+        REGB11 = TAG_Int(9);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1393 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1394 */
+          fra.me.REG[4] = NEW_TKwspecial_lexer___TKwspecial___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1396 */
+        REGB9 = TAG_Int(10);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1396 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1397 */
+          fra.me.REG[4] = NEW_TKwend_lexer___TKwend___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1399 */
+        REGB11 = TAG_Int(11);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1399 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1400 */
+          fra.me.REG[4] = NEW_TKwmeth_lexer___TKwmeth___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1402 */
+        REGB9 = TAG_Int(12);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1402 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1403 */
+          fra.me.REG[4] = NEW_TKwtype_lexer___TKwtype___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1405 */
+        REGB11 = TAG_Int(13);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1405 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1406 */
+          fra.me.REG[4] = NEW_TKwinit_lexer___TKwinit___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1408 */
+        REGB9 = TAG_Int(14);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1408 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1409 */
+          fra.me.REG[4] = NEW_TKwredef_lexer___TKwredef___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1411 */
+        REGB11 = TAG_Int(15);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1411 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1412 */
+          fra.me.REG[4] = NEW_TKwis_lexer___TKwis___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1414 */
+        REGB9 = TAG_Int(16);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1414 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1415 */
+          fra.me.REG[4] = NEW_TKwdo_lexer___TKwdo___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1417 */
+        REGB11 = TAG_Int(17);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1417 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1418 */
+          fra.me.REG[4] = NEW_TKwreadable_lexer___TKwreadable___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1420 */
+        REGB9 = TAG_Int(18);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1420 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1421 */
+          fra.me.REG[4] = NEW_TKwwritable_lexer___TKwwritable___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1423 */
+        REGB11 = TAG_Int(19);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1423 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1424 */
+          fra.me.REG[4] = NEW_TKwvar_lexer___TKwvar___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1426 */
+        REGB9 = TAG_Int(20);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1426 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1427 */
+          fra.me.REG[4] = NEW_TKwintern_lexer___TKwintern___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1429 */
+        REGB11 = TAG_Int(21);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1429 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1430 */
+          fra.me.REG[4] = NEW_TKwextern_lexer___TKwextern___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1432 */
+        REGB9 = TAG_Int(22);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1432 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1433 */
+          fra.me.REG[4] = NEW_TKwprotected_lexer___TKwprotected___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1435 */
+        REGB11 = TAG_Int(23);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1435 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1436 */
+          fra.me.REG[4] = NEW_TKwprivate_lexer___TKwprivate___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1438 */
+        REGB9 = TAG_Int(24);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1438 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1439 */
+          fra.me.REG[4] = NEW_TKwintrude_lexer___TKwintrude___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1441 */
+        REGB11 = TAG_Int(25);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1441 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1442 */
+          fra.me.REG[4] = NEW_TKwif_lexer___TKwif___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1444 */
+        REGB9 = TAG_Int(26);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1444 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1445 */
+          fra.me.REG[4] = NEW_TKwthen_lexer___TKwthen___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1447 */
+        REGB11 = TAG_Int(27);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1447 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1448 */
+          fra.me.REG[4] = NEW_TKwelse_lexer___TKwelse___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1450 */
+        REGB9 = TAG_Int(28);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1450 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1451 */
+          fra.me.REG[4] = NEW_TKwwhile_lexer___TKwwhile___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1453 */
+        REGB11 = TAG_Int(29);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1453 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1454 */
+          fra.me.REG[4] = NEW_TKwloop_lexer___TKwloop___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1456 */
+        REGB9 = TAG_Int(30);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1456 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1457 */
+          fra.me.REG[4] = NEW_TKwfor_lexer___TKwfor___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1459 */
+        REGB11 = TAG_Int(31);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1459 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1460 */
+          fra.me.REG[4] = NEW_TKwin_lexer___TKwin___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1462 */
+        REGB9 = TAG_Int(32);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1462 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1463 */
+          fra.me.REG[4] = NEW_TKwand_lexer___TKwand___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1465 */
+        REGB11 = TAG_Int(33);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1465 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1466 */
+          fra.me.REG[4] = NEW_TKwor_lexer___TKwor___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1468 */
+        REGB9 = TAG_Int(34);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1468 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1469 */
+          fra.me.REG[4] = NEW_TKwnot_lexer___TKwnot___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1471 */
+        REGB11 = TAG_Int(35);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1471 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1472 */
+          fra.me.REG[4] = NEW_TKwreturn_lexer___TKwreturn___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1474 */
+        REGB9 = TAG_Int(36);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1474 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1475 */
+          fra.me.REG[4] = NEW_TKwcontinue_lexer___TKwcontinue___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1477 */
+        REGB11 = TAG_Int(37);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1477 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1478 */
+          fra.me.REG[4] = NEW_TKwbreak_lexer___TKwbreak___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1480 */
+        REGB9 = TAG_Int(38);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1480 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1481 */
+          fra.me.REG[4] = NEW_TKwabort_lexer___TKwabort___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1483 */
+        REGB11 = TAG_Int(39);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1483 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1484 */
+          fra.me.REG[4] = NEW_TKwassert_lexer___TKwassert___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1486 */
+        REGB9 = TAG_Int(40);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1486 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1487 */
+          fra.me.REG[4] = NEW_TKwnew_lexer___TKwnew___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1489 */
+        REGB11 = TAG_Int(41);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1489 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1490 */
+          fra.me.REG[4] = NEW_TKwisa_lexer___TKwisa___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1492 */
+        REGB9 = TAG_Int(42);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1492 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1493 */
+          fra.me.REG[4] = NEW_TKwonce_lexer___TKwonce___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1495 */
+        REGB11 = TAG_Int(43);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1495 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1496 */
+          fra.me.REG[4] = NEW_TKwsuper_lexer___TKwsuper___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1498 */
+        REGB9 = TAG_Int(44);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1498 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1499 */
+          fra.me.REG[4] = NEW_TKwself_lexer___TKwself___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1501 */
+        REGB11 = TAG_Int(45);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1501 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1502 */
+          fra.me.REG[4] = NEW_TKwtrue_lexer___TKwtrue___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1504 */
+        REGB9 = TAG_Int(46);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1504 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1505 */
+          fra.me.REG[4] = NEW_TKwfalse_lexer___TKwfalse___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1507 */
+        REGB11 = TAG_Int(47);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1507 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1508 */
+          fra.me.REG[4] = NEW_TKwnull_lexer___TKwnull___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1510 */
+        REGB9 = TAG_Int(48);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1510 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1511 */
+          fra.me.REG[4] = NEW_TKwas_lexer___TKwas___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1513 */
+        REGB11 = TAG_Int(49);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1513 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1514 */
+          fra.me.REG[4] = NEW_TKwnullable_lexer___TKwnullable___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1516 */
+        REGB9 = TAG_Int(50);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1516 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1517 */
+          fra.me.REG[4] = NEW_TKwisset_lexer___TKwisset___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1519 */
+        REGB11 = TAG_Int(51);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1519 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1520 */
+          fra.me.REG[4] = NEW_TKwlabel_lexer___TKwlabel___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1522 */
+        REGB9 = TAG_Int(52);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1522 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1523 */
+          fra.me.REG[4] = NEW_TOpar_lexer___TOpar___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1525 */
+        REGB11 = TAG_Int(53);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1525 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1526 */
+          fra.me.REG[4] = NEW_TCpar_lexer___TCpar___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1528 */
+        REGB9 = TAG_Int(54);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1528 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1529 */
+          fra.me.REG[4] = NEW_TObra_lexer___TObra___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1531 */
+        REGB11 = TAG_Int(55);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1531 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1532 */
+          fra.me.REG[4] = NEW_TCbra_lexer___TCbra___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1534 */
+        REGB9 = TAG_Int(56);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1534 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1535 */
+          fra.me.REG[4] = NEW_TComma_lexer___TComma___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1537 */
+        REGB11 = TAG_Int(57);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1537 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1538 */
+          fra.me.REG[4] = NEW_TColumn_lexer___TColumn___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1540 */
+        REGB9 = TAG_Int(58);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1540 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1541 */
+          fra.me.REG[4] = NEW_TQuad_lexer___TQuad___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1543 */
+        REGB11 = TAG_Int(59);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1543 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1544 */
+          fra.me.REG[4] = NEW_TAssign_lexer___TAssign___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1546 */
+        REGB9 = TAG_Int(60);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1546 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1547 */
+          fra.me.REG[4] = NEW_TPluseq_lexer___TPluseq___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1549 */
+        REGB11 = TAG_Int(61);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1549 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1550 */
+          fra.me.REG[4] = NEW_TMinuseq_lexer___TMinuseq___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1552 */
+        REGB9 = TAG_Int(62);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1552 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1553 */
+          fra.me.REG[4] = NEW_TDotdotdot_lexer___TDotdotdot___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1555 */
+        REGB11 = TAG_Int(63);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1555 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1556 */
+          fra.me.REG[4] = NEW_TDotdot_lexer___TDotdot___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1558 */
+        REGB9 = TAG_Int(64);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1558 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1559 */
+          fra.me.REG[4] = NEW_TDot_lexer___TDot___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1561 */
+        REGB11 = TAG_Int(65);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1561 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1562 */
+          fra.me.REG[4] = NEW_TPlus_lexer___TPlus___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1564 */
+        REGB9 = TAG_Int(66);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1564 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1565 */
+          fra.me.REG[4] = NEW_TMinus_lexer___TMinus___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1567 */
+        REGB11 = TAG_Int(67);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1567 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1568 */
+          fra.me.REG[4] = NEW_TStar_lexer___TStar___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1570 */
+        REGB9 = TAG_Int(68);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1570 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1571 */
+          fra.me.REG[4] = NEW_TSlash_lexer___TSlash___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1573 */
+        REGB11 = TAG_Int(69);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1573 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1574 */
+          fra.me.REG[4] = NEW_TPercent_lexer___TPercent___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1576 */
+        REGB9 = TAG_Int(70);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1576 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1577 */
+          fra.me.REG[4] = NEW_TEq_lexer___TEq___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1579 */
+        REGB11 = TAG_Int(71);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1579 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1580 */
+          fra.me.REG[4] = NEW_TNe_lexer___TNe___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1582 */
+        REGB9 = TAG_Int(72);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1582 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1583 */
+          fra.me.REG[4] = NEW_TLt_lexer___TLt___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1585 */
+        REGB11 = TAG_Int(73);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1585 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1586 */
+          fra.me.REG[4] = NEW_TLe_lexer___TLe___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1588 */
+        REGB9 = TAG_Int(74);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1588 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1589 */
+          fra.me.REG[4] = NEW_TLl_lexer___TLl___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1591 */
+        REGB11 = TAG_Int(75);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1591 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1592 */
+          fra.me.REG[4] = NEW_TGt_lexer___TGt___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1594 */
+        REGB9 = TAG_Int(76);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1594 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1595 */
+          fra.me.REG[4] = NEW_TGe_lexer___TGe___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1597 */
+        REGB11 = TAG_Int(77);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1597 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1598 */
+          fra.me.REG[4] = NEW_TGg_lexer___TGg___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1600 */
+        REGB9 = TAG_Int(78);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1600 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1601 */
+          fra.me.REG[4] = NEW_TStarship_lexer___TStarship___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1603 */
+        REGB11 = TAG_Int(79);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1603 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1604 */
+          fra.me.REG[4] = NEW_TBang_lexer___TBang___init_tk(fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1606 */
+        REGB9 = TAG_Int(80);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1606 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1607 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1608 */
+          fra.me.REG[4] = NEW_TClassid_lexer___TClassid___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1610 */
+        REGB11 = TAG_Int(81);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1610 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1611 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1612 */
+          fra.me.REG[4] = NEW_TId_lexer___TId___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1614 */
+        REGB9 = TAG_Int(82);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1614 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1615 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1616 */
+          fra.me.REG[4] = NEW_TAttrid_lexer___TAttrid___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1618 */
+        REGB11 = TAG_Int(83);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1618 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1619 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1620 */
+          fra.me.REG[4] = NEW_TNumber_lexer___TNumber___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1622 */
+        REGB9 = TAG_Int(84);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1622 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1623 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1624 */
+          fra.me.REG[4] = NEW_TFloat_lexer___TFloat___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1626 */
+        REGB11 = TAG_Int(85);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1626 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1627 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1628 */
+          fra.me.REG[4] = NEW_TChar_lexer___TChar___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1630 */
+        REGB9 = TAG_Int(86);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1630 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1631 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1632 */
+          fra.me.REG[4] = NEW_TString_lexer___TString___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1634 */
+        REGB11 = TAG_Int(87);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1634 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1635 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1636 */
+          fra.me.REG[4] = NEW_TStartString_lexer___TStartString___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1638 */
+        REGB9 = TAG_Int(88);
+        REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
+        if (UNTAG_Bool(REGB11)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB9 = TAG_Bool((REGB4)==(REGB9));
+          /* ./parser//lexer.nit:1638 */
+          REGB11 = REGB9;
+        }
+        if (UNTAG_Bool(REGB11)) {
+          /* ./parser//lexer.nit:1639 */
+          REGB11 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
+          /* ./parser//lexer.nit:1640 */
+          fra.me.REG[4] = NEW_TMidString_lexer___TMidString___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        }
+        /* ./parser//lexer.nit:1642 */
+        REGB11 = TAG_Int(89);
+        REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          /* ./../lib/standard//kernel.nit:207 */
+          REGB11 = TAG_Bool((REGB4)==(REGB11));
+          /* ./parser//lexer.nit:1642 */
+          REGB9 = REGB11;
+        }
+        if (UNTAG_Bool(REGB9)) {
+          /* ./parser//lexer.nit:1643 */
+          REGB9 = TAG_Int(0);
+          fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
+          /* ./parser//lexer.nit:1644 */
+          fra.me.REG[2] = NEW_TEndString_lexer___TEndString___init_tk(fra.me.REG[4], fra.me.REG[2]);
+          fra.me.REG[3] = fra.me.REG[2];
+          goto label3;
+        }
+      } else {
+        /* ./parser//lexer.nit:1647 */
+        REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
+        if (UNTAG_Bool(REGB9)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_filename", LOCATE_lexer, 1647);
+        }
+        fra.me.REG[2] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
+        REGB9 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
+        /* ./parser//lexer.nit:1647 */
+        REGB11 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
+        /* ./parser//lexer.nit:1647 */
+        REGB10 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
+        /* ./parser//lexer.nit:1647 */
+        REGB8 = TAG_Int(1);
+        /* ./../lib/standard//kernel.nit:215 */
+        REGB8 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB8));
+        /* ./parser//lexer.nit:1647 */
+        fra.me.REG[2] = NEW_Location_location___Location___init(fra.me.REG[2], REGB9, REGB11, REGB10, REGB8);
+        /* ./../lib/standard//collection//array.nit:23 */
+        REGB8 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+        if (UNTAG_Bool(REGB8)) {
+        } else {
+          nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+        }
+        REGB8 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+        /* ./parser//lexer.nit:1648 */
+        REGB10 = TAG_Int(0);
+        /* ./../lib/standard//kernel.nit:214 */
+        REGB10 = TAG_Bool(UNTAG_Int(REGB8)>UNTAG_Int(REGB10));
+        /* ./parser//lexer.nit:1648 */
+        if (UNTAG_Bool(REGB10)) {
+          /* ./parser//lexer.nit:1649 */
+          REGB10 = TAG_Int(3);
+          fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB10);
+          if (!once_value_4) {
+            fra.me.REG[5] = BOX_NativeString("Syntax error: unknown token ");
+            REGB10 = TAG_Int(28);
+            fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB10);
+            once_value_4 = fra.me.REG[5];
+            register_static_object(&once_value_4);
+          } else fra.me.REG[5] = once_value_4;
+          fra.me.REG[5] = fra.me.REG[5];
+          CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+          fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
+          CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+          if (!once_value_5) {
+            fra.me.REG[5] = BOX_NativeString(".");
+            REGB10 = TAG_Int(1);
+            fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB10);
+            once_value_5 = fra.me.REG[5];
+            register_static_object(&once_value_5);
+          } else fra.me.REG[5] = once_value_5;
+          fra.me.REG[5] = fra.me.REG[5];
+          CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+          fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
+          fra.me.REG[4] = NEW_AError_lexer___AError___init_error(fra.me.REG[4], fra.me.REG[2]);
+          /* ./parser//lexer.nit:1650 */
+          fra.me.REG[3] = fra.me.REG[4];
+          goto label3;
+        } else {
+          /* ./parser//lexer.nit:1652 */
+          fra.me.REG[2] = NEW_EOF_lexer___EOF___init(fra.me.REG[2]);
+          /* ./parser//lexer.nit:1653 */
+          fra.me.REG[3] = fra.me.REG[2];
+          goto label3;
         }
       }
     }
-    continue_334: while(0);
+    /* ./parser//lexer.nit:1657 */
+    REGB10 = TAG_Bool(false);
+    if (UNTAG_Bool(REGB10)) {
+      goto label6;
+    }
   }
-  break_334: while(0);
-  variable[1] =  NIT_NULL /*null*/;
-  goto return_label331;
-  return_label331: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-val_t lexer___Lexer___get_char(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 2125, LOCATE_lexer___Lexer___get_char};
-  val_t variable[7];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  /* Register variable[2]: Result */
-  variable[2] = ATTR_lexer___Lexer____eof(variable[0]) /*Lexer::_eof*/;
-  if (UNTAG_Bool(variable[2])) { /*if*/
-    /* Register variable[2]: Result */
-    variable[2] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    variable[1] = variable[2];
-    goto return_label346;
+  label6: while(0);
+  /* ./parser//lexer.nit:1659 */
+  fra.me.REG[3] = NIT_NULL;
+  goto label3;
+  label3: while(0);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[3];
+}
+val_t lexer___Lexer___get_char(val_t p0){
+  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+  val_t REGB0;
+  val_t REGB1;
+  val_t REGB2;
+  val_t REGB3;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1662;
+  fra.me.meth = LOCATE_lexer___Lexer___get_char;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 2;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./parser//lexer.nit:1666 */
+  REGB0 = TAG_Bool(ATTR_lexer___Lexer____eof(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_eof", LOCATE_lexer, 1666);
   }
-  /* Register variable[2]: Local variable */
-  /*variable[2] is variable result*/
-  /* Register variable[3]: Local variable */
-  /* Register variable[4]: Result */
-  variable[4] = ATTR_lexer___Lexer____stream_pos(variable[0]) /*Lexer::_stream_pos*/;
-  variable[3] = variable[4];
-  /* Register variable[4]: Result */
-  variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*sp*/)>=UNTAG_Int( TAG_Int(0)));
-  if (UNTAG_Bool(variable[4])) { /*if*/
-    /* Register variable[4]: Local variable */
-    /* Register variable[5]: Result */
-    variable[5] = ATTR_lexer___Lexer____stream_buf(variable[0]) /*Lexer::_stream_buf*/;
-    /* Register variable[6]: Result */
-    variable[6] = ATTR_lexer___Lexer____stream_pos(variable[0]) /*Lexer::_stream_pos*/;
-    /* Register variable[5]: Result */
-    variable[5] = CALL_abstract_collection___MapRead_____bra(variable[5])(variable[5], variable[6]) /*AbstractString::[]*/;
-    variable[4] = variable[5];
-    /* Register variable[5]: Result */
-    variable[5] = TAG_Int(UNTAG_Int( variable[3] /*sp*/)-UNTAG_Int( TAG_Int(1)));
-    ATTR_lexer___Lexer____stream_pos(variable[0]) /*Lexer::_stream_pos*/ = variable[5];
-    /* Register variable[5]: Result */
-    variable[5] = TAG_Int((unsigned char)UNTAG_Char( variable[4] /*res*/));
-    variable[2] = variable[5] /*result=*/;
-  } else { /*if*/
-    /* Register variable[4]: Result */
-    variable[4] = ATTR_lexer___Lexer____stream(variable[0]) /*Lexer::_stream*/;
-    /* Register variable[4]: Result */
-    variable[4] = CALL_stream___IStream___read_char(variable[4])(variable[4]) /*IStream::read_char*/;
-    variable[2] = variable[4] /*result=*/;
+  REGB0 = ATTR_lexer___Lexer____eof(fra.me.REG[0]);
+  if (UNTAG_Bool(REGB0)) {
+    /* ./parser//lexer.nit:1667 */
+    REGB0 = TAG_Int(1);
+    /* ./../lib/standard//kernel.nit:216 */
+    REGB0 = TAG_Int(-UNTAG_Int(REGB0));
+    /* ./parser//lexer.nit:1667 */
+    goto label1;
   }
-  /* Register variable[4]: Result */
-  variable[4] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  /* Register variable[4]: Result */
-  variable[4] = TAG_Bool(( variable[2] /*result*/)==(variable[4]));
-  if (UNTAG_Bool(variable[4])) { /*if*/
-    ATTR_lexer___Lexer____eof(variable[0]) /*Lexer::_eof*/ =  TAG_Bool(true);
+  /* ./parser//lexer.nit:1672 */
+  REGB1 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB1)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1672);
   }
-  variable[1] =  variable[2] /*result*/;
-  goto return_label346;
-  return_label346: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___Lexer___push_back(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, NULL, 2151, LOCATE_lexer___Lexer___push_back};
-  val_t variable[8];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* 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_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-  /* Register variable[4]: Result */
-  variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArrayRead::length*/;
-  variable[3] = variable[4];
-  /* Register variable[4]: Local variable */
-  /* Register variable[5]: Result */
-  variable[5] = TAG_Int(UNTAG_Int( variable[3] /*length*/)-UNTAG_Int( TAG_Int(1)));
-  variable[4] = variable[5];
-  while (true) { /*while*/
-    /* Register variable[5]: Result */
-    variable[5] = TAG_Bool(UNTAG_Int( variable[4] /*i*/)>=UNTAG_Int( variable[1] /*accept_length*/));
-    if (!UNTAG_Bool(variable[5])) break; /* while*/
-    ATTR_lexer___Lexer____eof(variable[0]) /*Lexer::_eof*/ =  TAG_Bool(false);
-    /* Register variable[5]: Result */
-    variable[5] = ATTR_lexer___Lexer____stream_pos(variable[0]) /*Lexer::_stream_pos*/;
-    /* Register variable[5]: Result */
-    variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1)));
-    ATTR_lexer___Lexer____stream_pos(variable[0]) /*Lexer::_stream_pos*/ = variable[5];
-    /* Register variable[5]: Result */
-    variable[5] = ATTR_lexer___Lexer____stream_buf(variable[0]) /*Lexer::_stream_buf*/;
-    /* Register variable[6]: Result */
-    variable[6] = ATTR_lexer___Lexer____stream_pos(variable[0]) /*Lexer::_stream_pos*/;
-    /* Register variable[7]: Result */
-    variable[7] = ATTR_lexer___Lexer____text(variable[0]) /*Lexer::_text*/;
-    /* Register variable[7]: Result */
-    variable[7] = CALL_abstract_collection___MapRead_____bra(variable[7])(variable[7],  variable[4] /*i*/) /*AbstractString::[]*/;
-    CALL_abstract_collection___Map_____braeq(variable[5])(variable[5], variable[6], variable[7]) /*Buffer::[]=*/;
-    /* Register variable[5]: Result */
-    variable[5] = TAG_Int(UNTAG_Int( variable[4] /*i*/)-UNTAG_Int( TAG_Int(1)));
-    variable[4] = variable[5] /*i=*/;
-    continue_348: while(0);
+  REGB1 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
+  /* ./parser//lexer.nit:1673 */
+  REGB2 = TAG_Int(0);
+  /* ./../lib/standard//kernel.nit:213 */
+  REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
+  /* ./parser//lexer.nit:1673 */
+  if (UNTAG_Bool(REGB2)) {
+    /* ./parser//lexer.nit:1674 */
+    REGB2 = TAG_Bool(ATTR_lexer___Lexer____stream_buf(fra.me.REG[0])!=NIT_NULL);
+    if (UNTAG_Bool(REGB2)) {
+    } else {
+      nit_abort("Uninitialized attribute %s", "_stream_buf", LOCATE_lexer, 1674);
+    }
+    fra.me.REG[1] = ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]);
+    REGB2 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
+    if (UNTAG_Bool(REGB2)) {
+    } else {
+      nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1674);
+    }
+    REGB2 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
+    REGB2 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB2);
+    /* ./parser//lexer.nit:1675 */
+    REGB3 = TAG_Int(1);
+    /* ./../lib/standard//kernel.nit:217 */
+    REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
+    /* ./parser//lexer.nit:1675 */
+    ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB3;
+    /* ./../lib/standard//kernel.nit:382 */
+    REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
+  } else {
+    /* ./parser//lexer.nit:1678 */
+    REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream(fra.me.REG[0])!=NIT_NULL);
+    if (UNTAG_Bool(REGB3)) {
+    } else {
+      nit_abort("Uninitialized attribute %s", "_stream", LOCATE_lexer, 1678);
+    }
+    fra.me.REG[1] = ATTR_lexer___Lexer____stream(fra.me.REG[0]);
+    REGB3 = CALL_stream___IStream___read_char(fra.me.REG[1])(fra.me.REG[1]);
+    REGB2 = REGB3;
   }
-  break_348: while(0);
-  return_label347: while(false);
-  tracehead = trace.prev;
-  return;
-}
-void lexer___Lexer___build_goto_table(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 2166, LOCATE_lexer___Lexer___build_goto_table};
-  static val_t once_value_350; static int once_bool_350; /* Once value for variable[2]*/
-  val_t variable[271];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  /* Register variable[2]: Once expression result */
-  if (once_bool_350) variable[2] = once_value_350;
-  else {
-    variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Array[Array[Int]]]]*/ /* Ensure var: Literal array*/;
-    variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(265)) /*new Array[Array[Array[Int]]]*/ /* Ensure var: Literal array*/;
-    variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(48)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5],  TAG_Int(1)) /*AbstractArray::add*/;
-    /* Register variable[5]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
-    variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6],  TAG_Int(10)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6],  TAG_Int(10)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6],  TAG_Int(2)) /*AbstractArray::add*/;
-    /* Register variable[6]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
-    variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  TAG_Int(13)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  TAG_Int(13)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  TAG_Int(3)) /*AbstractArray::add*/;
-    /* Register variable[7]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
-    variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8],  TAG_Int(32)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8],  TAG_Int(32)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8],  TAG_Int(4)) /*AbstractArray::add*/;
-    /* Register variable[8]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
-    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  TAG_Int(33)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  TAG_Int(33)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  TAG_Int(5)) /*AbstractArray::add*/;
-    /* Register variable[9]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
-    variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10],  TAG_Int(34)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10],  TAG_Int(34)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10],  TAG_Int(6)) /*AbstractArray::add*/;
-    /* Register variable[10]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
-    variable[11] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11],  TAG_Int(35)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11],  TAG_Int(35)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11],  TAG_Int(7)) /*AbstractArray::add*/;
-    /* Register variable[11]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
-    variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12],  TAG_Int(37)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12],  TAG_Int(37)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12],  TAG_Int(8)) /*AbstractArray::add*/;
-    /* Register variable[12]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[12]) /*AbstractArray::add*/;
-    variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13],  TAG_Int(39)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13],  TAG_Int(39)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13],  TAG_Int(9)) /*AbstractArray::add*/;
-    /* Register variable[13]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[13]) /*AbstractArray::add*/;
-    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(40)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(40)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(10)) /*AbstractArray::add*/;
-    /* Register variable[14]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[14]) /*AbstractArray::add*/;
-    variable[15] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(41)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(41)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(11)) /*AbstractArray::add*/;
-    /* Register variable[15]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[15]) /*AbstractArray::add*/;
-    variable[16] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(42)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(42)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(12)) /*AbstractArray::add*/;
-    /* Register variable[16]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[16]) /*AbstractArray::add*/;
-    variable[17] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17],  TAG_Int(43)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17],  TAG_Int(43)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17],  TAG_Int(13)) /*AbstractArray::add*/;
-    /* Register variable[17]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[17]) /*AbstractArray::add*/;
-    variable[18] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(44)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(44)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(14)) /*AbstractArray::add*/;
-    /* Register variable[18]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[18]) /*AbstractArray::add*/;
-    variable[19] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[19])(variable[19],  TAG_Int(45)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[19])(variable[19],  TAG_Int(45)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[19])(variable[19],  TAG_Int(15)) /*AbstractArray::add*/;
-    /* Register variable[19]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[19]) /*AbstractArray::add*/;
-    variable[20] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[20])(variable[20],  TAG_Int(46)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[20])(variable[20],  TAG_Int(46)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[20])(variable[20],  TAG_Int(16)) /*AbstractArray::add*/;
-    /* Register variable[20]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[20]) /*AbstractArray::add*/;
-    variable[21] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[21])(variable[21],  TAG_Int(47)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[21])(variable[21],  TAG_Int(47)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[21])(variable[21],  TAG_Int(17)) /*AbstractArray::add*/;
-    /* Register variable[21]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[21]) /*AbstractArray::add*/;
-    variable[22] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[22])(variable[22],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[22])(variable[22],  TAG_Int(57)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[22])(variable[22],  TAG_Int(18)) /*AbstractArray::add*/;
-    /* Register variable[22]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[22]) /*AbstractArray::add*/;
-    variable[23] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[23])(variable[23],  TAG_Int(58)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[23])(variable[23],  TAG_Int(58)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[23])(variable[23],  TAG_Int(19)) /*AbstractArray::add*/;
-    /* Register variable[23]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[23]) /*AbstractArray::add*/;
-    variable[24] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24],  TAG_Int(60)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24],  TAG_Int(60)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24],  TAG_Int(20)) /*AbstractArray::add*/;
-    /* Register variable[24]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[24]) /*AbstractArray::add*/;
-    variable[25] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[25])(variable[25],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[25])(variable[25],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[25])(variable[25],  TAG_Int(21)) /*AbstractArray::add*/;
-    /* Register variable[25]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[25]) /*AbstractArray::add*/;
-    variable[26] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[26])(variable[26],  TAG_Int(62)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[26])(variable[26],  TAG_Int(62)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[26])(variable[26],  TAG_Int(22)) /*AbstractArray::add*/;
-    /* Register variable[26]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[26]) /*AbstractArray::add*/;
-    variable[27] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27],  TAG_Int(65)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27],  TAG_Int(90)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27],  TAG_Int(23)) /*AbstractArray::add*/;
-    /* Register variable[27]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[27]) /*AbstractArray::add*/;
-    variable[28] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[28])(variable[28],  TAG_Int(91)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[28])(variable[28],  TAG_Int(91)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[28])(variable[28],  TAG_Int(24)) /*AbstractArray::add*/;
-    /* Register variable[28]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[28]) /*AbstractArray::add*/;
-    variable[29] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[29])(variable[29],  TAG_Int(93)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[29])(variable[29],  TAG_Int(93)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[29])(variable[29],  TAG_Int(25)) /*AbstractArray::add*/;
-    /* Register variable[29]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[29]) /*AbstractArray::add*/;
-    variable[30] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[30])(variable[30],  TAG_Int(95)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[30])(variable[30],  TAG_Int(95)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[30])(variable[30],  TAG_Int(26)) /*AbstractArray::add*/;
-    /* Register variable[30]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[30]) /*AbstractArray::add*/;
-    variable[31] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31],  TAG_Int(27)) /*AbstractArray::add*/;
-    /* Register variable[31]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[31]) /*AbstractArray::add*/;
-    variable[32] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32],  TAG_Int(28)) /*AbstractArray::add*/;
-    /* Register variable[32]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[32]) /*AbstractArray::add*/;
-    variable[33] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33],  TAG_Int(29)) /*AbstractArray::add*/;
-    /* Register variable[33]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[33]) /*AbstractArray::add*/;
-    variable[34] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(30)) /*AbstractArray::add*/;
-    /* Register variable[34]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[34]) /*AbstractArray::add*/;
-    variable[35] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(31)) /*AbstractArray::add*/;
-    /* Register variable[35]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[35]) /*AbstractArray::add*/;
-    variable[36] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(32)) /*AbstractArray::add*/;
-    /* Register variable[36]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[36]) /*AbstractArray::add*/;
-    variable[37] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(103)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(33)) /*AbstractArray::add*/;
-    /* Register variable[37]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[37]) /*AbstractArray::add*/;
-    variable[38] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(34)) /*AbstractArray::add*/;
-    /* Register variable[38]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[38]) /*AbstractArray::add*/;
-    variable[39] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(33)) /*AbstractArray::add*/;
-    /* Register variable[39]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[39]) /*AbstractArray::add*/;
-    variable[40] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(35)) /*AbstractArray::add*/;
-    /* Register variable[40]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[40]) /*AbstractArray::add*/;
-    variable[41] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(36)) /*AbstractArray::add*/;
-    /* Register variable[41]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[41]) /*AbstractArray::add*/;
-    variable[42] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(37)) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[42]) /*AbstractArray::add*/;
-    variable[43] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(38)) /*AbstractArray::add*/;
-    /* Register variable[43]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[43]) /*AbstractArray::add*/;
-    variable[44] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(33)) /*AbstractArray::add*/;
-    /* Register variable[44]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[44]) /*AbstractArray::add*/;
-    variable[45] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(39)) /*AbstractArray::add*/;
-    /* Register variable[45]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[45]) /*AbstractArray::add*/;
-    variable[46] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(40)) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[46]) /*AbstractArray::add*/;
-    variable[47] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(41)) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[47]) /*AbstractArray::add*/;
-    variable[48] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(42)) /*AbstractArray::add*/;
-    /* Register variable[48]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[48]) /*AbstractArray::add*/;
-    variable[49] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(43)) /*AbstractArray::add*/;
-    /* Register variable[49]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[49]) /*AbstractArray::add*/;
-    variable[50] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(119)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(119)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(44)) /*AbstractArray::add*/;
-    /* Register variable[50]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[50]) /*AbstractArray::add*/;
-    variable[51] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(120)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(33)) /*AbstractArray::add*/;
-    /* Register variable[51]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[51]) /*AbstractArray::add*/;
-    variable[52] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(125)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(125)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(45)) /*AbstractArray::add*/;
-    /* Register variable[52]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[52]) /*AbstractArray::add*/;
-    /* Register variable[4]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
-    variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6],  TAG_Int(1)) /*AbstractArray::add*/;
-    /* Register variable[6]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
-    variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  TAG_Int(32)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  TAG_Int(32)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7],  TAG_Int(4)) /*AbstractArray::add*/;
-    /* Register variable[7]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
-    /* Register variable[5]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
-    /* Register variable[6]: Result */
-    variable[6] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[6]) /*AbstractArray::add*/;
-    variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8],  TAG_Int(10)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8],  TAG_Int(10)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8],  TAG_Int(46)) /*AbstractArray::add*/;
-    /* Register variable[8]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
-    /* Register variable[7]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
-    variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9],  TAG_Int(32)) /*AbstractArray::add*/;
-    /* Register variable[10]: Result */
-    variable[10] = TAG_Int(-UNTAG_Int( TAG_Int(3)));
-    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
-    /* Register variable[9]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
-    /* Register variable[8]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[8]) /*AbstractArray::add*/;
-    variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10],  TAG_Int(47)) /*AbstractArray::add*/;
-    /* Register variable[10]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
-    /* Register variable[9]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
-    variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[11] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11],  TAG_Int(48)) /*AbstractArray::add*/;
-    /* Register variable[11]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
-    variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12],  TAG_Int(11)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12],  TAG_Int(12)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12],  TAG_Int(48)) /*AbstractArray::add*/;
-    /* Register variable[12]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[12]) /*AbstractArray::add*/;
-    variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13],  TAG_Int(14)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13],  TAG_Int(33)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13],  TAG_Int(48)) /*AbstractArray::add*/;
-    /* Register variable[13]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[13]) /*AbstractArray::add*/;
-    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(34)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(34)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(49)) /*AbstractArray::add*/;
-    /* Register variable[14]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[14]) /*AbstractArray::add*/;
-    variable[15] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(35)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(91)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(48)) /*AbstractArray::add*/;
-    /* Register variable[15]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[15]) /*AbstractArray::add*/;
-    variable[16] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(92)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(92)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(50)) /*AbstractArray::add*/;
-    /* Register variable[16]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[16]) /*AbstractArray::add*/;
-    variable[17] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17],  TAG_Int(93)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17],  TAG_Int(48)) /*AbstractArray::add*/;
-    /* Register variable[17]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[17]) /*AbstractArray::add*/;
-    variable[18] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(123)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(123)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(51)) /*AbstractArray::add*/;
-    /* Register variable[18]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[18]) /*AbstractArray::add*/;
-    variable[19] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[19])(variable[19],  TAG_Int(124)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[19])(variable[19],  TAG_Int(255)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[19])(variable[19],  TAG_Int(48)) /*AbstractArray::add*/;
-    /* Register variable[19]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[19]) /*AbstractArray::add*/;
-    /* Register variable[10]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[10]) /*AbstractArray::add*/;
-    variable[11] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12],  TAG_Int(52)) /*AbstractArray::add*/;
-    /* Register variable[12]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[12]) /*AbstractArray::add*/;
-    variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13],  TAG_Int(10)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13],  TAG_Int(10)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13],  TAG_Int(53)) /*AbstractArray::add*/;
-    /* Register variable[13]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[13]) /*AbstractArray::add*/;
-    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(11)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(12)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(52)) /*AbstractArray::add*/;
-    /* Register variable[14]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[14]) /*AbstractArray::add*/;
-    variable[15] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(13)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(13)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(54)) /*AbstractArray::add*/;
-    /* Register variable[15]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[15]) /*AbstractArray::add*/;
-    variable[16] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(14)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(255)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(52)) /*AbstractArray::add*/;
-    /* Register variable[16]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[16]) /*AbstractArray::add*/;
-    /* Register variable[11]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[11]) /*AbstractArray::add*/;
-    /* Register variable[12]: Result */
-    variable[12] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[12]) /*AbstractArray::add*/;
-    variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14],  TAG_Int(55)) /*AbstractArray::add*/;
-    /* Register variable[14]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
-    variable[15] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(11)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(12)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[15])(variable[15],  TAG_Int(55)) /*AbstractArray::add*/;
-    /* Register variable[15]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[15]) /*AbstractArray::add*/;
-    variable[16] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(14)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(38)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[16])(variable[16],  TAG_Int(55)) /*AbstractArray::add*/;
-    /* Register variable[16]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[16]) /*AbstractArray::add*/;
-    variable[17] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17],  TAG_Int(39)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17],  TAG_Int(39)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17],  TAG_Int(56)) /*AbstractArray::add*/;
-    /* Register variable[17]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[17]) /*AbstractArray::add*/;
-    variable[18] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(40)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(255)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(55)) /*AbstractArray::add*/;
-    /* Register variable[18]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[18]) /*AbstractArray::add*/;
-    /* Register variable[13]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[13]) /*AbstractArray::add*/;
-    /* Register variable[14]: Result */
-    variable[14] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[14]) /*AbstractArray::add*/;
-    /* Register variable[15]: Result */
-    variable[15] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[15]) /*AbstractArray::add*/;
-    /* Register variable[16]: Result */
-    variable[16] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[16]) /*AbstractArray::add*/;
-    variable[17] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[18] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[18])(variable[18],  TAG_Int(57)) /*AbstractArray::add*/;
-    /* Register variable[18]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[17])(variable[17], variable[18]) /*AbstractArray::add*/;
-    /* Register variable[17]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[17]) /*AbstractArray::add*/;
-    /* Register variable[18]: Result */
-    variable[18] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[18]) /*AbstractArray::add*/;
-    variable[19] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[20] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[20])(variable[20],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[20])(variable[20],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[20])(variable[20],  TAG_Int(58)) /*AbstractArray::add*/;
-    /* Register variable[20]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[19])(variable[19], variable[20]) /*AbstractArray::add*/;
-    /* Register variable[19]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[19]) /*AbstractArray::add*/;
-    variable[20] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[21] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[21])(variable[21],  TAG_Int(46)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[21])(variable[21],  TAG_Int(46)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[21])(variable[21],  TAG_Int(59)) /*AbstractArray::add*/;
-    /* Register variable[21]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[20])(variable[20], variable[21]) /*AbstractArray::add*/;
-    variable[22] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[22])(variable[22],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[22])(variable[22],  TAG_Int(57)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[22])(variable[22],  TAG_Int(60)) /*AbstractArray::add*/;
-    /* Register variable[22]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[20])(variable[20], variable[22]) /*AbstractArray::add*/;
-    /* Register variable[20]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[20]) /*AbstractArray::add*/;
-    /* Register variable[21]: Result */
-    variable[21] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[21]) /*AbstractArray::add*/;
-    variable[22] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[23] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[23])(variable[23],  TAG_Int(46)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[23])(variable[23],  TAG_Int(46)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[23])(variable[23],  TAG_Int(61)) /*AbstractArray::add*/;
-    /* Register variable[23]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[22])(variable[22], variable[23]) /*AbstractArray::add*/;
-    variable[24] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24],  TAG_Int(57)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24],  TAG_Int(18)) /*AbstractArray::add*/;
-    /* Register variable[24]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[22])(variable[22], variable[24]) /*AbstractArray::add*/;
-    /* Register variable[22]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[22]) /*AbstractArray::add*/;
-    variable[23] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[24] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24],  TAG_Int(58)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24],  TAG_Int(58)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24],  TAG_Int(62)) /*AbstractArray::add*/;
-    /* Register variable[24]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[23])(variable[23], variable[24]) /*AbstractArray::add*/;
-    /* Register variable[23]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[23]) /*AbstractArray::add*/;
-    variable[24] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[25] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[25])(variable[25],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[25])(variable[25],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[25])(variable[25],  TAG_Int(63)) /*AbstractArray::add*/;
-    /* Register variable[25]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[24])(variable[24], variable[25]) /*AbstractArray::add*/;
-    /* Register variable[24]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[24]) /*AbstractArray::add*/;
-    variable[25] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[26] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[26])(variable[26],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[26])(variable[26],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[26])(variable[26],  TAG_Int(64)) /*AbstractArray::add*/;
-    /* Register variable[26]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[25])(variable[25], variable[26]) /*AbstractArray::add*/;
-    /* Register variable[25]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[25]) /*AbstractArray::add*/;
-    variable[26] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[27] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27],  TAG_Int(65)) /*AbstractArray::add*/;
-    /* Register variable[27]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[26])(variable[26], variable[27]) /*AbstractArray::add*/;
-    /* Register variable[26]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[26]) /*AbstractArray::add*/;
-    variable[27] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[28] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[28])(variable[28],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[28])(variable[28],  TAG_Int(57)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[28])(variable[28],  TAG_Int(66)) /*AbstractArray::add*/;
-    /* Register variable[28]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27], variable[28]) /*AbstractArray::add*/;
-    variable[29] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[29])(variable[29],  TAG_Int(65)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[29])(variable[29],  TAG_Int(90)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[29])(variable[29],  TAG_Int(67)) /*AbstractArray::add*/;
-    /* Register variable[29]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27], variable[29]) /*AbstractArray::add*/;
-    variable[30] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[30])(variable[30],  TAG_Int(95)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[30])(variable[30],  TAG_Int(95)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[30])(variable[30],  TAG_Int(68)) /*AbstractArray::add*/;
-    /* Register variable[30]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27], variable[30]) /*AbstractArray::add*/;
-    variable[31] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31],  TAG_Int(69)) /*AbstractArray::add*/;
-    /* Register variable[31]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[27])(variable[27], variable[31]) /*AbstractArray::add*/;
-    /* Register variable[27]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[27]) /*AbstractArray::add*/;
-    /* Register variable[28]: Result */
-    variable[28] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[28]) /*AbstractArray::add*/;
-    /* Register variable[29]: Result */
-    variable[29] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[29]) /*AbstractArray::add*/;
-    variable[30] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[31] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31],  TAG_Int(70)) /*AbstractArray::add*/;
-    /* Register variable[31]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[30])(variable[30], variable[31]) /*AbstractArray::add*/;
-    /* Register variable[30]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[30]) /*AbstractArray::add*/;
-    variable[31] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[32] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32],  TAG_Int(57)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32],  TAG_Int(71)) /*AbstractArray::add*/;
-    /* Register variable[32]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[32]) /*AbstractArray::add*/;
-    variable[33] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33],  TAG_Int(65)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33],  TAG_Int(90)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33],  TAG_Int(72)) /*AbstractArray::add*/;
-    /* Register variable[33]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[33]) /*AbstractArray::add*/;
-    variable[34] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(95)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(95)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(73)) /*AbstractArray::add*/;
-    /* Register variable[34]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[34]) /*AbstractArray::add*/;
-    variable[35] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[35]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[35]) /*AbstractArray::add*/;
-    variable[36] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(75)) /*AbstractArray::add*/;
-    /* Register variable[36]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[36]) /*AbstractArray::add*/;
-    variable[37] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[37]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[37]) /*AbstractArray::add*/;
-    variable[38] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(76)) /*AbstractArray::add*/;
-    /* Register variable[38]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[38]) /*AbstractArray::add*/;
-    variable[39] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[39]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[39]) /*AbstractArray::add*/;
-    variable[40] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(77)) /*AbstractArray::add*/;
-    /* Register variable[40]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[40]) /*AbstractArray::add*/;
-    variable[41] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(78)) /*AbstractArray::add*/;
-    /* Register variable[41]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[41]) /*AbstractArray::add*/;
-    variable[42] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[31])(variable[31], variable[42]) /*AbstractArray::add*/;
-    /* Register variable[31]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[31]) /*AbstractArray::add*/;
-    variable[32] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[33] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[34]: Result */
-    variable[34] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33], variable[34]) /*AbstractArray::add*/;
-    /* Register variable[33]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32], variable[33]) /*AbstractArray::add*/;
-    variable[34] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[34]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32], variable[34]) /*AbstractArray::add*/;
-    variable[35] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(79)) /*AbstractArray::add*/;
-    /* Register variable[35]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32], variable[35]) /*AbstractArray::add*/;
-    variable[36] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[36]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[32])(variable[32], variable[36]) /*AbstractArray::add*/;
-    /* Register variable[32]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[32]) /*AbstractArray::add*/;
-    variable[33] = NEW_Array_array___Array___with_capacity(TAG_Int(6)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[34] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[35]: Result */
-    variable[35] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34], variable[35]) /*AbstractArray::add*/;
-    /* Register variable[34]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33], variable[34]) /*AbstractArray::add*/;
-    variable[35] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(107)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[35]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33], variable[35]) /*AbstractArray::add*/;
-    variable[36] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(80)) /*AbstractArray::add*/;
-    /* Register variable[36]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33], variable[36]) /*AbstractArray::add*/;
-    variable[37] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[37]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33], variable[37]) /*AbstractArray::add*/;
-    variable[38] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(81)) /*AbstractArray::add*/;
-    /* Register variable[38]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33], variable[38]) /*AbstractArray::add*/;
-    variable[39] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[39]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[33])(variable[33], variable[39]) /*AbstractArray::add*/;
-    /* Register variable[33]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[33]) /*AbstractArray::add*/;
-    variable[34] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[35] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[36]: Result */
-    variable[36] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35], variable[36]) /*AbstractArray::add*/;
-    /* Register variable[35]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34], variable[35]) /*AbstractArray::add*/;
-    variable[36] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[36]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34], variable[36]) /*AbstractArray::add*/;
-    variable[37] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(82)) /*AbstractArray::add*/;
-    /* Register variable[37]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34], variable[37]) /*AbstractArray::add*/;
-    variable[38] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[38]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[34])(variable[34], variable[38]) /*AbstractArray::add*/;
-    /* Register variable[34]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[34]) /*AbstractArray::add*/;
-    variable[35] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[36] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[37]: Result */
-    variable[37] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36], variable[37]) /*AbstractArray::add*/;
-    /* Register variable[36]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35], variable[36]) /*AbstractArray::add*/;
-    variable[37] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(83)) /*AbstractArray::add*/;
-    /* Register variable[37]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35], variable[37]) /*AbstractArray::add*/;
-    variable[38] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[38]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35], variable[38]) /*AbstractArray::add*/;
-    variable[39] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(84)) /*AbstractArray::add*/;
-    /* Register variable[39]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35], variable[39]) /*AbstractArray::add*/;
-    variable[40] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(119)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[40]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35], variable[40]) /*AbstractArray::add*/;
-    variable[41] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(120)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(120)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(85)) /*AbstractArray::add*/;
-    /* Register variable[41]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35], variable[41]) /*AbstractArray::add*/;
-    variable[42] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(121)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[35])(variable[35], variable[42]) /*AbstractArray::add*/;
-    /* Register variable[35]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[35]) /*AbstractArray::add*/;
-    variable[36] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[37] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[38]: Result */
-    variable[38] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37], variable[38]) /*AbstractArray::add*/;
-    /* Register variable[37]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36], variable[37]) /*AbstractArray::add*/;
-    variable[38] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(86)) /*AbstractArray::add*/;
-    /* Register variable[38]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36], variable[38]) /*AbstractArray::add*/;
-    variable[39] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[39]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36], variable[39]) /*AbstractArray::add*/;
-    variable[40] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(87)) /*AbstractArray::add*/;
-    /* Register variable[40]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36], variable[40]) /*AbstractArray::add*/;
-    variable[41] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[41]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36], variable[41]) /*AbstractArray::add*/;
-    variable[42] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(88)) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36], variable[42]) /*AbstractArray::add*/;
-    variable[43] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[43]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[36])(variable[36], variable[43]) /*AbstractArray::add*/;
-    /* Register variable[36]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[36]) /*AbstractArray::add*/;
-    variable[37] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[38] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[39]: Result */
-    variable[39] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[39]) /*AbstractArray::add*/;
-    /* Register variable[38]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37], variable[38]) /*AbstractArray::add*/;
-    variable[39] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[39]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[37])(variable[37], variable[39]) /*AbstractArray::add*/;
-    /* Register variable[37]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[37]) /*AbstractArray::add*/;
-    variable[38] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[39] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[40]: Result */
-    variable[40] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39], variable[40]) /*AbstractArray::add*/;
-    /* Register variable[39]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[39]) /*AbstractArray::add*/;
-    variable[40] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[40]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[40]) /*AbstractArray::add*/;
-    variable[41] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(89)) /*AbstractArray::add*/;
-    /* Register variable[41]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[41]) /*AbstractArray::add*/;
-    variable[42] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(103)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[42]) /*AbstractArray::add*/;
-    variable[43] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(90)) /*AbstractArray::add*/;
-    /* Register variable[43]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[43]) /*AbstractArray::add*/;
-    variable[44] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(91)) /*AbstractArray::add*/;
-    /* Register variable[44]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[44]) /*AbstractArray::add*/;
-    variable[45] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[45]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[45]) /*AbstractArray::add*/;
-    variable[46] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(92)) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[46]) /*AbstractArray::add*/;
-    variable[47] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[38])(variable[38], variable[47]) /*AbstractArray::add*/;
-    /* Register variable[38]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[38]) /*AbstractArray::add*/;
-    variable[39] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[40] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[41]: Result */
-    variable[41] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40], variable[41]) /*AbstractArray::add*/;
-    /* Register variable[40]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39], variable[40]) /*AbstractArray::add*/;
-    variable[41] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[41]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39], variable[41]) /*AbstractArray::add*/;
-    variable[42] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(93)) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39], variable[42]) /*AbstractArray::add*/;
-    variable[43] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[43]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[39])(variable[39], variable[43]) /*AbstractArray::add*/;
-    /* Register variable[39]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[39]) /*AbstractArray::add*/;
-    variable[40] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[41] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    variable[42] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41], variable[42]) /*AbstractArray::add*/;
-    /* Register variable[41]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40], variable[41]) /*AbstractArray::add*/;
-    variable[42] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(94)) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40], variable[42]) /*AbstractArray::add*/;
-    variable[43] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[43]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40], variable[43]) /*AbstractArray::add*/;
-    variable[44] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[44]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40], variable[44]) /*AbstractArray::add*/;
-    variable[45] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[45]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40], variable[45]) /*AbstractArray::add*/;
-    variable[46] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(96)) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40], variable[46]) /*AbstractArray::add*/;
-    variable[47] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[40])(variable[40], variable[47]) /*AbstractArray::add*/;
-    /* Register variable[40]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[40]) /*AbstractArray::add*/;
-    variable[41] = NEW_Array_array___Array___with_capacity(TAG_Int(6)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[42] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[43]: Result */
-    variable[43] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42], variable[43]) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41], variable[42]) /*AbstractArray::add*/;
-    variable[43] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[43]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41], variable[43]) /*AbstractArray::add*/;
-    variable[44] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(97)) /*AbstractArray::add*/;
-    /* Register variable[44]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41], variable[44]) /*AbstractArray::add*/;
-    variable[45] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[45]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41], variable[45]) /*AbstractArray::add*/;
-    variable[46] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(98)) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41], variable[46]) /*AbstractArray::add*/;
-    variable[47] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[41])(variable[41], variable[47]) /*AbstractArray::add*/;
-    /* Register variable[41]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[41]) /*AbstractArray::add*/;
-    variable[42] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[43] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[44]: Result */
-    variable[44] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43], variable[44]) /*AbstractArray::add*/;
-    /* Register variable[43]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42], variable[43]) /*AbstractArray::add*/;
-    variable[44] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(99)) /*AbstractArray::add*/;
-    /* Register variable[44]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42], variable[44]) /*AbstractArray::add*/;
-    variable[45] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[45]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42], variable[45]) /*AbstractArray::add*/;
-    variable[46] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42], variable[46]) /*AbstractArray::add*/;
-    variable[47] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[42])(variable[42], variable[47]) /*AbstractArray::add*/;
-    /* Register variable[42]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[42]) /*AbstractArray::add*/;
-    variable[43] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[44] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[45]: Result */
-    variable[45] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44], variable[45]) /*AbstractArray::add*/;
-    /* Register variable[44]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43], variable[44]) /*AbstractArray::add*/;
-    variable[45] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(101)) /*AbstractArray::add*/;
-    /* Register variable[45]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43], variable[45]) /*AbstractArray::add*/;
-    variable[46] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[43])(variable[43], variable[46]) /*AbstractArray::add*/;
-    /* Register variable[43]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[43]) /*AbstractArray::add*/;
-    variable[44] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[45] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    variable[46] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45], variable[46]) /*AbstractArray::add*/;
-    /* Register variable[45]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44], variable[45]) /*AbstractArray::add*/;
-    variable[46] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(102)) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44], variable[46]) /*AbstractArray::add*/;
-    variable[47] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44], variable[47]) /*AbstractArray::add*/;
-    variable[48] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(103)) /*AbstractArray::add*/;
-    /* Register variable[48]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44], variable[48]) /*AbstractArray::add*/;
-    variable[49] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[49]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44], variable[49]) /*AbstractArray::add*/;
-    variable[50] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(104)) /*AbstractArray::add*/;
-    /* Register variable[50]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44], variable[50]) /*AbstractArray::add*/;
-    variable[51] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[51]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[44])(variable[44], variable[51]) /*AbstractArray::add*/;
-    /* Register variable[44]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[44]) /*AbstractArray::add*/;
-    variable[45] = NEW_Array_array___Array___with_capacity(TAG_Int(8)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[46] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    variable[47] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46], variable[47]) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45], variable[46]) /*AbstractArray::add*/;
-    variable[47] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(103)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45], variable[47]) /*AbstractArray::add*/;
-    variable[48] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(105)) /*AbstractArray::add*/;
-    /* Register variable[48]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45], variable[48]) /*AbstractArray::add*/;
-    variable[49] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[49]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45], variable[49]) /*AbstractArray::add*/;
-    variable[50] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(106)) /*AbstractArray::add*/;
-    /* Register variable[50]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45], variable[50]) /*AbstractArray::add*/;
-    variable[51] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(120)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[51]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45], variable[51]) /*AbstractArray::add*/;
-    variable[52] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(121)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(121)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[52]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45], variable[52]) /*AbstractArray::add*/;
-    variable[53] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[53]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[45])(variable[45], variable[53]) /*AbstractArray::add*/;
-    /* Register variable[45]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[45]) /*AbstractArray::add*/;
-    variable[46] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[47] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47],  TAG_Int(109)) /*AbstractArray::add*/;
-    /* Register variable[48]: Result */
-    variable[48] = TAG_Int(-UNTAG_Int( TAG_Int(39)));
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47], variable[48]) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46], variable[47]) /*AbstractArray::add*/;
-    variable[48] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(108)) /*AbstractArray::add*/;
-    /* Register variable[48]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46], variable[48]) /*AbstractArray::add*/;
-    variable[49] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[49]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[46])(variable[46], variable[49]) /*AbstractArray::add*/;
-    /* Register variable[46]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[46]) /*AbstractArray::add*/;
-    variable[47] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[48] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[49]: Result */
-    variable[49] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48], variable[49]) /*AbstractArray::add*/;
-    /* Register variable[48]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47], variable[48]) /*AbstractArray::add*/;
-    variable[49] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(109)) /*AbstractArray::add*/;
-    /* Register variable[49]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47], variable[49]) /*AbstractArray::add*/;
-    variable[50] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[50]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[47])(variable[47], variable[50]) /*AbstractArray::add*/;
-    /* Register variable[47]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[47]) /*AbstractArray::add*/;
-    variable[48] = NEW_Array_array___Array___with_capacity(TAG_Int(6)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[49] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49],  TAG_Int(103)) /*AbstractArray::add*/;
-    /* Register variable[50]: Result */
-    variable[50] = TAG_Int(-UNTAG_Int( TAG_Int(43)));
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[50]) /*AbstractArray::add*/;
-    /* Register variable[49]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48], variable[49]) /*AbstractArray::add*/;
-    variable[50] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(110)) /*AbstractArray::add*/;
-    /* Register variable[50]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48], variable[50]) /*AbstractArray::add*/;
-    variable[51] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(111)) /*AbstractArray::add*/;
-    /* Register variable[51]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48], variable[51]) /*AbstractArray::add*/;
-    variable[52] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[52]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48], variable[52]) /*AbstractArray::add*/;
-    variable[53] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(112)) /*AbstractArray::add*/;
-    /* Register variable[53]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48], variable[53]) /*AbstractArray::add*/;
-    variable[54] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[54])(variable[54],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[54])(variable[54],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[54])(variable[54],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[54]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[48])(variable[48], variable[54]) /*AbstractArray::add*/;
-    /* Register variable[48]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[48]) /*AbstractArray::add*/;
-    variable[49] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[50] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[50])(variable[50],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[50]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[50]) /*AbstractArray::add*/;
-    variable[51] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(11)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(12)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[51])(variable[51],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[51]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[51]) /*AbstractArray::add*/;
-    variable[52] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(14)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(33)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[52]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[52]) /*AbstractArray::add*/;
-    variable[53] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(34)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(34)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(114)) /*AbstractArray::add*/;
-    /* Register variable[53]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[53]) /*AbstractArray::add*/;
-    variable[54] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[54])(variable[54],  TAG_Int(35)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[54])(variable[54],  TAG_Int(91)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[54])(variable[54],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[54]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[54]) /*AbstractArray::add*/;
-    variable[55] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[55])(variable[55],  TAG_Int(92)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[55])(variable[55],  TAG_Int(92)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[55])(variable[55],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[55]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[55]) /*AbstractArray::add*/;
-    variable[56] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[56])(variable[56],  TAG_Int(93)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[56])(variable[56],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[56])(variable[56],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[56]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[56]) /*AbstractArray::add*/;
-    variable[57] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[57])(variable[57],  TAG_Int(123)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[57])(variable[57],  TAG_Int(123)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[57])(variable[57],  TAG_Int(116)) /*AbstractArray::add*/;
-    /* Register variable[57]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[57]) /*AbstractArray::add*/;
-    variable[58] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[58])(variable[58],  TAG_Int(124)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[58])(variable[58],  TAG_Int(255)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[58])(variable[58],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[58]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[49])(variable[49], variable[58]) /*AbstractArray::add*/;
-    /* Register variable[49]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[49]) /*AbstractArray::add*/;
-    /* Register variable[50]: Result */
-    variable[50] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[50]) /*AbstractArray::add*/;
-    /* Register variable[51]: Result */
-    variable[51] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[51]) /*AbstractArray::add*/;
-    variable[52] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[53] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53],  TAG_Int(255)) /*AbstractArray::add*/;
-    /* Register variable[54]: Result */
-    variable[54] = TAG_Int(-UNTAG_Int( TAG_Int(8)));
-    CALL_abstract_collection___SimpleCollection___add(variable[53])(variable[53], variable[54]) /*AbstractArray::add*/;
-    /* Register variable[53]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[52])(variable[52], variable[53]) /*AbstractArray::add*/;
-    /* Register variable[52]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[52]) /*AbstractArray::add*/;
-    /* Register variable[53]: Result */
-    variable[53] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[53]) /*AbstractArray::add*/;
-    variable[54] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[55] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[55])(variable[55],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[55])(variable[55],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[55])(variable[55],  TAG_Int(117)) /*AbstractArray::add*/;
-    /* Register variable[55]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[54])(variable[54], variable[55]) /*AbstractArray::add*/;
-    variable[56] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[56])(variable[56],  TAG_Int(11)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[56])(variable[56],  TAG_Int(12)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[56])(variable[56],  TAG_Int(117)) /*AbstractArray::add*/;
-    /* Register variable[56]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[54])(variable[54], variable[56]) /*AbstractArray::add*/;
-    variable[57] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[57])(variable[57],  TAG_Int(14)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[57])(variable[57],  TAG_Int(255)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[57])(variable[57],  TAG_Int(117)) /*AbstractArray::add*/;
-    /* Register variable[57]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[54])(variable[54], variable[57]) /*AbstractArray::add*/;
-    /* Register variable[54]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[54]) /*AbstractArray::add*/;
-    /* Register variable[55]: Result */
-    variable[55] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[55]) /*AbstractArray::add*/;
-    variable[56] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[57] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[57])(variable[57],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[57])(variable[57],  TAG_Int(255)) /*AbstractArray::add*/;
-    /* Register variable[58]: Result */
-    variable[58] = TAG_Int(-UNTAG_Int( TAG_Int(9)));
-    CALL_abstract_collection___SimpleCollection___add(variable[57])(variable[57], variable[58]) /*AbstractArray::add*/;
-    /* Register variable[57]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[56])(variable[56], variable[57]) /*AbstractArray::add*/;
-    /* Register variable[56]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[56]) /*AbstractArray::add*/;
-    /* Register variable[57]: Result */
-    variable[57] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[57]) /*AbstractArray::add*/;
-    variable[58] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[59] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[59])(variable[59],  TAG_Int(10)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[59])(variable[59],  TAG_Int(10)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[59])(variable[59],  TAG_Int(118)) /*AbstractArray::add*/;
-    /* Register variable[59]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[58])(variable[58], variable[59]) /*AbstractArray::add*/;
-    /* Register variable[58]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[58]) /*AbstractArray::add*/;
-    variable[59] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[60] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[60])(variable[60],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[60])(variable[60],  TAG_Int(255)) /*AbstractArray::add*/;
-    /* Register variable[61]: Result */
-    variable[61] = TAG_Int(-UNTAG_Int( TAG_Int(11)));
-    CALL_abstract_collection___SimpleCollection___add(variable[60])(variable[60], variable[61]) /*AbstractArray::add*/;
-    /* Register variable[60]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[59])(variable[59], variable[60]) /*AbstractArray::add*/;
-    /* Register variable[59]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[59]) /*AbstractArray::add*/;
-    /* Register variable[60]: Result */
-    variable[60] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[60]) /*AbstractArray::add*/;
-    /* Register variable[61]: Result */
-    variable[61] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[61]) /*AbstractArray::add*/;
-    /* Register variable[62]: Result */
-    variable[62] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[62]) /*AbstractArray::add*/;
-    variable[63] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[64] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[64])(variable[64],  TAG_Int(46)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[64])(variable[64],  TAG_Int(46)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[64])(variable[64],  TAG_Int(119)) /*AbstractArray::add*/;
-    /* Register variable[64]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[63])(variable[63], variable[64]) /*AbstractArray::add*/;
-    /* Register variable[63]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[63]) /*AbstractArray::add*/;
-    variable[64] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[65] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[65])(variable[65],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[65])(variable[65],  TAG_Int(57)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[65])(variable[65],  TAG_Int(60)) /*AbstractArray::add*/;
-    /* Register variable[65]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[64])(variable[64], variable[65]) /*AbstractArray::add*/;
-    /* Register variable[64]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[64]) /*AbstractArray::add*/;
-    variable[65] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[66] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[66])(variable[66],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[66])(variable[66],  TAG_Int(57)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[66])(variable[66],  TAG_Int(60)) /*AbstractArray::add*/;
-    /* Register variable[66]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[65])(variable[65], variable[66]) /*AbstractArray::add*/;
-    /* Register variable[65]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[65]) /*AbstractArray::add*/;
-    /* Register variable[66]: Result */
-    variable[66] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[66]) /*AbstractArray::add*/;
-    variable[67] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[68] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[68])(variable[68],  TAG_Int(62)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[68])(variable[68],  TAG_Int(62)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[68])(variable[68],  TAG_Int(120)) /*AbstractArray::add*/;
-    /* Register variable[68]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[67])(variable[67], variable[68]) /*AbstractArray::add*/;
-    /* Register variable[67]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[67]) /*AbstractArray::add*/;
-    /* Register variable[68]: Result */
-    variable[68] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[68]) /*AbstractArray::add*/;
-    /* Register variable[69]: Result */
-    variable[69] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[69]) /*AbstractArray::add*/;
-    variable[70] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[71] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[71])(variable[71],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[71])(variable[71],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[72]: Result */
-    variable[72] = TAG_Int(-UNTAG_Int( TAG_Int(25)));
-    CALL_abstract_collection___SimpleCollection___add(variable[71])(variable[71], variable[72]) /*AbstractArray::add*/;
-    /* Register variable[71]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[70])(variable[70], variable[71]) /*AbstractArray::add*/;
-    /* Register variable[70]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[70]) /*AbstractArray::add*/;
-    variable[71] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[72] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[72])(variable[72],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[72])(variable[72],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[73]: Result */
-    variable[73] = TAG_Int(-UNTAG_Int( TAG_Int(25)));
-    CALL_abstract_collection___SimpleCollection___add(variable[72])(variable[72], variable[73]) /*AbstractArray::add*/;
-    /* Register variable[72]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[71])(variable[71], variable[72]) /*AbstractArray::add*/;
-    /* Register variable[71]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[71]) /*AbstractArray::add*/;
-    variable[72] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[73] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[73])(variable[73],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[73])(variable[73],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[74]: Result */
-    variable[74] = TAG_Int(-UNTAG_Int( TAG_Int(25)));
-    CALL_abstract_collection___SimpleCollection___add(variable[73])(variable[73], variable[74]) /*AbstractArray::add*/;
-    /* Register variable[73]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[72])(variable[72], variable[73]) /*AbstractArray::add*/;
-    /* Register variable[72]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[72]) /*AbstractArray::add*/;
-    variable[73] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[74] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[74])(variable[74],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[74])(variable[74],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[75]: Result */
-    variable[75] = TAG_Int(-UNTAG_Int( TAG_Int(25)));
-    CALL_abstract_collection___SimpleCollection___add(variable[74])(variable[74], variable[75]) /*AbstractArray::add*/;
-    /* Register variable[74]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[73])(variable[73], variable[74]) /*AbstractArray::add*/;
-    /* Register variable[73]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[73]) /*AbstractArray::add*/;
-    variable[74] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[75] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[75])(variable[75],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[75])(variable[75],  TAG_Int(57)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[75])(variable[75],  TAG_Int(121)) /*AbstractArray::add*/;
-    /* Register variable[75]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[74])(variable[74], variable[75]) /*AbstractArray::add*/;
-    variable[76] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[76])(variable[76],  TAG_Int(65)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[76])(variable[76],  TAG_Int(90)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[76])(variable[76],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[76]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[74])(variable[74], variable[76]) /*AbstractArray::add*/;
-    variable[77] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[77])(variable[77],  TAG_Int(95)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[77])(variable[77],  TAG_Int(95)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[77])(variable[77],  TAG_Int(123)) /*AbstractArray::add*/;
-    /* Register variable[77]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[74])(variable[74], variable[77]) /*AbstractArray::add*/;
-    variable[78] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[78])(variable[78],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[78])(variable[78],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[78])(variable[78],  TAG_Int(124)) /*AbstractArray::add*/;
-    /* Register variable[78]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[74])(variable[74], variable[78]) /*AbstractArray::add*/;
-    /* Register variable[74]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[74]) /*AbstractArray::add*/;
-    variable[75] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[76] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[76])(variable[76],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[76])(variable[76],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[77]: Result */
-    variable[77] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[76])(variable[76], variable[77]) /*AbstractArray::add*/;
-    /* Register variable[76]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[75])(variable[75], variable[76]) /*AbstractArray::add*/;
-    /* Register variable[75]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[75]) /*AbstractArray::add*/;
-    variable[76] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[77] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[77])(variable[77],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[77])(variable[77],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[78]: Result */
-    variable[78] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[77])(variable[77], variable[78]) /*AbstractArray::add*/;
-    /* Register variable[77]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[76])(variable[76], variable[77]) /*AbstractArray::add*/;
-    /* Register variable[76]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[76]) /*AbstractArray::add*/;
-    variable[77] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[78] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[78])(variable[78],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[78])(variable[78],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[79]: Result */
-    variable[79] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[78])(variable[78], variable[79]) /*AbstractArray::add*/;
-    /* Register variable[78]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[77])(variable[77], variable[78]) /*AbstractArray::add*/;
-    /* Register variable[77]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[77]) /*AbstractArray::add*/;
-    variable[78] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[79] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[79])(variable[79],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[79])(variable[79],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[80]: Result */
-    variable[80] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[79])(variable[79], variable[80]) /*AbstractArray::add*/;
-    /* Register variable[79]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[78])(variable[78], variable[79]) /*AbstractArray::add*/;
-    /* Register variable[78]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[78]) /*AbstractArray::add*/;
-    variable[79] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[80] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[80])(variable[80],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[80])(variable[80],  TAG_Int(110)) /*AbstractArray::add*/;
-    /* Register variable[81]: Result */
-    variable[81] = TAG_Int(-UNTAG_Int( TAG_Int(32)));
-    CALL_abstract_collection___SimpleCollection___add(variable[80])(variable[80], variable[81]) /*AbstractArray::add*/;
-    /* Register variable[80]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[79])(variable[79], variable[80]) /*AbstractArray::add*/;
-    variable[81] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81],  TAG_Int(125)) /*AbstractArray::add*/;
-    /* Register variable[81]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[79])(variable[79], variable[81]) /*AbstractArray::add*/;
-    variable[82] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[82]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[79])(variable[79], variable[82]) /*AbstractArray::add*/;
-    variable[83] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(126)) /*AbstractArray::add*/;
-    /* Register variable[83]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[79])(variable[79], variable[83]) /*AbstractArray::add*/;
-    variable[84] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[84]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[79])(variable[79], variable[84]) /*AbstractArray::add*/;
-    /* Register variable[79]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[79]) /*AbstractArray::add*/;
-    variable[80] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[81] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[82]: Result */
-    variable[82] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81], variable[82]) /*AbstractArray::add*/;
-    /* Register variable[81]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[80])(variable[80], variable[81]) /*AbstractArray::add*/;
-    variable[82] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[82]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[80])(variable[80], variable[82]) /*AbstractArray::add*/;
-    variable[83] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(127)) /*AbstractArray::add*/;
-    /* Register variable[83]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[80])(variable[80], variable[83]) /*AbstractArray::add*/;
-    variable[84] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[84]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[80])(variable[80], variable[84]) /*AbstractArray::add*/;
-    /* Register variable[80]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[80]) /*AbstractArray::add*/;
-    variable[81] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[82] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[83]: Result */
-    variable[83] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82], variable[83]) /*AbstractArray::add*/;
-    /* Register variable[82]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81], variable[82]) /*AbstractArray::add*/;
-    variable[83] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[83]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81], variable[83]) /*AbstractArray::add*/;
-    variable[84] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(128)) /*AbstractArray::add*/;
-    /* Register variable[84]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81], variable[84]) /*AbstractArray::add*/;
-    variable[85] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[85]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[81])(variable[81], variable[85]) /*AbstractArray::add*/;
-    /* Register variable[81]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[81]) /*AbstractArray::add*/;
-    variable[82] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[83] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[84]: Result */
-    variable[84] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83], variable[84]) /*AbstractArray::add*/;
-    /* Register variable[83]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82], variable[83]) /*AbstractArray::add*/;
-    variable[84] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[84]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82], variable[84]) /*AbstractArray::add*/;
-    variable[85] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(129)) /*AbstractArray::add*/;
-    /* Register variable[85]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82], variable[85]) /*AbstractArray::add*/;
-    variable[86] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[86]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[82])(variable[82], variable[86]) /*AbstractArray::add*/;
-    /* Register variable[82]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[82]) /*AbstractArray::add*/;
-    variable[83] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[84] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[85]: Result */
-    variable[85] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84], variable[85]) /*AbstractArray::add*/;
-    /* Register variable[84]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83], variable[84]) /*AbstractArray::add*/;
-    variable[85] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(130)) /*AbstractArray::add*/;
-    /* Register variable[85]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83], variable[85]) /*AbstractArray::add*/;
-    variable[86] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[86]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[83])(variable[83], variable[86]) /*AbstractArray::add*/;
-    /* Register variable[83]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[83]) /*AbstractArray::add*/;
-    variable[84] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[85] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[86]: Result */
-    variable[86] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85], variable[86]) /*AbstractArray::add*/;
-    /* Register variable[85]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84], variable[85]) /*AbstractArray::add*/;
-    variable[86] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(131)) /*AbstractArray::add*/;
-    /* Register variable[86]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84], variable[86]) /*AbstractArray::add*/;
-    variable[87] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[87]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[84])(variable[84], variable[87]) /*AbstractArray::add*/;
-    /* Register variable[84]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[84]) /*AbstractArray::add*/;
-    variable[85] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[86] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86],  TAG_Int(109)) /*AbstractArray::add*/;
-    /* Register variable[87]: Result */
-    variable[87] = TAG_Int(-UNTAG_Int( TAG_Int(39)));
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86], variable[87]) /*AbstractArray::add*/;
-    /* Register variable[86]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85], variable[86]) /*AbstractArray::add*/;
-    variable[87] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87],  TAG_Int(132)) /*AbstractArray::add*/;
-    /* Register variable[87]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85], variable[87]) /*AbstractArray::add*/;
-    variable[88] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[88])(variable[88],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[88])(variable[88],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[88])(variable[88],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[88]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[85])(variable[85], variable[88]) /*AbstractArray::add*/;
-    /* Register variable[85]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[85]) /*AbstractArray::add*/;
-    variable[86] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[87] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[88]: Result */
-    variable[88] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87], variable[88]) /*AbstractArray::add*/;
-    /* Register variable[87]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[86])(variable[86], variable[87]) /*AbstractArray::add*/;
-    /* Register variable[86]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[86]) /*AbstractArray::add*/;
-    variable[87] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[88] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[88])(variable[88],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[88])(variable[88],  TAG_Int(114)) /*AbstractArray::add*/;
-    /* Register variable[89]: Result */
-    variable[89] = TAG_Int(-UNTAG_Int( TAG_Int(79)));
-    CALL_abstract_collection___SimpleCollection___add(variable[88])(variable[88], variable[89]) /*AbstractArray::add*/;
-    /* Register variable[88]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87], variable[88]) /*AbstractArray::add*/;
-    variable[89] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[89])(variable[89],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[89])(variable[89],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[89])(variable[89],  TAG_Int(133)) /*AbstractArray::add*/;
-    /* Register variable[89]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87], variable[89]) /*AbstractArray::add*/;
-    variable[90] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[90]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[87])(variable[87], variable[90]) /*AbstractArray::add*/;
-    /* Register variable[87]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[87]) /*AbstractArray::add*/;
-    variable[88] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[89] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[89])(variable[89],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[89])(variable[89],  TAG_Int(99)) /*AbstractArray::add*/;
-    /* Register variable[90]: Result */
-    variable[90] = TAG_Int(-UNTAG_Int( TAG_Int(78)));
-    CALL_abstract_collection___SimpleCollection___add(variable[89])(variable[89], variable[90]) /*AbstractArray::add*/;
-    /* Register variable[89]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[88])(variable[88], variable[89]) /*AbstractArray::add*/;
-    variable[90] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90],  TAG_Int(134)) /*AbstractArray::add*/;
-    /* Register variable[90]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[88])(variable[88], variable[90]) /*AbstractArray::add*/;
-    variable[91] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[91]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[88])(variable[88], variable[91]) /*AbstractArray::add*/;
-    /* Register variable[88]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[88]) /*AbstractArray::add*/;
-    variable[89] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[90] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[91]: Result */
-    variable[91] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90], variable[91]) /*AbstractArray::add*/;
-    /* Register variable[90]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[89])(variable[89], variable[90]) /*AbstractArray::add*/;
-    variable[91] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91],  TAG_Int(135)) /*AbstractArray::add*/;
-    /* Register variable[91]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[89])(variable[89], variable[91]) /*AbstractArray::add*/;
-    variable[92] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[92]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[89])(variable[89], variable[92]) /*AbstractArray::add*/;
-    /* Register variable[89]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[89]) /*AbstractArray::add*/;
-    variable[90] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[91] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[92]: Result */
-    variable[92] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91], variable[92]) /*AbstractArray::add*/;
-    /* Register variable[91]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90], variable[91]) /*AbstractArray::add*/;
-    variable[92] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92],  TAG_Int(136)) /*AbstractArray::add*/;
-    /* Register variable[92]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90], variable[92]) /*AbstractArray::add*/;
-    variable[93] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[93]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[90])(variable[90], variable[93]) /*AbstractArray::add*/;
-    /* Register variable[90]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[90]) /*AbstractArray::add*/;
-    variable[91] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[92] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[93]: Result */
-    variable[93] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92], variable[93]) /*AbstractArray::add*/;
-    /* Register variable[92]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91], variable[92]) /*AbstractArray::add*/;
-    variable[93] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93],  TAG_Int(137)) /*AbstractArray::add*/;
-    /* Register variable[93]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91], variable[93]) /*AbstractArray::add*/;
-    variable[94] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[94]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[91])(variable[91], variable[94]) /*AbstractArray::add*/;
-    /* Register variable[91]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[91]) /*AbstractArray::add*/;
-    variable[92] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[93] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93],  TAG_Int(109)) /*AbstractArray::add*/;
-    /* Register variable[94]: Result */
-    variable[94] = TAG_Int(-UNTAG_Int( TAG_Int(39)));
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93], variable[94]) /*AbstractArray::add*/;
-    /* Register variable[93]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92], variable[93]) /*AbstractArray::add*/;
-    variable[94] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94],  TAG_Int(138)) /*AbstractArray::add*/;
-    /* Register variable[94]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92], variable[94]) /*AbstractArray::add*/;
-    variable[95] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[95]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[92])(variable[92], variable[95]) /*AbstractArray::add*/;
-    /* Register variable[92]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[92]) /*AbstractArray::add*/;
-    variable[93] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[94] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[95]: Result */
-    variable[95] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94], variable[95]) /*AbstractArray::add*/;
-    /* Register variable[94]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[93])(variable[93], variable[94]) /*AbstractArray::add*/;
-    /* Register variable[93]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[93]) /*AbstractArray::add*/;
-    variable[94] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[95] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[96]: Result */
-    variable[96] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95], variable[96]) /*AbstractArray::add*/;
-    /* Register variable[95]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94], variable[95]) /*AbstractArray::add*/;
-    variable[96] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[96]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94], variable[96]) /*AbstractArray::add*/;
-    variable[97] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97],  TAG_Int(139)) /*AbstractArray::add*/;
-    /* Register variable[97]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94], variable[97]) /*AbstractArray::add*/;
-    variable[98] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[98]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[94])(variable[94], variable[98]) /*AbstractArray::add*/;
-    /* Register variable[94]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[94]) /*AbstractArray::add*/;
-    variable[95] = NEW_Array_array___Array___with_capacity(TAG_Int(6)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[96] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[97]: Result */
-    variable[97] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96], variable[97]) /*AbstractArray::add*/;
-    /* Register variable[96]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95], variable[96]) /*AbstractArray::add*/;
-    variable[97] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[97]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95], variable[97]) /*AbstractArray::add*/;
-    variable[98] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(140)) /*AbstractArray::add*/;
-    /* Register variable[98]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95], variable[98]) /*AbstractArray::add*/;
-    variable[99] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[99]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95], variable[99]) /*AbstractArray::add*/;
-    variable[100] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(141)) /*AbstractArray::add*/;
-    /* Register variable[100]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95], variable[100]) /*AbstractArray::add*/;
-    variable[101] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[101]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[95])(variable[95], variable[101]) /*AbstractArray::add*/;
-    /* Register variable[95]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[95]) /*AbstractArray::add*/;
-    variable[96] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[97] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[98]: Result */
-    variable[98] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97], variable[98]) /*AbstractArray::add*/;
-    /* Register variable[97]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96], variable[97]) /*AbstractArray::add*/;
-    variable[98] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(142)) /*AbstractArray::add*/;
-    /* Register variable[98]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96], variable[98]) /*AbstractArray::add*/;
-    variable[99] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[99]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96], variable[99]) /*AbstractArray::add*/;
-    variable[100] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(143)) /*AbstractArray::add*/;
-    /* Register variable[100]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96], variable[100]) /*AbstractArray::add*/;
-    variable[101] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[101]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[96])(variable[96], variable[101]) /*AbstractArray::add*/;
-    /* Register variable[96]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[96]) /*AbstractArray::add*/;
-    variable[97] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[98] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[99]: Result */
-    variable[99] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98], variable[99]) /*AbstractArray::add*/;
-    /* Register variable[98]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97], variable[98]) /*AbstractArray::add*/;
-    variable[99] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(144)) /*AbstractArray::add*/;
-    /* Register variable[99]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97], variable[99]) /*AbstractArray::add*/;
-    variable[100] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[100]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[97])(variable[97], variable[100]) /*AbstractArray::add*/;
-    /* Register variable[97]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[97]) /*AbstractArray::add*/;
-    variable[98] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[99] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[100]: Result */
-    variable[100] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99], variable[100]) /*AbstractArray::add*/;
-    /* Register variable[99]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98], variable[99]) /*AbstractArray::add*/;
-    variable[100] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[100]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98], variable[100]) /*AbstractArray::add*/;
-    variable[101] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(119)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(119)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(145)) /*AbstractArray::add*/;
-    /* Register variable[101]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98], variable[101]) /*AbstractArray::add*/;
-    variable[102] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(120)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[102]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[98])(variable[98], variable[102]) /*AbstractArray::add*/;
-    /* Register variable[98]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[98]) /*AbstractArray::add*/;
-    variable[99] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[100] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[101]: Result */
-    variable[101] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100], variable[101]) /*AbstractArray::add*/;
-    /* Register variable[100]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99], variable[100]) /*AbstractArray::add*/;
-    variable[101] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(146)) /*AbstractArray::add*/;
-    /* Register variable[101]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99], variable[101]) /*AbstractArray::add*/;
-    variable[102] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[102]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[99])(variable[99], variable[102]) /*AbstractArray::add*/;
-    /* Register variable[99]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[99]) /*AbstractArray::add*/;
-    variable[100] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[101] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[102]: Result */
-    variable[102] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101], variable[102]) /*AbstractArray::add*/;
-    /* Register variable[101]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100], variable[101]) /*AbstractArray::add*/;
-    variable[102] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(147)) /*AbstractArray::add*/;
-    /* Register variable[102]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100], variable[102]) /*AbstractArray::add*/;
-    variable[103] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[103]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[100])(variable[100], variable[103]) /*AbstractArray::add*/;
-    /* Register variable[100]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[100]) /*AbstractArray::add*/;
-    variable[101] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[102] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[103]: Result */
-    variable[103] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102], variable[103]) /*AbstractArray::add*/;
-    /* Register variable[102]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101], variable[102]) /*AbstractArray::add*/;
-    variable[103] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[103]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101], variable[103]) /*AbstractArray::add*/;
-    variable[104] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104],  TAG_Int(148)) /*AbstractArray::add*/;
-    /* Register variable[104]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101], variable[104]) /*AbstractArray::add*/;
-    variable[105] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[105]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[101])(variable[101], variable[105]) /*AbstractArray::add*/;
-    /* Register variable[101]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[101]) /*AbstractArray::add*/;
-    variable[102] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[103] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[104]: Result */
-    variable[104] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103], variable[104]) /*AbstractArray::add*/;
-    /* Register variable[103]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[102])(variable[102], variable[103]) /*AbstractArray::add*/;
-    /* Register variable[102]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[102]) /*AbstractArray::add*/;
-    variable[103] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[104] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104],  TAG_Int(98)) /*AbstractArray::add*/;
-    /* Register variable[105]: Result */
-    variable[105] = TAG_Int(-UNTAG_Int( TAG_Int(99)));
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104], variable[105]) /*AbstractArray::add*/;
-    /* Register variable[104]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103], variable[104]) /*AbstractArray::add*/;
-    variable[105] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105],  TAG_Int(149)) /*AbstractArray::add*/;
-    /* Register variable[105]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103], variable[105]) /*AbstractArray::add*/;
-    variable[106] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[106]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[103])(variable[103], variable[106]) /*AbstractArray::add*/;
-    /* Register variable[103]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[103]) /*AbstractArray::add*/;
-    variable[104] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[105] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105],  TAG_Int(104)) /*AbstractArray::add*/;
-    /* Register variable[106]: Result */
-    variable[106] = TAG_Int(-UNTAG_Int( TAG_Int(93)));
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105], variable[106]) /*AbstractArray::add*/;
-    /* Register variable[105]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104], variable[105]) /*AbstractArray::add*/;
-    variable[106] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106],  TAG_Int(150)) /*AbstractArray::add*/;
-    /* Register variable[106]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104], variable[106]) /*AbstractArray::add*/;
-    variable[107] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[107]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104], variable[107]) /*AbstractArray::add*/;
-    variable[108] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(151)) /*AbstractArray::add*/;
-    /* Register variable[108]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104], variable[108]) /*AbstractArray::add*/;
-    variable[109] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[109]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[104])(variable[104], variable[109]) /*AbstractArray::add*/;
-    /* Register variable[104]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[104]) /*AbstractArray::add*/;
-    variable[105] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[106] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[107]: Result */
-    variable[107] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106], variable[107]) /*AbstractArray::add*/;
-    /* Register variable[106]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105], variable[106]) /*AbstractArray::add*/;
-    variable[107] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107],  TAG_Int(152)) /*AbstractArray::add*/;
-    /* Register variable[107]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105], variable[107]) /*AbstractArray::add*/;
-    variable[108] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[108]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105], variable[108]) /*AbstractArray::add*/;
-    variable[109] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(153)) /*AbstractArray::add*/;
-    /* Register variable[109]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105], variable[109]) /*AbstractArray::add*/;
-    variable[110] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[110]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105], variable[110]) /*AbstractArray::add*/;
-    variable[111] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(154)) /*AbstractArray::add*/;
-    /* Register variable[111]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105], variable[111]) /*AbstractArray::add*/;
-    variable[112] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[112]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[105])(variable[105], variable[112]) /*AbstractArray::add*/;
-    /* Register variable[105]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[105]) /*AbstractArray::add*/;
-    variable[106] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[107] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[108]: Result */
-    variable[108] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107], variable[108]) /*AbstractArray::add*/;
-    /* Register variable[107]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106], variable[107]) /*AbstractArray::add*/;
-    variable[108] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(155)) /*AbstractArray::add*/;
-    /* Register variable[108]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106], variable[108]) /*AbstractArray::add*/;
-    variable[109] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[109]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[106])(variable[106], variable[109]) /*AbstractArray::add*/;
-    /* Register variable[106]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[106]) /*AbstractArray::add*/;
-    variable[107] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[108] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[109]: Result */
-    variable[109] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108], variable[109]) /*AbstractArray::add*/;
-    /* Register variable[108]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107], variable[108]) /*AbstractArray::add*/;
-    variable[109] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(156)) /*AbstractArray::add*/;
-    /* Register variable[109]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107], variable[109]) /*AbstractArray::add*/;
-    variable[110] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[110]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[107])(variable[107], variable[110]) /*AbstractArray::add*/;
-    /* Register variable[107]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[107]) /*AbstractArray::add*/;
-    variable[108] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[109] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109],  TAG_Int(111)) /*AbstractArray::add*/;
-    /* Register variable[110]: Result */
-    variable[110] = TAG_Int(-UNTAG_Int( TAG_Int(92)));
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109], variable[110]) /*AbstractArray::add*/;
-    /* Register variable[109]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108], variable[109]) /*AbstractArray::add*/;
-    variable[110] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(157)) /*AbstractArray::add*/;
-    /* Register variable[110]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108], variable[110]) /*AbstractArray::add*/;
-    variable[111] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[111]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[108])(variable[108], variable[111]) /*AbstractArray::add*/;
-    /* Register variable[108]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[108]) /*AbstractArray::add*/;
-    variable[109] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[110] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[111]: Result */
-    variable[111] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110], variable[111]) /*AbstractArray::add*/;
-    /* Register variable[110]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109], variable[110]) /*AbstractArray::add*/;
-    variable[111] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(158)) /*AbstractArray::add*/;
-    /* Register variable[111]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109], variable[111]) /*AbstractArray::add*/;
-    variable[112] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[112]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[109])(variable[109], variable[112]) /*AbstractArray::add*/;
-    /* Register variable[109]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[109]) /*AbstractArray::add*/;
-    variable[110] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[111] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[112]: Result */
-    variable[112] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111], variable[112]) /*AbstractArray::add*/;
-    /* Register variable[111]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110], variable[111]) /*AbstractArray::add*/;
-    variable[112] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[112]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110], variable[112]) /*AbstractArray::add*/;
-    variable[113] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113],  TAG_Int(159)) /*AbstractArray::add*/;
-    /* Register variable[113]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110], variable[113]) /*AbstractArray::add*/;
-    variable[114] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[114]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[110])(variable[110], variable[114]) /*AbstractArray::add*/;
-    /* Register variable[110]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[110]) /*AbstractArray::add*/;
-    variable[111] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[112] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112],  TAG_Int(111)) /*AbstractArray::add*/;
-    /* Register variable[113]: Result */
-    variable[113] = TAG_Int(-UNTAG_Int( TAG_Int(92)));
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112], variable[113]) /*AbstractArray::add*/;
-    /* Register variable[112]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111], variable[112]) /*AbstractArray::add*/;
-    variable[113] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113],  TAG_Int(160)) /*AbstractArray::add*/;
-    /* Register variable[113]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111], variable[113]) /*AbstractArray::add*/;
-    variable[114] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[114]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[111])(variable[111], variable[114]) /*AbstractArray::add*/;
-    /* Register variable[111]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[111]) /*AbstractArray::add*/;
-    variable[112] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[113] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113],  TAG_Int(104)) /*AbstractArray::add*/;
-    /* Register variable[114]: Result */
-    variable[114] = TAG_Int(-UNTAG_Int( TAG_Int(93)));
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113], variable[114]) /*AbstractArray::add*/;
-    /* Register variable[113]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112], variable[113]) /*AbstractArray::add*/;
-    variable[114] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(161)) /*AbstractArray::add*/;
-    /* Register variable[114]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112], variable[114]) /*AbstractArray::add*/;
-    variable[115] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[115]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[112])(variable[112], variable[115]) /*AbstractArray::add*/;
-    /* Register variable[112]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[112]) /*AbstractArray::add*/;
-    variable[113] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[114] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[115]: Result */
-    variable[115] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114], variable[115]) /*AbstractArray::add*/;
-    /* Register variable[114]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113], variable[114]) /*AbstractArray::add*/;
-    variable[115] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115],  TAG_Int(162)) /*AbstractArray::add*/;
-    /* Register variable[115]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113], variable[115]) /*AbstractArray::add*/;
-    variable[116] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[116]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[113])(variable[113], variable[116]) /*AbstractArray::add*/;
-    /* Register variable[113]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[113]) /*AbstractArray::add*/;
-    variable[114] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[115] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115],  TAG_Int(104)) /*AbstractArray::add*/;
-    /* Register variable[116]: Result */
-    variable[116] = TAG_Int(-UNTAG_Int( TAG_Int(93)));
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115], variable[116]) /*AbstractArray::add*/;
-    /* Register variable[115]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114], variable[115]) /*AbstractArray::add*/;
-    variable[116] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116],  TAG_Int(163)) /*AbstractArray::add*/;
-    /* Register variable[116]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114], variable[116]) /*AbstractArray::add*/;
-    variable[117] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[117]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[114])(variable[114], variable[117]) /*AbstractArray::add*/;
-    /* Register variable[114]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[114]) /*AbstractArray::add*/;
-    variable[115] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[116] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[117]: Result */
-    variable[117] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116], variable[117]) /*AbstractArray::add*/;
-    /* Register variable[116]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115], variable[116]) /*AbstractArray::add*/;
-    variable[117] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117],  TAG_Int(164)) /*AbstractArray::add*/;
-    /* Register variable[117]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115], variable[117]) /*AbstractArray::add*/;
-    variable[118] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[118])(variable[118],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[118])(variable[118],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[118])(variable[118],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[118]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[115])(variable[115], variable[118]) /*AbstractArray::add*/;
-    /* Register variable[115]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[115]) /*AbstractArray::add*/;
-    variable[116] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[117] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117],  TAG_Int(104)) /*AbstractArray::add*/;
-    /* Register variable[118]: Result */
-    variable[118] = TAG_Int(-UNTAG_Int( TAG_Int(93)));
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117], variable[118]) /*AbstractArray::add*/;
-    /* Register variable[117]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116], variable[117]) /*AbstractArray::add*/;
-    variable[118] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[118])(variable[118],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[118])(variable[118],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[118])(variable[118],  TAG_Int(165)) /*AbstractArray::add*/;
-    /* Register variable[118]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116], variable[118]) /*AbstractArray::add*/;
-    variable[119] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[119])(variable[119],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[119])(variable[119],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[119])(variable[119],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[119]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[116])(variable[116], variable[119]) /*AbstractArray::add*/;
-    /* Register variable[116]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[116]) /*AbstractArray::add*/;
-    variable[117] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[118] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[118])(variable[118],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[118])(variable[118],  TAG_Int(255)) /*AbstractArray::add*/;
-    /* Register variable[119]: Result */
-    variable[119] = TAG_Int(-UNTAG_Int( TAG_Int(47)));
-    CALL_abstract_collection___SimpleCollection___add(variable[118])(variable[118], variable[119]) /*AbstractArray::add*/;
-    /* Register variable[118]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[117])(variable[117], variable[118]) /*AbstractArray::add*/;
-    /* Register variable[117]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[117]) /*AbstractArray::add*/;
-    /* Register variable[118]: Result */
-    variable[118] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[118]) /*AbstractArray::add*/;
-    variable[119] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[120] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[120])(variable[120],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[120])(variable[120],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[120])(variable[120],  TAG_Int(166)) /*AbstractArray::add*/;
-    /* Register variable[120]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[119])(variable[119], variable[120]) /*AbstractArray::add*/;
-    variable[121] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[121])(variable[121],  TAG_Int(11)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[121])(variable[121],  TAG_Int(12)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[121])(variable[121],  TAG_Int(166)) /*AbstractArray::add*/;
-    /* Register variable[121]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[119])(variable[119], variable[121]) /*AbstractArray::add*/;
-    variable[122] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[122])(variable[122],  TAG_Int(14)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[122])(variable[122],  TAG_Int(255)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[122])(variable[122],  TAG_Int(166)) /*AbstractArray::add*/;
-    /* Register variable[122]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[119])(variable[119], variable[122]) /*AbstractArray::add*/;
-    /* Register variable[119]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[119]) /*AbstractArray::add*/;
-    /* Register variable[120]: Result */
-    variable[120] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[120]) /*AbstractArray::add*/;
-    variable[121] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[122] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[122])(variable[122],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[122])(variable[122],  TAG_Int(255)) /*AbstractArray::add*/;
-    /* Register variable[123]: Result */
-    variable[123] = TAG_Int(-UNTAG_Int( TAG_Int(8)));
-    CALL_abstract_collection___SimpleCollection___add(variable[122])(variable[122], variable[123]) /*AbstractArray::add*/;
-    /* Register variable[122]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[121])(variable[121], variable[122]) /*AbstractArray::add*/;
-    /* Register variable[121]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[121]) /*AbstractArray::add*/;
-    /* Register variable[122]: Result */
-    variable[122] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[122]) /*AbstractArray::add*/;
-    /* Register variable[123]: Result */
-    variable[123] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[123]) /*AbstractArray::add*/;
-    /* Register variable[124]: Result */
-    variable[124] = CALL_lexer___Lexer___nil_array(variable[0])(variable[0]) /*Lexer::nil_array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[124]) /*AbstractArray::add*/;
-    variable[125] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[126] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[126])(variable[126],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[126])(variable[126],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[127]: Result */
-    variable[127] = TAG_Int(-UNTAG_Int( TAG_Int(72)));
-    CALL_abstract_collection___SimpleCollection___add(variable[126])(variable[126], variable[127]) /*AbstractArray::add*/;
-    /* Register variable[126]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[125])(variable[125], variable[126]) /*AbstractArray::add*/;
-    /* Register variable[125]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[125]) /*AbstractArray::add*/;
-    variable[126] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[127] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[127])(variable[127],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[127])(variable[127],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[128]: Result */
-    variable[128] = TAG_Int(-UNTAG_Int( TAG_Int(72)));
-    CALL_abstract_collection___SimpleCollection___add(variable[127])(variable[127], variable[128]) /*AbstractArray::add*/;
-    /* Register variable[127]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[126])(variable[126], variable[127]) /*AbstractArray::add*/;
-    /* Register variable[126]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[126]) /*AbstractArray::add*/;
-    variable[127] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[128] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[128])(variable[128],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[128])(variable[128],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[129]: Result */
-    variable[129] = TAG_Int(-UNTAG_Int( TAG_Int(72)));
-    CALL_abstract_collection___SimpleCollection___add(variable[128])(variable[128], variable[129]) /*AbstractArray::add*/;
-    /* Register variable[128]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[127])(variable[127], variable[128]) /*AbstractArray::add*/;
-    /* Register variable[127]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[127]) /*AbstractArray::add*/;
-    variable[128] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[129] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[129])(variable[129],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[129])(variable[129],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[130]: Result */
-    variable[130] = TAG_Int(-UNTAG_Int( TAG_Int(72)));
-    CALL_abstract_collection___SimpleCollection___add(variable[129])(variable[129], variable[130]) /*AbstractArray::add*/;
-    /* Register variable[129]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[128])(variable[128], variable[129]) /*AbstractArray::add*/;
-    /* Register variable[128]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[128]) /*AbstractArray::add*/;
-    variable[129] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[130] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[130])(variable[130],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[130])(variable[130],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[131]: Result */
-    variable[131] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[130])(variable[130], variable[131]) /*AbstractArray::add*/;
-    /* Register variable[130]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[129])(variable[129], variable[130]) /*AbstractArray::add*/;
-    variable[131] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[131])(variable[131],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[131])(variable[131],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[131])(variable[131],  TAG_Int(167)) /*AbstractArray::add*/;
-    /* Register variable[131]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[129])(variable[129], variable[131]) /*AbstractArray::add*/;
-    variable[132] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[132]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[129])(variable[129], variable[132]) /*AbstractArray::add*/;
-    /* Register variable[129]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[129]) /*AbstractArray::add*/;
-    variable[130] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[131] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[131])(variable[131],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[131])(variable[131],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[132]: Result */
-    variable[132] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[131])(variable[131], variable[132]) /*AbstractArray::add*/;
-    /* Register variable[131]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[130])(variable[130], variable[131]) /*AbstractArray::add*/;
-    variable[132] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132],  TAG_Int(168)) /*AbstractArray::add*/;
-    /* Register variable[132]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[130])(variable[130], variable[132]) /*AbstractArray::add*/;
-    variable[133] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[133])(variable[133],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[133])(variable[133],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[133])(variable[133],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[133]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[130])(variable[130], variable[133]) /*AbstractArray::add*/;
-    /* Register variable[130]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[130]) /*AbstractArray::add*/;
-    variable[131] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[132] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[133]: Result */
-    variable[133] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132], variable[133]) /*AbstractArray::add*/;
-    /* Register variable[132]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[131])(variable[131], variable[132]) /*AbstractArray::add*/;
-    /* Register variable[131]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[131]) /*AbstractArray::add*/;
-    variable[132] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[133] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[133])(variable[133],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[133])(variable[133],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[134]: Result */
-    variable[134] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[133])(variable[133], variable[134]) /*AbstractArray::add*/;
-    /* Register variable[133]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132], variable[133]) /*AbstractArray::add*/;
-    variable[134] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[134])(variable[134],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[134])(variable[134],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[134])(variable[134],  TAG_Int(169)) /*AbstractArray::add*/;
-    /* Register variable[134]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132], variable[134]) /*AbstractArray::add*/;
-    variable[135] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[135]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[132])(variable[132], variable[135]) /*AbstractArray::add*/;
-    /* Register variable[132]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[132]) /*AbstractArray::add*/;
-    variable[133] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[134] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[134])(variable[134],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[134])(variable[134],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[135]: Result */
-    variable[135] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[134])(variable[134], variable[135]) /*AbstractArray::add*/;
-    /* Register variable[134]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[133])(variable[133], variable[134]) /*AbstractArray::add*/;
-    variable[135] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135],  TAG_Int(170)) /*AbstractArray::add*/;
-    /* Register variable[135]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[133])(variable[133], variable[135]) /*AbstractArray::add*/;
-    variable[136] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[136]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[133])(variable[133], variable[136]) /*AbstractArray::add*/;
-    /* Register variable[133]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[133]) /*AbstractArray::add*/;
-    variable[134] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[135] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[136]: Result */
-    variable[136] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135], variable[136]) /*AbstractArray::add*/;
-    /* Register variable[135]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[134])(variable[134], variable[135]) /*AbstractArray::add*/;
-    variable[136] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136],  TAG_Int(171)) /*AbstractArray::add*/;
-    /* Register variable[136]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[134])(variable[134], variable[136]) /*AbstractArray::add*/;
-    variable[137] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[137]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[134])(variable[134], variable[137]) /*AbstractArray::add*/;
-    /* Register variable[134]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[134]) /*AbstractArray::add*/;
-    variable[135] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[136] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136],  TAG_Int(114)) /*AbstractArray::add*/;
-    /* Register variable[137]: Result */
-    variable[137] = TAG_Int(-UNTAG_Int( TAG_Int(79)));
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136], variable[137]) /*AbstractArray::add*/;
-    /* Register variable[136]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135], variable[136]) /*AbstractArray::add*/;
-    variable[137] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137],  TAG_Int(172)) /*AbstractArray::add*/;
-    /* Register variable[137]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135], variable[137]) /*AbstractArray::add*/;
-    variable[138] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[138]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[135])(variable[135], variable[138]) /*AbstractArray::add*/;
-    /* Register variable[135]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[135]) /*AbstractArray::add*/;
-    variable[136] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[137] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[138]: Result */
-    variable[138] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137], variable[138]) /*AbstractArray::add*/;
-    /* Register variable[137]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136], variable[137]) /*AbstractArray::add*/;
-    variable[138] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138],  TAG_Int(173)) /*AbstractArray::add*/;
-    /* Register variable[138]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136], variable[138]) /*AbstractArray::add*/;
-    variable[139] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[139]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[136])(variable[136], variable[139]) /*AbstractArray::add*/;
-    /* Register variable[136]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[136]) /*AbstractArray::add*/;
-    variable[137] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[138] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[139]: Result */
-    variable[139] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138], variable[139]) /*AbstractArray::add*/;
-    /* Register variable[138]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137], variable[138]) /*AbstractArray::add*/;
-    variable[139] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139],  TAG_Int(174)) /*AbstractArray::add*/;
-    /* Register variable[139]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137], variable[139]) /*AbstractArray::add*/;
-    variable[140] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[140])(variable[140],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[140])(variable[140],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[140])(variable[140],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[140]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[137])(variable[137], variable[140]) /*AbstractArray::add*/;
-    /* Register variable[137]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[137]) /*AbstractArray::add*/;
-    variable[138] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[139] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[140]: Result */
-    variable[140] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139], variable[140]) /*AbstractArray::add*/;
-    /* Register variable[139]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[138])(variable[138], variable[139]) /*AbstractArray::add*/;
-    /* Register variable[138]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[138]) /*AbstractArray::add*/;
-    variable[139] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[140] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[140])(variable[140],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[140])(variable[140],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[141]: Result */
-    variable[141] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[140])(variable[140], variable[141]) /*AbstractArray::add*/;
-    /* Register variable[140]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139], variable[140]) /*AbstractArray::add*/;
-    variable[141] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[141])(variable[141],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[141])(variable[141],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[141])(variable[141],  TAG_Int(175)) /*AbstractArray::add*/;
-    /* Register variable[141]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139], variable[141]) /*AbstractArray::add*/;
-    variable[142] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[142]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[139])(variable[139], variable[142]) /*AbstractArray::add*/;
-    /* Register variable[139]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[139]) /*AbstractArray::add*/;
-    variable[140] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[141] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[141])(variable[141],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[141])(variable[141],  TAG_Int(114)) /*AbstractArray::add*/;
-    /* Register variable[142]: Result */
-    variable[142] = TAG_Int(-UNTAG_Int( TAG_Int(79)));
-    CALL_abstract_collection___SimpleCollection___add(variable[141])(variable[141], variable[142]) /*AbstractArray::add*/;
-    /* Register variable[141]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[140])(variable[140], variable[141]) /*AbstractArray::add*/;
-    variable[142] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142],  TAG_Int(176)) /*AbstractArray::add*/;
-    /* Register variable[142]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[140])(variable[140], variable[142]) /*AbstractArray::add*/;
-    variable[143] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[143])(variable[143],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[143])(variable[143],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[143])(variable[143],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[143]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[140])(variable[140], variable[143]) /*AbstractArray::add*/;
-    /* Register variable[140]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[140]) /*AbstractArray::add*/;
-    variable[141] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[142] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[143]: Result */
-    variable[143] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142], variable[143]) /*AbstractArray::add*/;
-    /* Register variable[142]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[141])(variable[141], variable[142]) /*AbstractArray::add*/;
-    /* Register variable[141]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[141]) /*AbstractArray::add*/;
-    variable[142] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[143] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[143])(variable[143],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[143])(variable[143],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[144]: Result */
-    variable[144] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[143])(variable[143], variable[144]) /*AbstractArray::add*/;
-    /* Register variable[143]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[142])(variable[142], variable[143]) /*AbstractArray::add*/;
-    /* Register variable[142]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[142]) /*AbstractArray::add*/;
-    variable[143] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[144] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[144])(variable[144],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[144])(variable[144],  TAG_Int(110)) /*AbstractArray::add*/;
-    /* Register variable[145]: Result */
-    variable[145] = TAG_Int(-UNTAG_Int( TAG_Int(32)));
-    CALL_abstract_collection___SimpleCollection___add(variable[144])(variable[144], variable[145]) /*AbstractArray::add*/;
-    /* Register variable[144]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[143])(variable[143], variable[144]) /*AbstractArray::add*/;
-    variable[145] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145],  TAG_Int(177)) /*AbstractArray::add*/;
-    /* Register variable[145]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[143])(variable[143], variable[145]) /*AbstractArray::add*/;
-    variable[146] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146],  TAG_Int(112)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[146]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[143])(variable[143], variable[146]) /*AbstractArray::add*/;
-    /* Register variable[143]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[143]) /*AbstractArray::add*/;
-    variable[144] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[145] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[146]: Result */
-    variable[146] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145], variable[146]) /*AbstractArray::add*/;
-    /* Register variable[145]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[144])(variable[144], variable[145]) /*AbstractArray::add*/;
-    variable[146] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146],  TAG_Int(178)) /*AbstractArray::add*/;
-    /* Register variable[146]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[144])(variable[144], variable[146]) /*AbstractArray::add*/;
-    variable[147] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[147]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[144])(variable[144], variable[147]) /*AbstractArray::add*/;
-    /* Register variable[144]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[144]) /*AbstractArray::add*/;
-    variable[145] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[146] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[147]: Result */
-    variable[147] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146], variable[147]) /*AbstractArray::add*/;
-    /* Register variable[146]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145], variable[146]) /*AbstractArray::add*/;
-    variable[147] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147],  TAG_Int(179)) /*AbstractArray::add*/;
-    /* Register variable[147]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145], variable[147]) /*AbstractArray::add*/;
-    variable[148] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[148])(variable[148],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[148])(variable[148],  TAG_Int(113)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[148])(variable[148],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[148]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145], variable[148]) /*AbstractArray::add*/;
-    variable[149] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149],  TAG_Int(180)) /*AbstractArray::add*/;
-    /* Register variable[149]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145], variable[149]) /*AbstractArray::add*/;
-    variable[150] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[150]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[145])(variable[145], variable[150]) /*AbstractArray::add*/;
-    /* Register variable[145]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[145]) /*AbstractArray::add*/;
-    variable[146] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[147] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[148]: Result */
-    variable[148] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147], variable[148]) /*AbstractArray::add*/;
-    /* Register variable[147]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[146])(variable[146], variable[147]) /*AbstractArray::add*/;
-    /* Register variable[146]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[146]) /*AbstractArray::add*/;
-    variable[147] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[148] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[148])(variable[148],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[148])(variable[148],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[149]: Result */
-    variable[149] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[148])(variable[148], variable[149]) /*AbstractArray::add*/;
-    /* Register variable[148]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147], variable[148]) /*AbstractArray::add*/;
-    variable[149] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149],  TAG_Int(181)) /*AbstractArray::add*/;
-    /* Register variable[149]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147], variable[149]) /*AbstractArray::add*/;
-    variable[150] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[150]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[147])(variable[147], variable[150]) /*AbstractArray::add*/;
-    /* Register variable[147]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[147]) /*AbstractArray::add*/;
-    variable[148] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[149] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149],  TAG_Int(103)) /*AbstractArray::add*/;
-    /* Register variable[150]: Result */
-    variable[150] = TAG_Int(-UNTAG_Int( TAG_Int(43)));
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149], variable[150]) /*AbstractArray::add*/;
-    /* Register variable[149]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[148])(variable[148], variable[149]) /*AbstractArray::add*/;
-    variable[150] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(182)) /*AbstractArray::add*/;
-    /* Register variable[150]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[148])(variable[148], variable[150]) /*AbstractArray::add*/;
-    variable[151] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[151])(variable[151],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[151])(variable[151],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[151])(variable[151],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[151]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[148])(variable[148], variable[151]) /*AbstractArray::add*/;
-    /* Register variable[148]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[148]) /*AbstractArray::add*/;
-    variable[149] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[150] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[151]: Result */
-    variable[151] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150], variable[151]) /*AbstractArray::add*/;
-    /* Register variable[150]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[149])(variable[149], variable[150]) /*AbstractArray::add*/;
-    /* Register variable[149]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[149]) /*AbstractArray::add*/;
-    variable[150] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[151] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[151])(variable[151],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[151])(variable[151],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[152]: Result */
-    variable[152] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[151])(variable[151], variable[152]) /*AbstractArray::add*/;
-    /* Register variable[151]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[150])(variable[150], variable[151]) /*AbstractArray::add*/;
-    /* Register variable[150]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[150]) /*AbstractArray::add*/;
-    variable[151] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[152] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[152])(variable[152],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[152])(variable[152],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[153]: Result */
-    variable[153] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[152])(variable[152], variable[153]) /*AbstractArray::add*/;
-    /* Register variable[152]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[151])(variable[151], variable[152]) /*AbstractArray::add*/;
-    variable[153] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153],  TAG_Int(183)) /*AbstractArray::add*/;
-    /* Register variable[153]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[151])(variable[151], variable[153]) /*AbstractArray::add*/;
-    variable[154] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[154]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[151])(variable[151], variable[154]) /*AbstractArray::add*/;
-    /* Register variable[151]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[151]) /*AbstractArray::add*/;
-    variable[152] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[153] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[154]: Result */
-    variable[154] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153], variable[154]) /*AbstractArray::add*/;
-    /* Register variable[153]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[152])(variable[152], variable[153]) /*AbstractArray::add*/;
-    variable[154] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154],  TAG_Int(184)) /*AbstractArray::add*/;
-    /* Register variable[154]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[152])(variable[152], variable[154]) /*AbstractArray::add*/;
-    variable[155] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[155]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[152])(variable[152], variable[155]) /*AbstractArray::add*/;
-    /* Register variable[152]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[152]) /*AbstractArray::add*/;
-    variable[153] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[154] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[155]: Result */
-    variable[155] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154], variable[155]) /*AbstractArray::add*/;
-    /* Register variable[154]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153], variable[154]) /*AbstractArray::add*/;
-    variable[155] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[155]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153], variable[155]) /*AbstractArray::add*/;
-    variable[156] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156],  TAG_Int(107)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156],  TAG_Int(107)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156],  TAG_Int(185)) /*AbstractArray::add*/;
-    /* Register variable[156]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153], variable[156]) /*AbstractArray::add*/;
-    variable[157] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[157]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[153])(variable[153], variable[157]) /*AbstractArray::add*/;
-    /* Register variable[153]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[153]) /*AbstractArray::add*/;
-    variable[154] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[155] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[156]: Result */
-    variable[156] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155], variable[156]) /*AbstractArray::add*/;
-    /* Register variable[155]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154], variable[155]) /*AbstractArray::add*/;
-    variable[156] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[156]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154], variable[156]) /*AbstractArray::add*/;
-    variable[157] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(186)) /*AbstractArray::add*/;
-    /* Register variable[157]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154], variable[157]) /*AbstractArray::add*/;
-    variable[158] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(119)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[158]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[154])(variable[154], variable[158]) /*AbstractArray::add*/;
-    /* Register variable[154]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[154]) /*AbstractArray::add*/;
-    variable[155] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[156] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[157]: Result */
-    variable[157] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156], variable[157]) /*AbstractArray::add*/;
-    /* Register variable[156]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155], variable[156]) /*AbstractArray::add*/;
-    variable[157] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(187)) /*AbstractArray::add*/;
-    /* Register variable[157]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155], variable[157]) /*AbstractArray::add*/;
-    variable[158] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[158]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[155])(variable[155], variable[158]) /*AbstractArray::add*/;
-    /* Register variable[155]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[155]) /*AbstractArray::add*/;
-    variable[156] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[157] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157],  TAG_Int(99)) /*AbstractArray::add*/;
-    /* Register variable[158]: Result */
-    variable[158] = TAG_Int(-UNTAG_Int( TAG_Int(78)));
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157], variable[158]) /*AbstractArray::add*/;
-    /* Register variable[157]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156], variable[157]) /*AbstractArray::add*/;
-    variable[158] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(188)) /*AbstractArray::add*/;
-    /* Register variable[158]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156], variable[158]) /*AbstractArray::add*/;
-    variable[159] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[159]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[156])(variable[156], variable[159]) /*AbstractArray::add*/;
-    /* Register variable[156]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[156]) /*AbstractArray::add*/;
-    variable[157] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[158] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[159]: Result */
-    variable[159] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158], variable[159]) /*AbstractArray::add*/;
-    /* Register variable[158]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157], variable[158]) /*AbstractArray::add*/;
-    variable[159] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159],  TAG_Int(189)) /*AbstractArray::add*/;
-    /* Register variable[159]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157], variable[159]) /*AbstractArray::add*/;
-    variable[160] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[160]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[157])(variable[157], variable[160]) /*AbstractArray::add*/;
-    /* Register variable[157]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[157]) /*AbstractArray::add*/;
-    variable[158] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[159] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159],  TAG_Int(116)) /*AbstractArray::add*/;
-    /* Register variable[160]: Result */
-    variable[160] = TAG_Int(-UNTAG_Int( TAG_Int(108)));
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159], variable[160]) /*AbstractArray::add*/;
-    /* Register variable[159]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158], variable[159]) /*AbstractArray::add*/;
-    variable[160] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160],  TAG_Int(190)) /*AbstractArray::add*/;
-    /* Register variable[160]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158], variable[160]) /*AbstractArray::add*/;
-    variable[161] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[161]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[158])(variable[158], variable[161]) /*AbstractArray::add*/;
-    /* Register variable[158]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[158]) /*AbstractArray::add*/;
-    variable[159] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[160] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160],  TAG_Int(101)) /*AbstractArray::add*/;
-    /* Register variable[161]: Result */
-    variable[161] = TAG_Int(-UNTAG_Int( TAG_Int(36)));
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160], variable[161]) /*AbstractArray::add*/;
-    /* Register variable[160]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159], variable[160]) /*AbstractArray::add*/;
-    variable[161] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161],  TAG_Int(191)) /*AbstractArray::add*/;
-    /* Register variable[161]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159], variable[161]) /*AbstractArray::add*/;
-    variable[162] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162],  TAG_Int(103)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[162]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[159])(variable[159], variable[162]) /*AbstractArray::add*/;
-    /* Register variable[159]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[159]) /*AbstractArray::add*/;
-    variable[160] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[161] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161],  TAG_Int(98)) /*AbstractArray::add*/;
-    /* Register variable[162]: Result */
-    variable[162] = TAG_Int(-UNTAG_Int( TAG_Int(99)));
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161], variable[162]) /*AbstractArray::add*/;
-    /* Register variable[161]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160], variable[161]) /*AbstractArray::add*/;
-    variable[162] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162],  TAG_Int(192)) /*AbstractArray::add*/;
-    /* Register variable[162]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160], variable[162]) /*AbstractArray::add*/;
-    variable[163] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[163]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[160])(variable[160], variable[163]) /*AbstractArray::add*/;
-    /* Register variable[160]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[160]) /*AbstractArray::add*/;
-    variable[161] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[162] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[163]: Result */
-    variable[163] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162], variable[163]) /*AbstractArray::add*/;
-    /* Register variable[162]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161], variable[162]) /*AbstractArray::add*/;
-    variable[163] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163],  TAG_Int(193)) /*AbstractArray::add*/;
-    /* Register variable[163]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161], variable[163]) /*AbstractArray::add*/;
-    variable[164] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[164]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[161])(variable[161], variable[164]) /*AbstractArray::add*/;
-    /* Register variable[161]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[161]) /*AbstractArray::add*/;
-    variable[162] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[163] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163],  TAG_Int(109)) /*AbstractArray::add*/;
-    /* Register variable[164]: Result */
-    variable[164] = TAG_Int(-UNTAG_Int( TAG_Int(39)));
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163], variable[164]) /*AbstractArray::add*/;
-    /* Register variable[163]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162], variable[163]) /*AbstractArray::add*/;
-    variable[164] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164],  TAG_Int(194)) /*AbstractArray::add*/;
-    /* Register variable[164]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162], variable[164]) /*AbstractArray::add*/;
-    variable[165] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[165]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[162])(variable[162], variable[165]) /*AbstractArray::add*/;
-    /* Register variable[162]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[162]) /*AbstractArray::add*/;
-    variable[163] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[164] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[165]: Result */
-    variable[165] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164], variable[165]) /*AbstractArray::add*/;
-    /* Register variable[164]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163], variable[164]) /*AbstractArray::add*/;
-    variable[165] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165],  TAG_Int(195)) /*AbstractArray::add*/;
-    /* Register variable[165]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163], variable[165]) /*AbstractArray::add*/;
-    variable[166] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[166]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[163])(variable[163], variable[166]) /*AbstractArray::add*/;
-    /* Register variable[163]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[163]) /*AbstractArray::add*/;
-    variable[164] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[165] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[166]: Result */
-    variable[166] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165], variable[166]) /*AbstractArray::add*/;
-    /* Register variable[165]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164], variable[165]) /*AbstractArray::add*/;
-    variable[166] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166],  TAG_Int(196)) /*AbstractArray::add*/;
-    /* Register variable[166]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164], variable[166]) /*AbstractArray::add*/;
-    variable[167] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[167]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[164])(variable[164], variable[167]) /*AbstractArray::add*/;
-    /* Register variable[164]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[164]) /*AbstractArray::add*/;
-    variable[165] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[166] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166],  TAG_Int(117)) /*AbstractArray::add*/;
-    /* Register variable[167]: Result */
-    variable[167] = TAG_Int(-UNTAG_Int( TAG_Int(152)));
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166], variable[167]) /*AbstractArray::add*/;
-    /* Register variable[166]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165], variable[166]) /*AbstractArray::add*/;
-    variable[167] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167],  TAG_Int(197)) /*AbstractArray::add*/;
-    /* Register variable[167]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165], variable[167]) /*AbstractArray::add*/;
-    variable[168] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[168])(variable[168],  TAG_Int(119)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[168])(variable[168],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[168])(variable[168],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[168]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[165])(variable[165], variable[168]) /*AbstractArray::add*/;
-    /* Register variable[165]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[165]) /*AbstractArray::add*/;
-    variable[166] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[167] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[168]: Result */
-    variable[168] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167], variable[168]) /*AbstractArray::add*/;
-    /* Register variable[167]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[166])(variable[166], variable[167]) /*AbstractArray::add*/;
-    /* Register variable[166]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[166]) /*AbstractArray::add*/;
-    variable[167] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[168] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[168])(variable[168],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[168])(variable[168],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[169]: Result */
-    variable[169] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[168])(variable[168], variable[169]) /*AbstractArray::add*/;
-    /* Register variable[168]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167], variable[168]) /*AbstractArray::add*/;
-    variable[169] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[169])(variable[169],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[169])(variable[169],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[169])(variable[169],  TAG_Int(198)) /*AbstractArray::add*/;
-    /* Register variable[169]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167], variable[169]) /*AbstractArray::add*/;
-    variable[170] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[170]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[167])(variable[167], variable[170]) /*AbstractArray::add*/;
-    /* Register variable[167]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[167]) /*AbstractArray::add*/;
-    variable[168] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[169] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[169])(variable[169],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[169])(variable[169],  TAG_Int(103)) /*AbstractArray::add*/;
-    /* Register variable[170]: Result */
-    variable[170] = TAG_Int(-UNTAG_Int( TAG_Int(43)));
-    CALL_abstract_collection___SimpleCollection___add(variable[169])(variable[169], variable[170]) /*AbstractArray::add*/;
-    /* Register variable[169]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[168])(variable[168], variable[169]) /*AbstractArray::add*/;
-    variable[170] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170],  TAG_Int(199)) /*AbstractArray::add*/;
-    /* Register variable[170]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[168])(variable[168], variable[170]) /*AbstractArray::add*/;
-    variable[171] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[171]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[168])(variable[168], variable[171]) /*AbstractArray::add*/;
-    /* Register variable[168]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[168]) /*AbstractArray::add*/;
-    variable[169] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[170] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[171]: Result */
-    variable[171] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170], variable[171]) /*AbstractArray::add*/;
-    /* Register variable[170]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[169])(variable[169], variable[170]) /*AbstractArray::add*/;
-    variable[171] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171],  TAG_Int(200)) /*AbstractArray::add*/;
-    /* Register variable[171]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[169])(variable[169], variable[171]) /*AbstractArray::add*/;
-    variable[172] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[172])(variable[172],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[172])(variable[172],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[172])(variable[172],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[172]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[169])(variable[169], variable[172]) /*AbstractArray::add*/;
-    /* Register variable[169]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[169]) /*AbstractArray::add*/;
-    variable[170] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[171] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171],  TAG_Int(255)) /*AbstractArray::add*/;
-    /* Register variable[172]: Result */
-    variable[172] = TAG_Int(-UNTAG_Int( TAG_Int(47)));
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171], variable[172]) /*AbstractArray::add*/;
-    /* Register variable[171]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[170])(variable[170], variable[171]) /*AbstractArray::add*/;
-    /* Register variable[170]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[170]) /*AbstractArray::add*/;
-    variable[171] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[172] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[172])(variable[172],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[172])(variable[172],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[173]: Result */
-    variable[173] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[172])(variable[172], variable[173]) /*AbstractArray::add*/;
-    /* Register variable[172]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171], variable[172]) /*AbstractArray::add*/;
-    variable[173] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[173])(variable[173],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[173])(variable[173],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[173])(variable[173],  TAG_Int(201)) /*AbstractArray::add*/;
-    /* Register variable[173]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171], variable[173]) /*AbstractArray::add*/;
-    variable[174] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[174]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[171])(variable[171], variable[174]) /*AbstractArray::add*/;
-    /* Register variable[171]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[171]) /*AbstractArray::add*/;
-    variable[172] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[173] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[173])(variable[173],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[173])(variable[173],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[174]: Result */
-    variable[174] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[173])(variable[173], variable[174]) /*AbstractArray::add*/;
-    /* Register variable[173]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[172])(variable[172], variable[173]) /*AbstractArray::add*/;
-    variable[174] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174],  TAG_Int(202)) /*AbstractArray::add*/;
-    /* Register variable[174]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[172])(variable[172], variable[174]) /*AbstractArray::add*/;
-    variable[175] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[175]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[172])(variable[172], variable[175]) /*AbstractArray::add*/;
-    /* Register variable[172]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[172]) /*AbstractArray::add*/;
-    variable[173] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[174] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[175]: Result */
-    variable[175] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174], variable[175]) /*AbstractArray::add*/;
-    /* Register variable[174]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[173])(variable[173], variable[174]) /*AbstractArray::add*/;
-    variable[175] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175],  TAG_Int(203)) /*AbstractArray::add*/;
-    /* Register variable[175]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[173])(variable[173], variable[175]) /*AbstractArray::add*/;
-    variable[176] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[176])(variable[176],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[176])(variable[176],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[176])(variable[176],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[176]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[173])(variable[173], variable[176]) /*AbstractArray::add*/;
-    /* Register variable[173]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[173]) /*AbstractArray::add*/;
-    variable[174] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[175] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[176]: Result */
-    variable[176] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175], variable[176]) /*AbstractArray::add*/;
-    /* Register variable[175]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[174])(variable[174], variable[175]) /*AbstractArray::add*/;
-    /* Register variable[174]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[174]) /*AbstractArray::add*/;
-    variable[175] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[176] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[176])(variable[176],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[176])(variable[176],  TAG_Int(106)) /*AbstractArray::add*/;
-    /* Register variable[177]: Result */
-    variable[177] = TAG_Int(-UNTAG_Int( TAG_Int(151)));
-    CALL_abstract_collection___SimpleCollection___add(variable[176])(variable[176], variable[177]) /*AbstractArray::add*/;
-    /* Register variable[176]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175], variable[176]) /*AbstractArray::add*/;
-    variable[177] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[177])(variable[177],  TAG_Int(107)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[177])(variable[177],  TAG_Int(107)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[177])(variable[177],  TAG_Int(204)) /*AbstractArray::add*/;
-    /* Register variable[177]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175], variable[177]) /*AbstractArray::add*/;
-    variable[178] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[178]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[175])(variable[175], variable[178]) /*AbstractArray::add*/;
-    /* Register variable[175]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[175]) /*AbstractArray::add*/;
-    variable[176] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[177] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[177])(variable[177],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[177])(variable[177],  TAG_Int(114)) /*AbstractArray::add*/;
-    /* Register variable[178]: Result */
-    variable[178] = TAG_Int(-UNTAG_Int( TAG_Int(79)));
-    CALL_abstract_collection___SimpleCollection___add(variable[177])(variable[177], variable[178]) /*AbstractArray::add*/;
-    /* Register variable[177]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[176])(variable[176], variable[177]) /*AbstractArray::add*/;
-    variable[178] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178],  TAG_Int(205)) /*AbstractArray::add*/;
-    /* Register variable[178]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[176])(variable[176], variable[178]) /*AbstractArray::add*/;
-    variable[179] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[179]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[176])(variable[176], variable[179]) /*AbstractArray::add*/;
-    /* Register variable[176]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[176]) /*AbstractArray::add*/;
-    variable[177] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[178] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178],  TAG_Int(104)) /*AbstractArray::add*/;
-    /* Register variable[179]: Result */
-    variable[179] = TAG_Int(-UNTAG_Int( TAG_Int(93)));
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178], variable[179]) /*AbstractArray::add*/;
-    /* Register variable[178]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[177])(variable[177], variable[178]) /*AbstractArray::add*/;
-    variable[179] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179],  TAG_Int(206)) /*AbstractArray::add*/;
-    /* Register variable[179]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[177])(variable[177], variable[179]) /*AbstractArray::add*/;
-    variable[180] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[180])(variable[180],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[180])(variable[180],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[180])(variable[180],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[180]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[177])(variable[177], variable[180]) /*AbstractArray::add*/;
-    /* Register variable[177]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[177]) /*AbstractArray::add*/;
-    variable[178] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[179] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[180]: Result */
-    variable[180] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179], variable[180]) /*AbstractArray::add*/;
-    /* Register variable[179]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[178])(variable[178], variable[179]) /*AbstractArray::add*/;
-    /* Register variable[178]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[178]) /*AbstractArray::add*/;
-    variable[179] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[180] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[180])(variable[180],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[180])(variable[180],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[181]: Result */
-    variable[181] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[180])(variable[180], variable[181]) /*AbstractArray::add*/;
-    /* Register variable[180]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179], variable[180]) /*AbstractArray::add*/;
-    variable[181] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[181])(variable[181],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[181])(variable[181],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[181])(variable[181],  TAG_Int(207)) /*AbstractArray::add*/;
-    /* Register variable[181]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179], variable[181]) /*AbstractArray::add*/;
-    variable[182] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[182]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[179])(variable[179], variable[182]) /*AbstractArray::add*/;
-    /* Register variable[179]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[179]) /*AbstractArray::add*/;
-    variable[180] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[181] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[181])(variable[181],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[181])(variable[181],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[182]: Result */
-    variable[182] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[181])(variable[181], variable[182]) /*AbstractArray::add*/;
-    /* Register variable[181]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[180])(variable[180], variable[181]) /*AbstractArray::add*/;
-    variable[182] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182],  TAG_Int(208)) /*AbstractArray::add*/;
-    /* Register variable[182]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[180])(variable[180], variable[182]) /*AbstractArray::add*/;
-    variable[183] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[183]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[180])(variable[180], variable[183]) /*AbstractArray::add*/;
-    /* Register variable[180]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[180]) /*AbstractArray::add*/;
-    variable[181] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[182] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[183]: Result */
-    variable[183] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182], variable[183]) /*AbstractArray::add*/;
-    /* Register variable[182]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[181])(variable[181], variable[182]) /*AbstractArray::add*/;
-    variable[183] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183],  TAG_Int(209)) /*AbstractArray::add*/;
-    /* Register variable[183]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[181])(variable[181], variable[183]) /*AbstractArray::add*/;
-    variable[184] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[184])(variable[184],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[184])(variable[184],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[184])(variable[184],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[184]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[181])(variable[181], variable[184]) /*AbstractArray::add*/;
-    /* Register variable[181]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[181]) /*AbstractArray::add*/;
-    variable[182] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[183] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[184]: Result */
-    variable[184] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183], variable[184]) /*AbstractArray::add*/;
-    /* Register variable[183]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[182])(variable[182], variable[183]) /*AbstractArray::add*/;
-    /* Register variable[182]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[182]) /*AbstractArray::add*/;
-    variable[183] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[184] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[184])(variable[184],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[184])(variable[184],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[185]: Result */
-    variable[185] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[184])(variable[184], variable[185]) /*AbstractArray::add*/;
-    /* Register variable[184]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183], variable[184]) /*AbstractArray::add*/;
-    variable[185] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[185])(variable[185],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[185])(variable[185],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[185])(variable[185],  TAG_Int(210)) /*AbstractArray::add*/;
-    /* Register variable[185]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183], variable[185]) /*AbstractArray::add*/;
-    variable[186] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[186]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[183])(variable[183], variable[186]) /*AbstractArray::add*/;
-    /* Register variable[183]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[183]) /*AbstractArray::add*/;
-    variable[184] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[185] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[185])(variable[185],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[185])(variable[185],  TAG_Int(116)) /*AbstractArray::add*/;
-    /* Register variable[186]: Result */
-    variable[186] = TAG_Int(-UNTAG_Int( TAG_Int(108)));
-    CALL_abstract_collection___SimpleCollection___add(variable[185])(variable[185], variable[186]) /*AbstractArray::add*/;
-    /* Register variable[185]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[184])(variable[184], variable[185]) /*AbstractArray::add*/;
-    variable[186] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186],  TAG_Int(211)) /*AbstractArray::add*/;
-    /* Register variable[186]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[184])(variable[184], variable[186]) /*AbstractArray::add*/;
-    variable[187] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[187]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[184])(variable[184], variable[187]) /*AbstractArray::add*/;
-    /* Register variable[184]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[184]) /*AbstractArray::add*/;
-    variable[185] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[186] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[187]: Result */
-    variable[187] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186], variable[187]) /*AbstractArray::add*/;
-    /* Register variable[186]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[185])(variable[185], variable[186]) /*AbstractArray::add*/;
-    variable[187] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187],  TAG_Int(212)) /*AbstractArray::add*/;
-    /* Register variable[187]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[185])(variable[185], variable[187]) /*AbstractArray::add*/;
-    variable[188] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[188])(variable[188],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[188])(variable[188],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[188])(variable[188],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[188]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[185])(variable[185], variable[188]) /*AbstractArray::add*/;
-    /* Register variable[185]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[185]) /*AbstractArray::add*/;
-    variable[186] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[187] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[188]: Result */
-    variable[188] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187], variable[188]) /*AbstractArray::add*/;
-    /* Register variable[187]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[186])(variable[186], variable[187]) /*AbstractArray::add*/;
-    /* Register variable[186]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[186]) /*AbstractArray::add*/;
-    variable[187] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[188] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[188])(variable[188],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[188])(variable[188],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[189]: Result */
-    variable[189] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[188])(variable[188], variable[189]) /*AbstractArray::add*/;
-    /* Register variable[188]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187], variable[188]) /*AbstractArray::add*/;
-    variable[189] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[189])(variable[189],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[189])(variable[189],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[189])(variable[189],  TAG_Int(213)) /*AbstractArray::add*/;
-    /* Register variable[189]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187], variable[189]) /*AbstractArray::add*/;
-    variable[190] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[190])(variable[190],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[190])(variable[190],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[190])(variable[190],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[190]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[187])(variable[187], variable[190]) /*AbstractArray::add*/;
-    /* Register variable[187]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[187]) /*AbstractArray::add*/;
-    variable[188] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[189] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[189])(variable[189],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[189])(variable[189],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[190]: Result */
-    variable[190] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[189])(variable[189], variable[190]) /*AbstractArray::add*/;
-    /* Register variable[189]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[188])(variable[188], variable[189]) /*AbstractArray::add*/;
-    /* Register variable[188]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[188]) /*AbstractArray::add*/;
-    variable[189] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[190] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[190])(variable[190],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[190])(variable[190],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[191]: Result */
-    variable[191] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[190])(variable[190], variable[191]) /*AbstractArray::add*/;
-    /* Register variable[190]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[189])(variable[189], variable[190]) /*AbstractArray::add*/;
-    variable[191] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[191])(variable[191],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[191])(variable[191],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[191])(variable[191],  TAG_Int(214)) /*AbstractArray::add*/;
-    /* Register variable[191]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[189])(variable[189], variable[191]) /*AbstractArray::add*/;
-    variable[192] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[192]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[189])(variable[189], variable[192]) /*AbstractArray::add*/;
-    /* Register variable[189]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[189]) /*AbstractArray::add*/;
-    variable[190] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[191] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[191])(variable[191],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[191])(variable[191],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[192]: Result */
-    variable[192] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[191])(variable[191], variable[192]) /*AbstractArray::add*/;
-    /* Register variable[191]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[190])(variable[190], variable[191]) /*AbstractArray::add*/;
-    variable[192] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192],  TAG_Int(215)) /*AbstractArray::add*/;
-    /* Register variable[192]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[190])(variable[190], variable[192]) /*AbstractArray::add*/;
-    variable[193] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[193]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[190])(variable[190], variable[193]) /*AbstractArray::add*/;
-    /* Register variable[190]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[190]) /*AbstractArray::add*/;
-    variable[191] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[192] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[193]: Result */
-    variable[193] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192], variable[193]) /*AbstractArray::add*/;
-    /* Register variable[192]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[191])(variable[191], variable[192]) /*AbstractArray::add*/;
-    variable[193] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193],  TAG_Int(216)) /*AbstractArray::add*/;
-    /* Register variable[193]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[191])(variable[191], variable[193]) /*AbstractArray::add*/;
-    variable[194] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[194]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[191])(variable[191], variable[194]) /*AbstractArray::add*/;
-    /* Register variable[191]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[191]) /*AbstractArray::add*/;
-    variable[192] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[193] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[194]: Result */
-    variable[194] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193], variable[194]) /*AbstractArray::add*/;
-    /* Register variable[193]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192], variable[193]) /*AbstractArray::add*/;
-    variable[194] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194],  TAG_Int(217)) /*AbstractArray::add*/;
-    /* Register variable[194]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192], variable[194]) /*AbstractArray::add*/;
-    variable[195] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[195]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[192])(variable[192], variable[195]) /*AbstractArray::add*/;
-    /* Register variable[192]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[192]) /*AbstractArray::add*/;
-    variable[193] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[194] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194],  TAG_Int(101)) /*AbstractArray::add*/;
-    /* Register variable[195]: Result */
-    variable[195] = TAG_Int(-UNTAG_Int( TAG_Int(36)));
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194], variable[195]) /*AbstractArray::add*/;
-    /* Register variable[194]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193], variable[194]) /*AbstractArray::add*/;
-    variable[195] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195],  TAG_Int(218)) /*AbstractArray::add*/;
-    /* Register variable[195]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193], variable[195]) /*AbstractArray::add*/;
-    variable[196] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196],  TAG_Int(103)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[196]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[193])(variable[193], variable[196]) /*AbstractArray::add*/;
-    /* Register variable[193]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[193]) /*AbstractArray::add*/;
-    variable[194] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[195] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[196]: Result */
-    variable[196] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195], variable[196]) /*AbstractArray::add*/;
-    /* Register variable[195]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194], variable[195]) /*AbstractArray::add*/;
-    variable[196] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196],  TAG_Int(219)) /*AbstractArray::add*/;
-    /* Register variable[196]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194], variable[196]) /*AbstractArray::add*/;
-    variable[197] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[197])(variable[197],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[197])(variable[197],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[197])(variable[197],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[197]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[194])(variable[194], variable[197]) /*AbstractArray::add*/;
-    /* Register variable[194]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[194]) /*AbstractArray::add*/;
-    variable[195] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[196] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[197]: Result */
-    variable[197] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196], variable[197]) /*AbstractArray::add*/;
-    /* Register variable[196]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[195])(variable[195], variable[196]) /*AbstractArray::add*/;
-    /* Register variable[195]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[195]) /*AbstractArray::add*/;
-    variable[196] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[197] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[197])(variable[197],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[197])(variable[197],  TAG_Int(104)) /*AbstractArray::add*/;
-    /* Register variable[198]: Result */
-    variable[198] = TAG_Int(-UNTAG_Int( TAG_Int(93)));
-    CALL_abstract_collection___SimpleCollection___add(variable[197])(variable[197], variable[198]) /*AbstractArray::add*/;
-    /* Register variable[197]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196], variable[197]) /*AbstractArray::add*/;
-    variable[198] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[198])(variable[198],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[198])(variable[198],  TAG_Int(105)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[198])(variable[198],  TAG_Int(220)) /*AbstractArray::add*/;
-    /* Register variable[198]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196], variable[198]) /*AbstractArray::add*/;
-    variable[199] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199],  TAG_Int(106)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[199]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[196])(variable[196], variable[199]) /*AbstractArray::add*/;
-    /* Register variable[196]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[196]) /*AbstractArray::add*/;
-    variable[197] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[198] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[198])(variable[198],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[198])(variable[198],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[199]: Result */
-    variable[199] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[198])(variable[198], variable[199]) /*AbstractArray::add*/;
-    /* Register variable[198]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[197])(variable[197], variable[198]) /*AbstractArray::add*/;
-    variable[199] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199],  TAG_Int(221)) /*AbstractArray::add*/;
-    /* Register variable[199]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[197])(variable[197], variable[199]) /*AbstractArray::add*/;
-    variable[200] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[200])(variable[200],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[200])(variable[200],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[200])(variable[200],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[200]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[197])(variable[197], variable[200]) /*AbstractArray::add*/;
-    /* Register variable[197]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[197]) /*AbstractArray::add*/;
-    variable[198] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[199] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[200]: Result */
-    variable[200] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199], variable[200]) /*AbstractArray::add*/;
-    /* Register variable[199]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[198])(variable[198], variable[199]) /*AbstractArray::add*/;
-    /* Register variable[198]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[198]) /*AbstractArray::add*/;
-    variable[199] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[200] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[200])(variable[200],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[200])(variable[200],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[201]: Result */
-    variable[201] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[200])(variable[200], variable[201]) /*AbstractArray::add*/;
-    /* Register variable[200]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[199])(variable[199], variable[200]) /*AbstractArray::add*/;
-    /* Register variable[199]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[199]) /*AbstractArray::add*/;
-    variable[200] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[201] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[201])(variable[201],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[201])(variable[201],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[202]: Result */
-    variable[202] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[201])(variable[201], variable[202]) /*AbstractArray::add*/;
-    /* Register variable[201]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[200])(variable[200], variable[201]) /*AbstractArray::add*/;
-    /* Register variable[200]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[200]) /*AbstractArray::add*/;
-    variable[201] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[202] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[202])(variable[202],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[202])(variable[202],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[203]: Result */
-    variable[203] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[202])(variable[202], variable[203]) /*AbstractArray::add*/;
-    /* Register variable[202]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[201])(variable[201], variable[202]) /*AbstractArray::add*/;
-    variable[203] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[203])(variable[203],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[203])(variable[203],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[203])(variable[203],  TAG_Int(222)) /*AbstractArray::add*/;
-    /* Register variable[203]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[201])(variable[201], variable[203]) /*AbstractArray::add*/;
-    variable[204] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[204]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[201])(variable[201], variable[204]) /*AbstractArray::add*/;
-    /* Register variable[201]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[201]) /*AbstractArray::add*/;
-    variable[202] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[203] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[203])(variable[203],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[203])(variable[203],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[204]: Result */
-    variable[204] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[203])(variable[203], variable[204]) /*AbstractArray::add*/;
-    /* Register variable[203]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[202])(variable[202], variable[203]) /*AbstractArray::add*/;
-    variable[204] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204],  TAG_Int(223)) /*AbstractArray::add*/;
-    /* Register variable[204]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[202])(variable[202], variable[204]) /*AbstractArray::add*/;
-    variable[205] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[205])(variable[205],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[205])(variable[205],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[205])(variable[205],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[205]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[202])(variable[202], variable[205]) /*AbstractArray::add*/;
-    /* Register variable[202]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[202]) /*AbstractArray::add*/;
-    variable[203] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[204] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[205]: Result */
-    variable[205] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204], variable[205]) /*AbstractArray::add*/;
-    /* Register variable[204]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[203])(variable[203], variable[204]) /*AbstractArray::add*/;
-    /* Register variable[203]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[203]) /*AbstractArray::add*/;
-    variable[204] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[205] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[205])(variable[205],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[205])(variable[205],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[206]: Result */
-    variable[206] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[205])(variable[205], variable[206]) /*AbstractArray::add*/;
-    /* Register variable[205]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204], variable[205]) /*AbstractArray::add*/;
-    variable[206] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[206])(variable[206],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[206])(variable[206],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[206])(variable[206],  TAG_Int(224)) /*AbstractArray::add*/;
-    /* Register variable[206]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204], variable[206]) /*AbstractArray::add*/;
-    variable[207] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[207])(variable[207],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[207])(variable[207],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[207])(variable[207],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[207]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[204])(variable[204], variable[207]) /*AbstractArray::add*/;
-    /* Register variable[204]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[204]) /*AbstractArray::add*/;
-    variable[205] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[206] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[206])(variable[206],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[206])(variable[206],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[207]: Result */
-    variable[207] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[206])(variable[206], variable[207]) /*AbstractArray::add*/;
-    /* Register variable[206]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[205])(variable[205], variable[206]) /*AbstractArray::add*/;
-    /* Register variable[205]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[205]) /*AbstractArray::add*/;
-    variable[206] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[207] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[207])(variable[207],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[207])(variable[207],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[208]: Result */
-    variable[208] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[207])(variable[207], variable[208]) /*AbstractArray::add*/;
-    /* Register variable[207]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[206])(variable[206], variable[207]) /*AbstractArray::add*/;
-    variable[208] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[208])(variable[208],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[208])(variable[208],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[208])(variable[208],  TAG_Int(225)) /*AbstractArray::add*/;
-    /* Register variable[208]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[206])(variable[206], variable[208]) /*AbstractArray::add*/;
-    variable[209] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[209]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[206])(variable[206], variable[209]) /*AbstractArray::add*/;
-    /* Register variable[206]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[206]) /*AbstractArray::add*/;
-    variable[207] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[208] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[208])(variable[208],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[208])(variable[208],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[209]: Result */
-    variable[209] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[208])(variable[208], variable[209]) /*AbstractArray::add*/;
-    /* Register variable[208]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[207])(variable[207], variable[208]) /*AbstractArray::add*/;
-    variable[209] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209],  TAG_Int(226)) /*AbstractArray::add*/;
-    /* Register variable[209]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[207])(variable[207], variable[209]) /*AbstractArray::add*/;
-    variable[210] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[210])(variable[210],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[210])(variable[210],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[210])(variable[210],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[210]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[207])(variable[207], variable[210]) /*AbstractArray::add*/;
-    /* Register variable[207]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[207]) /*AbstractArray::add*/;
-    variable[208] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[209] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[210]: Result */
-    variable[210] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209], variable[210]) /*AbstractArray::add*/;
-    /* Register variable[209]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[208])(variable[208], variable[209]) /*AbstractArray::add*/;
-    /* Register variable[208]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[208]) /*AbstractArray::add*/;
-    variable[209] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[210] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[210])(variable[210],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[210])(variable[210],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[211]: Result */
-    variable[211] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[210])(variable[210], variable[211]) /*AbstractArray::add*/;
-    /* Register variable[210]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[209])(variable[209], variable[210]) /*AbstractArray::add*/;
-    /* Register variable[209]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[209]) /*AbstractArray::add*/;
-    variable[210] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[211] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[211])(variable[211],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[211])(variable[211],  TAG_Int(109)) /*AbstractArray::add*/;
-    /* Register variable[212]: Result */
-    variable[212] = TAG_Int(-UNTAG_Int( TAG_Int(39)));
-    CALL_abstract_collection___SimpleCollection___add(variable[211])(variable[211], variable[212]) /*AbstractArray::add*/;
-    /* Register variable[211]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[210])(variable[210], variable[211]) /*AbstractArray::add*/;
-    variable[212] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[212])(variable[212],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[212])(variable[212],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[212])(variable[212],  TAG_Int(227)) /*AbstractArray::add*/;
-    /* Register variable[212]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[210])(variable[210], variable[212]) /*AbstractArray::add*/;
-    variable[213] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[213]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[210])(variable[210], variable[213]) /*AbstractArray::add*/;
-    /* Register variable[210]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[210]) /*AbstractArray::add*/;
-    variable[211] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[212] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[212])(variable[212],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[212])(variable[212],  TAG_Int(109)) /*AbstractArray::add*/;
-    /* Register variable[213]: Result */
-    variable[213] = TAG_Int(-UNTAG_Int( TAG_Int(39)));
-    CALL_abstract_collection___SimpleCollection___add(variable[212])(variable[212], variable[213]) /*AbstractArray::add*/;
-    /* Register variable[212]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[211])(variable[211], variable[212]) /*AbstractArray::add*/;
-    variable[213] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213],  TAG_Int(228)) /*AbstractArray::add*/;
-    /* Register variable[213]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[211])(variable[211], variable[213]) /*AbstractArray::add*/;
-    variable[214] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[214]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[211])(variable[211], variable[214]) /*AbstractArray::add*/;
-    /* Register variable[211]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[211]) /*AbstractArray::add*/;
-    variable[212] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[213] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[214]: Result */
-    variable[214] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213], variable[214]) /*AbstractArray::add*/;
-    /* Register variable[213]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[212])(variable[212], variable[213]) /*AbstractArray::add*/;
-    /* Register variable[212]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[212]) /*AbstractArray::add*/;
-    variable[213] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[214] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[215]: Result */
-    variable[215] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214], variable[215]) /*AbstractArray::add*/;
-    /* Register variable[214]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213], variable[214]) /*AbstractArray::add*/;
-    variable[215] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[215])(variable[215],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[215])(variable[215],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[215])(variable[215],  TAG_Int(229)) /*AbstractArray::add*/;
-    /* Register variable[215]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213], variable[215]) /*AbstractArray::add*/;
-    variable[216] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[216]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[213])(variable[213], variable[216]) /*AbstractArray::add*/;
-    /* Register variable[213]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[213]) /*AbstractArray::add*/;
-    variable[214] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[215] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[215])(variable[215],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[215])(variable[215],  TAG_Int(101)) /*AbstractArray::add*/;
-    /* Register variable[216]: Result */
-    variable[216] = TAG_Int(-UNTAG_Int( TAG_Int(36)));
-    CALL_abstract_collection___SimpleCollection___add(variable[215])(variable[215], variable[216]) /*AbstractArray::add*/;
-    /* Register variable[215]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214], variable[215]) /*AbstractArray::add*/;
-    variable[216] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216],  TAG_Int(230)) /*AbstractArray::add*/;
-    /* Register variable[216]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214], variable[216]) /*AbstractArray::add*/;
-    variable[217] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217],  TAG_Int(103)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[217]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214], variable[217]) /*AbstractArray::add*/;
-    variable[218] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218],  TAG_Int(231)) /*AbstractArray::add*/;
-    /* Register variable[218]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214], variable[218]) /*AbstractArray::add*/;
-    variable[219] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[219]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[214])(variable[214], variable[219]) /*AbstractArray::add*/;
-    /* Register variable[214]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[214]) /*AbstractArray::add*/;
-    variable[215] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[216] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216],  TAG_Int(99)) /*AbstractArray::add*/;
-    /* Register variable[217]: Result */
-    variable[217] = TAG_Int(-UNTAG_Int( TAG_Int(78)));
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216], variable[217]) /*AbstractArray::add*/;
-    /* Register variable[216]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[215])(variable[215], variable[216]) /*AbstractArray::add*/;
-    variable[217] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217],  TAG_Int(232)) /*AbstractArray::add*/;
-    /* Register variable[217]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[215])(variable[215], variable[217]) /*AbstractArray::add*/;
-    variable[218] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[218]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[215])(variable[215], variable[218]) /*AbstractArray::add*/;
-    /* Register variable[215]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[215]) /*AbstractArray::add*/;
-    variable[216] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[217] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[218]: Result */
-    variable[218] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217], variable[218]) /*AbstractArray::add*/;
-    /* Register variable[217]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[216])(variable[216], variable[217]) /*AbstractArray::add*/;
-    /* Register variable[216]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[216]) /*AbstractArray::add*/;
-    variable[217] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[218] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218],  TAG_Int(97)) /*AbstractArray::add*/;
-    /* Register variable[219]: Result */
-    variable[219] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218], variable[219]) /*AbstractArray::add*/;
-    /* Register variable[218]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217], variable[218]) /*AbstractArray::add*/;
-    variable[219] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219],  TAG_Int(233)) /*AbstractArray::add*/;
-    /* Register variable[219]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217], variable[219]) /*AbstractArray::add*/;
-    variable[220] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[220]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[217])(variable[217], variable[220]) /*AbstractArray::add*/;
-    /* Register variable[217]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[217]) /*AbstractArray::add*/;
-    variable[218] = NEW_Array_array___Array___with_capacity(TAG_Int(4)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[219] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[220]: Result */
-    variable[220] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219], variable[220]) /*AbstractArray::add*/;
-    /* Register variable[219]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218], variable[219]) /*AbstractArray::add*/;
-    variable[220] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[220]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218], variable[220]) /*AbstractArray::add*/;
-    variable[221] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221],  TAG_Int(103)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221],  TAG_Int(103)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221],  TAG_Int(234)) /*AbstractArray::add*/;
-    /* Register variable[221]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218], variable[221]) /*AbstractArray::add*/;
-    variable[222] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(104)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[222]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[218])(variable[218], variable[222]) /*AbstractArray::add*/;
-    /* Register variable[218]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[218]) /*AbstractArray::add*/;
-    variable[219] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[220] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[221]: Result */
-    variable[221] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220], variable[221]) /*AbstractArray::add*/;
-    /* Register variable[220]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219], variable[220]) /*AbstractArray::add*/;
-    variable[221] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221],  TAG_Int(235)) /*AbstractArray::add*/;
-    /* Register variable[221]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219], variable[221]) /*AbstractArray::add*/;
-    variable[222] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[222]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[219])(variable[219], variable[222]) /*AbstractArray::add*/;
-    /* Register variable[219]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[219]) /*AbstractArray::add*/;
-    variable[220] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[221] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221],  TAG_Int(98)) /*AbstractArray::add*/;
-    /* Register variable[222]: Result */
-    variable[222] = TAG_Int(-UNTAG_Int( TAG_Int(99)));
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221], variable[222]) /*AbstractArray::add*/;
-    /* Register variable[221]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220], variable[221]) /*AbstractArray::add*/;
-    variable[222] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(236)) /*AbstractArray::add*/;
-    /* Register variable[222]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220], variable[222]) /*AbstractArray::add*/;
-    variable[223] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[223]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[220])(variable[220], variable[223]) /*AbstractArray::add*/;
-    /* Register variable[220]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[220]) /*AbstractArray::add*/;
-    variable[221] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[222] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222],  TAG_Int(97)) /*AbstractArray::add*/;
-    /* Register variable[223]: Result */
-    variable[223] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222], variable[223]) /*AbstractArray::add*/;
-    /* Register variable[222]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221], variable[222]) /*AbstractArray::add*/;
-    variable[223] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223],  TAG_Int(237)) /*AbstractArray::add*/;
-    /* Register variable[223]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221], variable[223]) /*AbstractArray::add*/;
-    variable[224] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[224])(variable[224],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[224])(variable[224],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[224])(variable[224],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[224]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[221])(variable[221], variable[224]) /*AbstractArray::add*/;
-    /* Register variable[221]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[221]) /*AbstractArray::add*/;
-    variable[222] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[223] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[224]: Result */
-    variable[224] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223], variable[224]) /*AbstractArray::add*/;
-    /* Register variable[223]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[222])(variable[222], variable[223]) /*AbstractArray::add*/;
-    /* Register variable[222]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[222]) /*AbstractArray::add*/;
-    variable[223] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[224] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[224])(variable[224],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[224])(variable[224],  TAG_Int(109)) /*AbstractArray::add*/;
-    /* Register variable[225]: Result */
-    variable[225] = TAG_Int(-UNTAG_Int( TAG_Int(39)));
-    CALL_abstract_collection___SimpleCollection___add(variable[224])(variable[224], variable[225]) /*AbstractArray::add*/;
-    /* Register variable[224]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223], variable[224]) /*AbstractArray::add*/;
-    variable[225] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[225])(variable[225],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[225])(variable[225],  TAG_Int(110)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[225])(variable[225],  TAG_Int(238)) /*AbstractArray::add*/;
-    /* Register variable[225]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223], variable[225]) /*AbstractArray::add*/;
-    variable[226] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226],  TAG_Int(111)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[226]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[223])(variable[223], variable[226]) /*AbstractArray::add*/;
-    /* Register variable[223]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[223]) /*AbstractArray::add*/;
-    variable[224] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[225] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[225])(variable[225],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[225])(variable[225],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[226]: Result */
-    variable[226] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[225])(variable[225], variable[226]) /*AbstractArray::add*/;
-    /* Register variable[225]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[224])(variable[224], variable[225]) /*AbstractArray::add*/;
-    variable[226] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226],  TAG_Int(239)) /*AbstractArray::add*/;
-    /* Register variable[226]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[224])(variable[224], variable[226]) /*AbstractArray::add*/;
-    variable[227] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[227])(variable[227],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[227])(variable[227],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[227])(variable[227],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[227]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[224])(variable[224], variable[227]) /*AbstractArray::add*/;
-    /* Register variable[224]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[224]) /*AbstractArray::add*/;
-    variable[225] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[226] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[227]: Result */
-    variable[227] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226], variable[227]) /*AbstractArray::add*/;
-    /* Register variable[226]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[225])(variable[225], variable[226]) /*AbstractArray::add*/;
-    /* Register variable[225]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[225]) /*AbstractArray::add*/;
-    variable[226] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[227] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[227])(variable[227],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[227])(variable[227],  TAG_Int(113)) /*AbstractArray::add*/;
-    /* Register variable[228]: Result */
-    variable[228] = TAG_Int(-UNTAG_Int( TAG_Int(30)));
-    CALL_abstract_collection___SimpleCollection___add(variable[227])(variable[227], variable[228]) /*AbstractArray::add*/;
-    /* Register variable[227]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226], variable[227]) /*AbstractArray::add*/;
-    variable[228] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[228])(variable[228],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[228])(variable[228],  TAG_Int(114)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[228])(variable[228],  TAG_Int(240)) /*AbstractArray::add*/;
-    /* Register variable[228]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226], variable[228]) /*AbstractArray::add*/;
-    variable[229] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[229])(variable[229],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[229])(variable[229],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[229])(variable[229],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[229]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[226])(variable[226], variable[229]) /*AbstractArray::add*/;
-    /* Register variable[226]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[226]) /*AbstractArray::add*/;
-    variable[227] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[228] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[228])(variable[228],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[228])(variable[228],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[229]: Result */
-    variable[229] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[228])(variable[228], variable[229]) /*AbstractArray::add*/;
-    /* Register variable[228]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[227])(variable[227], variable[228]) /*AbstractArray::add*/;
-    /* Register variable[227]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[227]) /*AbstractArray::add*/;
-    variable[228] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[229] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[229])(variable[229],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[229])(variable[229],  TAG_Int(97)) /*AbstractArray::add*/;
-    /* Register variable[230]: Result */
-    variable[230] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[229])(variable[229], variable[230]) /*AbstractArray::add*/;
-    /* Register variable[229]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[228])(variable[228], variable[229]) /*AbstractArray::add*/;
-    variable[230] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[230])(variable[230],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[230])(variable[230],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[230])(variable[230],  TAG_Int(241)) /*AbstractArray::add*/;
-    /* Register variable[230]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[228])(variable[228], variable[230]) /*AbstractArray::add*/;
-    variable[231] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[231]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[228])(variable[228], variable[231]) /*AbstractArray::add*/;
-    /* Register variable[228]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[228]) /*AbstractArray::add*/;
-    variable[229] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[230] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[230])(variable[230],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[230])(variable[230],  TAG_Int(98)) /*AbstractArray::add*/;
-    /* Register variable[231]: Result */
-    variable[231] = TAG_Int(-UNTAG_Int( TAG_Int(99)));
-    CALL_abstract_collection___SimpleCollection___add(variable[230])(variable[230], variable[231]) /*AbstractArray::add*/;
-    /* Register variable[230]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[229])(variable[229], variable[230]) /*AbstractArray::add*/;
-    variable[231] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231],  TAG_Int(242)) /*AbstractArray::add*/;
-    /* Register variable[231]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[229])(variable[229], variable[231]) /*AbstractArray::add*/;
-    variable[232] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[232])(variable[232],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[232])(variable[232],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[232])(variable[232],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[232]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[229])(variable[229], variable[232]) /*AbstractArray::add*/;
-    /* Register variable[229]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[229]) /*AbstractArray::add*/;
-    variable[230] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[231] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[232]: Result */
-    variable[232] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231], variable[232]) /*AbstractArray::add*/;
-    /* Register variable[231]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[230])(variable[230], variable[231]) /*AbstractArray::add*/;
-    /* Register variable[230]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[230]) /*AbstractArray::add*/;
-    variable[231] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[232] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[232])(variable[232],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[232])(variable[232],  TAG_Int(116)) /*AbstractArray::add*/;
-    /* Register variable[233]: Result */
-    variable[233] = TAG_Int(-UNTAG_Int( TAG_Int(108)));
-    CALL_abstract_collection___SimpleCollection___add(variable[232])(variable[232], variable[233]) /*AbstractArray::add*/;
-    /* Register variable[232]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231], variable[232]) /*AbstractArray::add*/;
-    variable[233] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[233])(variable[233],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[233])(variable[233],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[233])(variable[233],  TAG_Int(243)) /*AbstractArray::add*/;
-    /* Register variable[233]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231], variable[233]) /*AbstractArray::add*/;
-    variable[234] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[234])(variable[234],  TAG_Int(118)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[234])(variable[234],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[234])(variable[234],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[234]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[231])(variable[231], variable[234]) /*AbstractArray::add*/;
-    /* Register variable[231]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[231]) /*AbstractArray::add*/;
-    variable[232] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[233] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[233])(variable[233],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[233])(variable[233],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[234]: Result */
-    variable[234] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[233])(variable[233], variable[234]) /*AbstractArray::add*/;
-    /* Register variable[233]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[232])(variable[232], variable[233]) /*AbstractArray::add*/;
-    /* Register variable[232]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[232]) /*AbstractArray::add*/;
-    variable[233] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[234] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[234])(variable[234],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[234])(variable[234],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[235]: Result */
-    variable[235] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[234])(variable[234], variable[235]) /*AbstractArray::add*/;
-    /* Register variable[234]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[233])(variable[233], variable[234]) /*AbstractArray::add*/;
-    /* Register variable[233]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[233]) /*AbstractArray::add*/;
-    variable[234] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[235] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[235])(variable[235],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[235])(variable[235],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[236]: Result */
-    variable[236] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[235])(variable[235], variable[236]) /*AbstractArray::add*/;
-    /* Register variable[235]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[234])(variable[234], variable[235]) /*AbstractArray::add*/;
-    variable[236] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[236])(variable[236],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[236])(variable[236],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[236])(variable[236],  TAG_Int(244)) /*AbstractArray::add*/;
-    /* Register variable[236]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[234])(variable[234], variable[236]) /*AbstractArray::add*/;
-    variable[237] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[237])(variable[237],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[237])(variable[237],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[237])(variable[237],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[237]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[234])(variable[234], variable[237]) /*AbstractArray::add*/;
-    /* Register variable[234]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[234]) /*AbstractArray::add*/;
-    variable[235] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[236] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[236])(variable[236],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[236])(variable[236],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[237]: Result */
-    variable[237] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[236])(variable[236], variable[237]) /*AbstractArray::add*/;
-    /* Register variable[236]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[235])(variable[235], variable[236]) /*AbstractArray::add*/;
-    /* Register variable[235]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[235]) /*AbstractArray::add*/;
-    variable[236] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[237] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[237])(variable[237],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[237])(variable[237],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[238]: Result */
-    variable[238] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[237])(variable[237], variable[238]) /*AbstractArray::add*/;
-    /* Register variable[237]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[236])(variable[236], variable[237]) /*AbstractArray::add*/;
-    variable[238] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[238])(variable[238],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[238])(variable[238],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[238])(variable[238],  TAG_Int(245)) /*AbstractArray::add*/;
-    /* Register variable[238]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[236])(variable[236], variable[238]) /*AbstractArray::add*/;
-    variable[239] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[239]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[236])(variable[236], variable[239]) /*AbstractArray::add*/;
-    /* Register variable[236]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[236]) /*AbstractArray::add*/;
-    variable[237] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[238] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[238])(variable[238],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[238])(variable[238],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[239]: Result */
-    variable[239] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[238])(variable[238], variable[239]) /*AbstractArray::add*/;
-    /* Register variable[238]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[237])(variable[237], variable[238]) /*AbstractArray::add*/;
-    variable[239] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239],  TAG_Int(246)) /*AbstractArray::add*/;
-    /* Register variable[239]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[237])(variable[237], variable[239]) /*AbstractArray::add*/;
-    variable[240] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[240]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[237])(variable[237], variable[240]) /*AbstractArray::add*/;
-    /* Register variable[237]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[237]) /*AbstractArray::add*/;
-    variable[238] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[239] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[240]: Result */
-    variable[240] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239], variable[240]) /*AbstractArray::add*/;
-    /* Register variable[239]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[238])(variable[238], variable[239]) /*AbstractArray::add*/;
-    variable[240] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240],  TAG_Int(247)) /*AbstractArray::add*/;
-    /* Register variable[240]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[238])(variable[238], variable[240]) /*AbstractArray::add*/;
-    variable[241] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[241]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[238])(variable[238], variable[241]) /*AbstractArray::add*/;
-    /* Register variable[238]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[238]) /*AbstractArray::add*/;
-    variable[239] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[240] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[241]: Result */
-    variable[241] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240], variable[241]) /*AbstractArray::add*/;
-    /* Register variable[240]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239], variable[240]) /*AbstractArray::add*/;
-    variable[241] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241],  TAG_Int(248)) /*AbstractArray::add*/;
-    /* Register variable[241]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239], variable[241]) /*AbstractArray::add*/;
-    variable[242] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[242]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[239])(variable[239], variable[242]) /*AbstractArray::add*/;
-    /* Register variable[239]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[239]) /*AbstractArray::add*/;
-    variable[240] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[241] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[242]: Result */
-    variable[242] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241], variable[242]) /*AbstractArray::add*/;
-    /* Register variable[241]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240], variable[241]) /*AbstractArray::add*/;
-    variable[242] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242],  TAG_Int(249)) /*AbstractArray::add*/;
-    /* Register variable[242]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240], variable[242]) /*AbstractArray::add*/;
-    variable[243] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[243]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[240])(variable[240], variable[243]) /*AbstractArray::add*/;
-    /* Register variable[240]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[240]) /*AbstractArray::add*/;
-    variable[241] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[242] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[243]: Result */
-    variable[243] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242], variable[243]) /*AbstractArray::add*/;
-    /* Register variable[242]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241], variable[242]) /*AbstractArray::add*/;
-    variable[243] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243],  TAG_Int(250)) /*AbstractArray::add*/;
-    /* Register variable[243]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241], variable[243]) /*AbstractArray::add*/;
-    variable[244] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[244])(variable[244],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[244])(variable[244],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[244])(variable[244],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[244]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[241])(variable[241], variable[244]) /*AbstractArray::add*/;
-    /* Register variable[241]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[241]) /*AbstractArray::add*/;
-    variable[242] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[243] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[244]: Result */
-    variable[244] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243], variable[244]) /*AbstractArray::add*/;
-    /* Register variable[243]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[242])(variable[242], variable[243]) /*AbstractArray::add*/;
-    /* Register variable[242]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[242]) /*AbstractArray::add*/;
-    variable[243] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[244] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[244])(variable[244],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[244])(variable[244],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[245]: Result */
-    variable[245] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[244])(variable[244], variable[245]) /*AbstractArray::add*/;
-    /* Register variable[244]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243], variable[244]) /*AbstractArray::add*/;
-    variable[245] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[245])(variable[245],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[245])(variable[245],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[245])(variable[245],  TAG_Int(251)) /*AbstractArray::add*/;
-    /* Register variable[245]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243], variable[245]) /*AbstractArray::add*/;
-    variable[246] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[246]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[243])(variable[243], variable[246]) /*AbstractArray::add*/;
-    /* Register variable[243]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[243]) /*AbstractArray::add*/;
-    variable[244] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[245] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[245])(variable[245],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[245])(variable[245],  TAG_Int(114)) /*AbstractArray::add*/;
-    /* Register variable[246]: Result */
-    variable[246] = TAG_Int(-UNTAG_Int( TAG_Int(79)));
-    CALL_abstract_collection___SimpleCollection___add(variable[245])(variable[245], variable[246]) /*AbstractArray::add*/;
-    /* Register variable[245]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[244])(variable[244], variable[245]) /*AbstractArray::add*/;
-    variable[246] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246],  TAG_Int(115)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246],  TAG_Int(252)) /*AbstractArray::add*/;
-    /* Register variable[246]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[244])(variable[244], variable[246]) /*AbstractArray::add*/;
-    variable[247] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[247]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[244])(variable[244], variable[247]) /*AbstractArray::add*/;
-    /* Register variable[244]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[244]) /*AbstractArray::add*/;
-    variable[245] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[246] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[247]: Result */
-    variable[247] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246], variable[247]) /*AbstractArray::add*/;
-    /* Register variable[246]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[245])(variable[245], variable[246]) /*AbstractArray::add*/;
-    variable[247] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247],  TAG_Int(253)) /*AbstractArray::add*/;
-    /* Register variable[247]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[245])(variable[245], variable[247]) /*AbstractArray::add*/;
-    variable[248] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[248]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[245])(variable[245], variable[248]) /*AbstractArray::add*/;
-    /* Register variable[245]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[245]) /*AbstractArray::add*/;
-    variable[246] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[247] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247],  TAG_Int(115)) /*AbstractArray::add*/;
-    /* Register variable[248]: Result */
-    variable[248] = TAG_Int(-UNTAG_Int( TAG_Int(80)));
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247], variable[248]) /*AbstractArray::add*/;
-    /* Register variable[247]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246], variable[247]) /*AbstractArray::add*/;
-    variable[248] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248],  TAG_Int(116)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248],  TAG_Int(254)) /*AbstractArray::add*/;
-    /* Register variable[248]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246], variable[248]) /*AbstractArray::add*/;
-    variable[249] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249],  TAG_Int(117)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[249]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[246])(variable[246], variable[249]) /*AbstractArray::add*/;
-    /* Register variable[246]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[246]) /*AbstractArray::add*/;
-    variable[247] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[248] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[249]: Result */
-    variable[249] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248], variable[249]) /*AbstractArray::add*/;
-    /* Register variable[248]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247], variable[248]) /*AbstractArray::add*/;
-    variable[249] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249],  TAG_Int(255)) /*AbstractArray::add*/;
-    /* Register variable[249]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247], variable[249]) /*AbstractArray::add*/;
-    variable[250] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[250]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[247])(variable[247], variable[250]) /*AbstractArray::add*/;
-    /* Register variable[247]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[247]) /*AbstractArray::add*/;
-    variable[248] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[249] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249],  TAG_Int(98)) /*AbstractArray::add*/;
-    /* Register variable[250]: Result */
-    variable[250] = TAG_Int(-UNTAG_Int( TAG_Int(99)));
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249], variable[250]) /*AbstractArray::add*/;
-    /* Register variable[249]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248], variable[249]) /*AbstractArray::add*/;
-    variable[250] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250],  TAG_Int(99)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250],  TAG_Int(256)) /*AbstractArray::add*/;
-    /* Register variable[250]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248], variable[250]) /*AbstractArray::add*/;
-    variable[251] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[251])(variable[251],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[251])(variable[251],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[251])(variable[251],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[251]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[248])(variable[248], variable[251]) /*AbstractArray::add*/;
-    /* Register variable[248]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[248]) /*AbstractArray::add*/;
-    variable[249] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[250] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[251]: Result */
-    variable[251] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250], variable[251]) /*AbstractArray::add*/;
-    /* Register variable[250]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[249])(variable[249], variable[250]) /*AbstractArray::add*/;
-    /* Register variable[249]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[249]) /*AbstractArray::add*/;
-    variable[250] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[251] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[251])(variable[251],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[251])(variable[251],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[252]: Result */
-    variable[252] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[251])(variable[251], variable[252]) /*AbstractArray::add*/;
-    /* Register variable[251]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250], variable[251]) /*AbstractArray::add*/;
-    variable[252] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[252])(variable[252],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[252])(variable[252],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[252])(variable[252],  TAG_Int(257)) /*AbstractArray::add*/;
-    /* Register variable[252]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250], variable[252]) /*AbstractArray::add*/;
-    variable[253] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[253])(variable[253],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[253])(variable[253],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[253])(variable[253],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[253]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[250])(variable[250], variable[253]) /*AbstractArray::add*/;
-    /* Register variable[250]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[250]) /*AbstractArray::add*/;
-    variable[251] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[252] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[252])(variable[252],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[252])(variable[252],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[253]: Result */
-    variable[253] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[252])(variable[252], variable[253]) /*AbstractArray::add*/;
-    /* Register variable[252]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[251])(variable[251], variable[252]) /*AbstractArray::add*/;
-    /* Register variable[251]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[251]) /*AbstractArray::add*/;
-    variable[252] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[253] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[253])(variable[253],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[253])(variable[253],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[254]: Result */
-    variable[254] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[253])(variable[253], variable[254]) /*AbstractArray::add*/;
-    /* Register variable[253]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[252])(variable[252], variable[253]) /*AbstractArray::add*/;
-    /* Register variable[252]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[252]) /*AbstractArray::add*/;
-    variable[253] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[254] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[254])(variable[254],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[254])(variable[254],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[255]: Result */
-    variable[255] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[254])(variable[254], variable[255]) /*AbstractArray::add*/;
-    /* Register variable[254]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[253])(variable[253], variable[254]) /*AbstractArray::add*/;
-    variable[255] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[255])(variable[255],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[255])(variable[255],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[255])(variable[255],  TAG_Int(258)) /*AbstractArray::add*/;
-    /* Register variable[255]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[253])(variable[253], variable[255]) /*AbstractArray::add*/;
-    variable[256] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[256]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[253])(variable[253], variable[256]) /*AbstractArray::add*/;
-    /* Register variable[253]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[253]) /*AbstractArray::add*/;
-    variable[254] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[255] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[255])(variable[255],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[255])(variable[255],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[256]: Result */
-    variable[256] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[255])(variable[255], variable[256]) /*AbstractArray::add*/;
-    /* Register variable[255]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[254])(variable[254], variable[255]) /*AbstractArray::add*/;
-    variable[256] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256],  TAG_Int(259)) /*AbstractArray::add*/;
-    /* Register variable[256]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[254])(variable[254], variable[256]) /*AbstractArray::add*/;
-    variable[257] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[257])(variable[257],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[257])(variable[257],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[257])(variable[257],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[257]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[254])(variable[254], variable[257]) /*AbstractArray::add*/;
-    /* Register variable[254]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[254]) /*AbstractArray::add*/;
-    variable[255] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[256] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[257]: Result */
-    variable[257] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256], variable[257]) /*AbstractArray::add*/;
-    /* Register variable[256]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[255])(variable[255], variable[256]) /*AbstractArray::add*/;
-    /* Register variable[255]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[255]) /*AbstractArray::add*/;
-    variable[256] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[257] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[257])(variable[257],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[257])(variable[257],  TAG_Int(95)) /*AbstractArray::add*/;
-    /* Register variable[258]: Result */
-    variable[258] = TAG_Int(-UNTAG_Int( TAG_Int(29)));
-    CALL_abstract_collection___SimpleCollection___add(variable[257])(variable[257], variable[258]) /*AbstractArray::add*/;
-    /* Register variable[257]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256], variable[257]) /*AbstractArray::add*/;
-    variable[258] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[258])(variable[258],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[258])(variable[258],  TAG_Int(97)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[258])(variable[258],  TAG_Int(260)) /*AbstractArray::add*/;
-    /* Register variable[258]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256], variable[258]) /*AbstractArray::add*/;
-    variable[259] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259],  TAG_Int(98)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[259]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[256])(variable[256], variable[259]) /*AbstractArray::add*/;
-    /* Register variable[256]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[256]) /*AbstractArray::add*/;
-    variable[257] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[258] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[258])(variable[258],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[258])(variable[258],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[259]: Result */
-    variable[259] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[258])(variable[258], variable[259]) /*AbstractArray::add*/;
-    /* Register variable[258]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[257])(variable[257], variable[258]) /*AbstractArray::add*/;
-    variable[259] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259],  TAG_Int(261)) /*AbstractArray::add*/;
-    /* Register variable[259]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[257])(variable[257], variable[259]) /*AbstractArray::add*/;
-    variable[260] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[260])(variable[260],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[260])(variable[260],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[260])(variable[260],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[260]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[257])(variable[257], variable[260]) /*AbstractArray::add*/;
-    /* Register variable[257]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[257]) /*AbstractArray::add*/;
-    variable[258] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[259] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[260]: Result */
-    variable[260] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259], variable[260]) /*AbstractArray::add*/;
-    /* Register variable[259]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[258])(variable[258], variable[259]) /*AbstractArray::add*/;
-    /* Register variable[258]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[258]) /*AbstractArray::add*/;
-    variable[259] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[260] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[260])(variable[260],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[260])(variable[260],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[261]: Result */
-    variable[261] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[260])(variable[260], variable[261]) /*AbstractArray::add*/;
-    /* Register variable[260]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[259])(variable[259], variable[260]) /*AbstractArray::add*/;
-    /* Register variable[259]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[259]) /*AbstractArray::add*/;
-    variable[260] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[261] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[261])(variable[261],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[261])(variable[261],  TAG_Int(100)) /*AbstractArray::add*/;
-    /* Register variable[262]: Result */
-    variable[262] = TAG_Int(-UNTAG_Int( TAG_Int(37)));
-    CALL_abstract_collection___SimpleCollection___add(variable[261])(variable[261], variable[262]) /*AbstractArray::add*/;
-    /* Register variable[261]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[260])(variable[260], variable[261]) /*AbstractArray::add*/;
-    variable[262] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[262])(variable[262],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[262])(variable[262],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[262])(variable[262],  TAG_Int(262)) /*AbstractArray::add*/;
-    /* Register variable[262]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[260])(variable[260], variable[262]) /*AbstractArray::add*/;
-    variable[263] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[263])(variable[263],  TAG_Int(102)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[263])(variable[263],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[263])(variable[263],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[263]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[260])(variable[260], variable[263]) /*AbstractArray::add*/;
-    /* Register variable[260]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[260]) /*AbstractArray::add*/;
-    variable[261] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[262] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[262])(variable[262],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[262])(variable[262],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[263]: Result */
-    variable[263] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[262])(variable[262], variable[263]) /*AbstractArray::add*/;
-    /* Register variable[262]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[261])(variable[261], variable[262]) /*AbstractArray::add*/;
-    /* Register variable[261]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[261]) /*AbstractArray::add*/;
-    variable[262] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[263] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[263])(variable[263],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[263])(variable[263],  TAG_Int(99)) /*AbstractArray::add*/;
-    /* Register variable[264]: Result */
-    variable[264] = TAG_Int(-UNTAG_Int( TAG_Int(78)));
-    CALL_abstract_collection___SimpleCollection___add(variable[263])(variable[263], variable[264]) /*AbstractArray::add*/;
-    /* Register variable[263]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[262])(variable[262], variable[263]) /*AbstractArray::add*/;
-    variable[264] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[264])(variable[264],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[264])(variable[264],  TAG_Int(100)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[264])(variable[264],  TAG_Int(263)) /*AbstractArray::add*/;
-    /* Register variable[264]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[262])(variable[262], variable[264]) /*AbstractArray::add*/;
-    variable[265] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[265])(variable[265],  TAG_Int(101)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[265])(variable[265],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[265])(variable[265],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[265]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[262])(variable[262], variable[265]) /*AbstractArray::add*/;
-    /* Register variable[262]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[262]) /*AbstractArray::add*/;
-    variable[263] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[264] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[264])(variable[264],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[264])(variable[264],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[265]: Result */
-    variable[265] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[264])(variable[264], variable[265]) /*AbstractArray::add*/;
-    /* Register variable[264]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[263])(variable[263], variable[264]) /*AbstractArray::add*/;
-    /* Register variable[263]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[263]) /*AbstractArray::add*/;
-    variable[264] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[265] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[265])(variable[265],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[265])(variable[265],  TAG_Int(107)) /*AbstractArray::add*/;
-    /* Register variable[266]: Result */
-    variable[266] = TAG_Int(-UNTAG_Int( TAG_Int(31)));
-    CALL_abstract_collection___SimpleCollection___add(variable[265])(variable[265], variable[266]) /*AbstractArray::add*/;
-    /* Register variable[265]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[264])(variable[264], variable[265]) /*AbstractArray::add*/;
-    variable[266] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[266])(variable[266],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[266])(variable[266],  TAG_Int(108)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[266])(variable[266],  TAG_Int(264)) /*AbstractArray::add*/;
-    /* Register variable[266]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[264])(variable[264], variable[266]) /*AbstractArray::add*/;
-    variable[267] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[267])(variable[267],  TAG_Int(109)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[267])(variable[267],  TAG_Int(122)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[267])(variable[267],  TAG_Int(74)) /*AbstractArray::add*/;
-    /* Register variable[267]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[264])(variable[264], variable[267]) /*AbstractArray::add*/;
-    /* Register variable[264]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[264]) /*AbstractArray::add*/;
-    variable[265] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[266] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[266])(variable[266],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[266])(variable[266],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[267]: Result */
-    variable[267] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[266])(variable[266], variable[267]) /*AbstractArray::add*/;
-    /* Register variable[266]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[265])(variable[265], variable[266]) /*AbstractArray::add*/;
-    /* Register variable[265]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[265]) /*AbstractArray::add*/;
-    variable[266] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[267] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[267])(variable[267],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[267])(variable[267],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[268]: Result */
-    variable[268] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[267])(variable[267], variable[268]) /*AbstractArray::add*/;
-    /* Register variable[267]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[266])(variable[266], variable[267]) /*AbstractArray::add*/;
-    /* Register variable[266]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[266]) /*AbstractArray::add*/;
-    variable[267] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[268] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[268])(variable[268],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[268])(variable[268],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[269]: Result */
-    variable[269] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[268])(variable[268], variable[269]) /*AbstractArray::add*/;
-    /* Register variable[268]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[267])(variable[267], variable[268]) /*AbstractArray::add*/;
-    /* Register variable[267]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[267]) /*AbstractArray::add*/;
-    variable[268] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[269] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[269])(variable[269],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[269])(variable[269],  TAG_Int(122)) /*AbstractArray::add*/;
-    /* Register variable[270]: Result */
-    variable[270] = TAG_Int(-UNTAG_Int( TAG_Int(35)));
-    CALL_abstract_collection___SimpleCollection___add(variable[269])(variable[269], variable[270]) /*AbstractArray::add*/;
-    /* Register variable[269]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[268])(variable[268], variable[269]) /*AbstractArray::add*/;
-    /* Register variable[268]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[268]) /*AbstractArray::add*/;
-    /* Register variable[3]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
-    /* Register variable[2]: Result */
-    once_value_350 = variable[2];
-    once_bool_350 = true;
+  /* ./parser//lexer.nit:1681 */
+  REGB3 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:216 */
+  REGB3 = TAG_Int(-UNTAG_Int(REGB3));
+  /* ./parser//lexer.nit:1681 */
+  REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
+  if (UNTAG_Bool(REGB1)) {
+  } else {
+    /* ./../lib/standard//kernel.nit:207 */
+    REGB3 = TAG_Bool((REGB2)==(REGB3));
+    /* ./parser//lexer.nit:1681 */
+    REGB1 = REGB3;
   }
-  /* Register variable[2]: Result */
-  ATTR_lexer___Lexer____goto_table(variable[0]) /*Lexer::_goto_table*/ = variable[2];
-  return_label349: while(false);
-  tracehead = trace.prev;
-  return;
-}
-val_t lexer___Lexer___nil_array(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 3376, LOCATE_lexer___Lexer___nil_array};
-  static val_t once_value_352; static int once_bool_352; /* Once value for variable[2]*/
-  val_t variable[3];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  /* Register variable[2]: Once expression result */
-  if (once_bool_352) variable[2] = once_value_352;
-  else {
-    /* Register variable[2]: Result */
-    variable[2] = NEW_Array_array___Array___init() /*new Array[Array[Int]]*/;
-    once_value_352 = variable[2];
-    once_bool_352 = true;
+  if (UNTAG_Bool(REGB1)) {
+    /* ./parser//lexer.nit:1682 */
+    REGB1 = TAG_Bool(true);
+    ATTR_lexer___Lexer____eof(fra.me.REG[0]) = REGB1;
+  }
+  /* ./parser//lexer.nit:1685 */
+  REGB0 = REGB2;
+  goto label1;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+void lexer___Lexer___push_back(val_t p0, val_t p1){
+  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+  val_t REGB0;
+  val_t REGB1;
+  val_t REGB2;
+  val_t REGB3;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_lexer;
+  fra.me.line = 1688;
+  fra.me.meth = LOCATE_lexer___Lexer___push_back;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 3;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  REGB0 = p1;
+  /* ./parser//lexer.nit:1692 */
+  REGB1 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB1)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 1692);
+  }
+  fra.me.REG[1] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
+  /* ./../lib/standard//collection//array.nit:23 */
+  REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+  if (UNTAG_Bool(REGB1)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
   }
-  /* Register variable[2]: Result */
-  variable[1] = variable[2];
-  goto return_label351;
-  return_label351: while(false);
-  tracehead = trace.prev;
-  return variable[1];
-}
-void lexer___Lexer___build_accept_table(val_t  self) {
-  struct trace_t trace = {NULL, NULL, 3382, LOCATE_lexer___Lexer___build_accept_table};
-  static val_t once_value_354; static int once_bool_354; /* Once value for variable[2]*/
-  val_t variable[20];
-  struct WBT_ **closurevariable = NULL;
-  trace.prev = tracehead; tracehead = &trace;
-  trace.file = LOCATE_lexer;
-  /* Register variable[0]: Local variable */
-  variable[0] =  self;
-  /* Register variable[1]: Method return value and escape marker */
-  /* Register variable[2]: Once expression result */
-  if (once_bool_354) variable[2] = once_value_354;
-  else {
-    variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[Array[Int]]*/ /* Ensure var: Literal array*/;
-    variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(265)) /*new Array[Int]*/ /* Ensure var: Literal array*/;
-    /* Register variable[4]: Result */
-    variable[4] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(0)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(1)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(1)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(0)) /*AbstractArray::add*/;
-    /* Register variable[5]: Result */
-    variable[5] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
-    /* Register variable[6]: Result */
-    variable[6] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[6]) /*AbstractArray::add*/;
-    /* Register variable[7]: Result */
-    variable[7] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(69)) /*AbstractArray::add*/;
-    /* Register variable[8]: Result */
-    variable[8] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[8]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(52)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(53)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(67)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(65)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(56)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(66)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(64)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(68)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(80)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(57)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(72)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(59)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(74)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(77)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(54)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(55)) /*AbstractArray::add*/;
-    /* Register variable[9]: Result */
-    variable[9] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    /* Register variable[10]: Result */
-    variable[10] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[10]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(1)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(71)) /*AbstractArray::add*/;
-    /* Register variable[11]: Result */
-    variable[11] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[11]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(83)) /*AbstractArray::add*/;
-    /* Register variable[12]: Result */
-    variable[12] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[12]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(84)) /*AbstractArray::add*/;
-    /* Register variable[13]: Result */
-    variable[13] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[13]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(2)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(2)) /*AbstractArray::add*/;
-    /* Register variable[14]: Result */
-    variable[14] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[14]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(82)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(60)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(61)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(63)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(81)) /*AbstractArray::add*/;
-    /* Register variable[15]: Result */
-    variable[15] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[15]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(58)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(73)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(70)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(75)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(77)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(77)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(77)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(77)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(79)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(48)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(17)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(26)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(31)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(16)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(33)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    /* Register variable[16]: Result */
-    variable[16] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[16]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(86)) /*AbstractArray::add*/;
-    /* Register variable[17]: Result */
-    variable[17] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[17]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(85)) /*AbstractArray::add*/;
-    /* Register variable[18]: Result */
-    variable[18] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[18]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(2)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(62)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(76)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(79)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(79)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(79)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(79)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(32)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(10)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(30)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(11)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(41)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(40)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(34)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(20)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    /* Register variable[19]: Result */
-    variable[19] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[19]) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(13)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(28)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(14)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(11)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(47)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(42)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(44)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(27)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(45)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(12)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(49)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(38)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(37)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(5)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(46)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(51)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(15)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(43)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(29)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(39)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(22)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(4)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(21)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(35)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(25)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(3)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(24)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(9)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(6)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(36)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(50)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(18)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(78)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(19)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(7)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(23)) /*AbstractArray::add*/;
-    CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3],  TAG_Int(8)) /*AbstractArray::add*/;
-    /* Register variable[3]: Result */
-    CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
-    /* Register variable[2]: Result */
-    once_value_354 = variable[2];
-    once_bool_354 = true;
+  REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+  /* ./parser//lexer.nit:1693 */
+  REGB2 = TAG_Int(1);
+  /* ./../lib/standard//kernel.nit:217 */
+  REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
+  /* ./parser//lexer.nit:1694 */
+  while(1) {
+    /* ./../lib/standard//kernel.nit:213 */
+    REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB0));
+    /* ./parser//lexer.nit:1694 */
+    if (UNTAG_Bool(REGB1)) {
+      /* ./parser//lexer.nit:1695 */
+      REGB1 = TAG_Bool(false);
+      ATTR_lexer___Lexer____eof(fra.me.REG[0]) = REGB1;
+      /* ./parser//lexer.nit:1696 */
+      REGB1 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB1)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1696);
+      }
+      REGB1 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
+      REGB3 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:215 */
+      REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
+      /* ./parser//lexer.nit:1696 */
+      ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB3;
+      /* ./parser//lexer.nit:1697 */
+      REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream_buf(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB3)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_stream_buf", LOCATE_lexer, 1697);
+      }
+      fra.me.REG[1] = ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]);
+      REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB3)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1697);
+      }
+      REGB3 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
+      REGB1 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
+      if (UNTAG_Bool(REGB1)) {
+      } else {
+        nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 1697);
+      }
+      fra.me.REG[2] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
+      REGB1 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB2);
+      CALL_abstract_collection___Map_____braeq(fra.me.REG[1])(fra.me.REG[1], REGB3, REGB1);
+      /* ./parser//lexer.nit:1698 */
+      REGB1 = TAG_Int(1);
+      /* ./../lib/standard//kernel.nit:217 */
+      REGB1 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB1));
+      /* ./parser//lexer.nit:1698 */
+      REGB2 = REGB1;
+    } else {
+      /* ./parser//lexer.nit:1694 */
+      goto label1;
+    }
   }
-  /* Register variable[2]: Result */
-  ATTR_lexer___Lexer____accept_table(variable[0]) /*Lexer::_accept_table*/ = variable[2];
-  return_label353: while(false);
-  tracehead = trace.prev;
+  label1: while(0);
+  stack_frame_head = fra.me.prev;
   return;
 }