text:
#1/15 )/12 >/1
    context[13] = context[5];
    context[14] = context[6];
    context[15] = context[9];
    context[16] = context[10];
    if( ! refalrts::empty_seq( context[2], context[3] ) )
      continue;
    // closed e.AST#1 as range 13
    // closed e.Message#1 as range 15
    //DEBUG: e.AST#1: 13
    //DEBUG: e.Message#1: 15

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} </0 & Log-AST:1/4 (/7 {REMOVED TILE} )/8 (/11 e.Message#1/15 )/12 >/1 {REMOVED TILE}
    //RESULT: Tile{ [[ } Tile{ AsIs: e.AST#1/13 } Tile{ ]] }
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = arg_end->next;
    res = refalrts::splice_evar( res, context[13], context[14] );
    refalrts::splice_to_freelist_open( vm, trash_prev, res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & Log-AST:1/4 (/7 e.AST#1/5 )/8 (/11 e.Message#1/9 )/12 s.FileHandle#2/13 >/1
  // closed e.AST#1 as range 5
  // closed e.Message#1 as range 9
  if( ! refalrts::svar_left( context[13], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::empty_seq( context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  //DEBUG: e.AST#1: 5
  //DEBUG: e.Message#1: 9
  //DEBUG: s.FileHandle#2: 13

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ AsIs: </0 Reuse: & Log-PutLine/4 HalfReuse: 'A'/7 }"ST of fil"/14 Tile{ HalfReuse: 'e'/8 HalfReuse: ' '/11 AsIs: e.Message#1/9 HalfReuse: ':'/12 } >/16 </17 & Map@1/18 Tile{ AsIs: s.FileHandle#2/13 HalfReuse: </1 } & Log-TextFromAST/19 Tile{ AsIs: e.AST#1/5 } >/20 >/21 e.AST#1/5/22 Tile{ ]] }
  refalrts::alloc_chars(vm, context[14], context[15], "ST of fil", 9);
  refalrts::alloc_close_call(vm, context[16]);
  refalrts::alloc_open_call(vm, context[17]);
  refalrts::alloc_name(vm, context[18], functions[efunc_gen_Map_Z1]);
  refalrts::alloc_name(vm, context[19], functions[efunc_Logm_TextFromAST]);
  refalrts::alloc_close_call(vm, context[20]);
  refalrts::alloc_close_call(vm, context[21]);
  refalrts::copy_evar(vm, context[22], context[23], context[5], context[6]);
  refalrts::update_name(context[4], functions[efunc_Logm_PutLine]);
  refalrts::reinit_char(context[7], 'A');
  refalrts::reinit_char(context[8], 'e');
  refalrts::reinit_char(context[11], ' ');
  refalrts::reinit_char(context[12], ':');
  refalrts::reinit_open_call(context[1]);
  refalrts::push_stack( vm, context[21] );
  refalrts::push_stack( vm, context[17] );
  refalrts::push_stack( vm, context[20] );
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[16] );
  refalrts::push_stack( vm, context[0] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = arg_end->next;
  res = refalrts::splice_evar( res, context[22], context[23] );
  res = refalrts::splice_evar( res, context[20], context[21] );
  res = refalrts::splice_evar( res, context[5], context[6] );
  res = refalrts::splice_evar( res, context[19], context[19] );
  res = refalrts::splice_evar( res, context[13], context[1] );
  res = refalrts::splice_evar( res, context[16], context[18] );
  res = refalrts::splice_evar( res, context[8], context[12] );
  res = refalrts::splice_evar( res, context[14], context[15] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_gen_Logm_AST_B1("Log-AST:1", 3331709791U, 1088025282U, func_gen_Logm_AST_B1);

static refalrts::FnResult func_Logm_AST(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 14 elems
  refalrts::Iter context[14];
  refalrts::zeros( context, 14 );
  // </0 & Log-AST/4 (/7 e.Message#1/5 )/8 e.AST#1/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  context[5] = 0;
  context[6] = 0;
  context[7] = refalrts::brackets_left( context[5], context[6], context[2], context[3] );
  if( ! context[7] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[7], context[8]);
  // closed e.Message#1 as range 5
  // closed e.AST#1 as range 2
  //DEBUG: e.Message#1: 5
  //DEBUG: e.AST#1: 2

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ AsIs: </0 Reuse: & Log-AST:1/4 AsIs: (/7 } Tile{ AsIs: e.AST#1/2 } Tile{ AsIs: )/8 } (/9 Tile{ AsIs: e.Message#1/5 } )/10 </11 & LogHandle/12 >/13 Tile{ AsIs: >/1 ]] }
  refalrts::alloc_open_bracket(vm, context[9]);
  refalrts::alloc_close_bracket(vm, context[10]);
  refalrts::alloc_open_call(vm, context[11]);
  refalrts::alloc_name(vm, context[12], functions[efunc_LogHandle]);
  refalrts::alloc_close_call(vm, context[13]);
  refalrts::update_name(context[4], functions[efunc_gen_Logm_AST_B1]);
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[0] );
  refalrts::push_stack( vm, context[13] );
  refalrts::push_stack( vm, context[11] );
  refalrts::link_brackets( context[9], context[10] );
  refalrts::link_brackets( context[7], context[8] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = context[1];
  res = refalrts::splice_evar( res, context[10], context[13] );
  res = refalrts::splice_evar( res, context[5], context[6] );
  res = refalrts::splice_evar( res, context[9], context[9] );
  res = refalrts::splice_evar( res, context[8], context[8] );
  res = refalrts::splice_evar( res, context[2], context[3] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_Logm_AST("Log-AST", 0U, 0U, func_Logm_AST);

static refalrts::FnResult func_gen_Logm_HighLevelRASL_B1(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 20 elems
  refalrts::Iter context[20];
  refalrts::zeros( context, 20 );
  // </0 & Log-HighLevelRASL:1/4 e.new#0/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  // closed e.new#0 as range 2
  // </0 & Log-HighLevelRASL:1/4 (/7 e.new#1/5 )/8 (/11 e.new#2/9 )/12 e.new#3/2 >/1
  context[5] = 0;
  context[6] = 0;
  context[7] = refalrts::brackets_left( context[5], context[6], context[2], context[3] );
  if( ! context[7] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[7], context[8]);
  context[9] = 0;
  context[10] = 0;
  context[11] = refalrts::brackets_left( context[9], context[10], context[2], context[3] );
  if( ! context[11] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[11], context[12]);
  // closed e.new#1 as range 5
  // closed e.new#2 as range 9
  // closed e.new#3 as range 2
  do {
    // </0 & Log-HighLevelRASL:1/4 (/7 e.RASL#1/13 )/8 (/11 e.SrcName#1/15 )/12 >/1
    context[13] = context[5];
    context[14] = context[6];
    context[15] = context[9];
    context[16] = context[10];
    if( ! refalrts::empty_seq( context[2], context[3] ) )
      continue;
    // closed e.RASL#1 as range 13
    // closed e.SrcName#1 as range 15
    //DEBUG: e.RASL#1: 13
    //DEBUG: e.SrcName#1: 15

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} </0 & Log-HighLevelRASL:1/4 (/7 {REMOVED TILE} )/8 (/11 e.SrcName#1/15 )/12 >/1 {REMOVED TILE}
    //RESULT: Tile{ [[ } Tile{ AsIs: e.RASL#1/13 } Tile{ ]] }
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = arg_end->next;
    res = refalrts::splice_evar( res, context[13], context[14] );
    refalrts::splice_to_freelist_open( vm, trash_prev, res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & Log-HighLevelRASL:1/4 (/7 e.RASL#1/5 )/8 (/11 e.SrcName#1/9 )/12 s.FileHandle#2/13 >/1
  // closed e.RASL#1 as range 5
  // closed e.SrcName#1 as range 9
  if( ! refalrts::svar_left( context[13], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::empty_seq( context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  //DEBUG: e.RASL#1: 5
  //DEBUG: e.SrcName#1: 9
  //DEBUG: s.FileHandle#2: 13

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} s.FileHandle#2/13 {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ } </14 & Log-PutLine/15"HighLevelRASL code of file"/16 Tile{ HalfReuse: ' '/11 AsIs: e.SrcName#1/9 HalfReuse: ':'/12 } Tile{ AsIs: >/1 } Tile{ AsIs: </0 Reuse: & Map@2/4 HalfReuse: s.FileHandle2 #13/7 AsIs: e.RASL#1/5 HalfReuse: >/8 } e.RASL#1/5/18 Tile{ ]] }
  refalrts::alloc_open_call(vm, context[14]);
  refalrts::alloc_name(vm, context[15], functions[efunc_Logm_PutLine]);
  refalrts::alloc_chars(vm, context[16], context[17], "HighLevelRASL code of file", 26);
  refalrts::copy_evar(vm, context[18], context[19], context[5], context[6]);
  refalrts::reinit_char(context[11], ' ');
  refalrts::reinit_char(context[12], ':');
  refalrts::update_name(context[4], functions[efunc_gen_Map_Z2]);
  refalrts::reinit_svar( context[7], context[13] );
  refalrts::reinit_close_call(context[8]);
  refalrts::push_stack( vm, context[8] );
  refalrts::push_stack( vm, context[0] );
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[14] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = arg_end->next;
  res = refalrts::splice_evar( res, context[18], context[19] );
  res = refalrts::splice_evar( res, context[0], context[8] );
  res = refalrts::splice_evar( res, context[1], context[1] );
  res = refalrts::splice_evar( res, context[11], context[12] );
  res = refalrts::splice_evar( res, context[14], context[17] );
  refalrts::splice_to_freelist_open( vm, trash_prev, res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_gen_Logm_HighLevelRASL_B1("Log-HighLevelRASL:1", 3331709791U, 1088025282U, func_gen_Logm_HighLevelRASL_B1);

static refalrts::FnResult func_Logm_HighLevelRASL(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 14 elems
  refalrts::Iter context[14];
  refalrts::zeros( context, 14 );
  // </0 & Log-HighLevelRASL/4 (/7 e.SrcName#1/5 )/8 e.RASL#1/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  context[5] = 0;
  context[6] = 0;
  context[7] = refalrts::brackets_left( context[5], context[6], context[2], context[3] );
  if( ! context[7] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[7], context[8]);
  // closed e.SrcName#1 as range 5
  // closed e.RASL#1 as range 2
  //DEBUG: e.SrcName#1: 5
  //DEBUG: e.RASL#1: 2

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ AsIs: </0 Reuse: & Log-HighLevelRASL:1/4 AsIs: (/7 } Tile{ AsIs: e.RASL#1/2 } Tile{ AsIs: )/8 } (/9 Tile{ AsIs: e.SrcName#1/5 } )/10 </11 & LogHandle/12 >/13 Tile{ AsIs: >/1 ]] }
  refalrts::alloc_open_bracket(vm, context[9]);
  refalrts::alloc_close_bracket(vm, context[10]);
  refalrts::alloc_open_call(vm, context[11]);
  refalrts::alloc_name(vm, context[12], functions[efunc_LogHandle]);
  refalrts::alloc_close_call(vm, context[13]);
  refalrts::update_name(context[4], functions[efunc_gen_Logm_HighLevelRASL_B1]);
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[0] );
  refalrts::push_stack( vm, context[13] );
  refalrts::push_stack( vm, context[11] );
  refalrts::link_brackets( context[9], context[10] );
  refalrts::link_brackets( context[7], context[8] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = context[1];
  res = refalrts::splice_evar( res, context[10], context[13] );
  res = refalrts::splice_evar( res, context[5], context[6] );
  res = refalrts::splice_evar( res, context[9], context[9] );
  res = refalrts::splice_evar( res, context[8], context[8] );
  res = refalrts::splice_evar( res, context[2], context[3] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_Logm_HighLevelRASL("Log-HighLevelRASL", 0U, 0U, func_Logm_HighLevelRASL);

static refalrts::FnResult func_PutProgramElement(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 37 elems
  refalrts::Iter context[37];
  refalrts::zeros( context, 37 );
  // </0 & PutProgramElement/4 e.new#0/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  // closed e.new#0 as range 2
  // </0 & PutProgramElement/4 s.new#1/9 (/7 s.new#2/10 e.new#3/5 )/8 >/1
  context[5] = 0;
  context[6] = 0;
  context[7] = refalrts::brackets_right( context[5], context[6], context[2], context[3] );
  if( ! context[7] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[7], context[8]);
  if( ! refalrts::svar_left( context[9], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::empty_seq( context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::svar_left( context[10], context[5], context[6] ) )
    return refalrts::cRecognitionImpossible;
  // closed e.new#3 as range 5
  do {
    // </0 & PutProgramElement/4 s.new#4/9 (/7 s.new#5/10 s.new#6/13 e.new#7/11 )/8 >/1
    context[11] = context[5];
    context[12] = context[6];
    if( ! refalrts::svar_left( context[13], context[11], context[12] ) )
      continue;
    // closed e.new#7 as range 11
    do {
      // </0 & PutProgramElement/4 s.new#8/9 (/7 s.new#9/10 s.new#10/13 (/18 e.new#11/16 )/19 e.new#12/14 )/8 >/1
      context[14] = context[11];
      context[15] = context[12];
      context[16] = 0;
      context[17] = 0;
      context[18] = refalrts::brackets_left( context[16], context[17], context[14], context[15] );
      if( ! context[18] )
        continue;
      refalrts::bracket_pointers(context[18], context[19]);
      // closed e.new#11 as range 16
      // closed e.new#12 as range 14
      do {
        // </0 & PutProgramElement/4 s.FileHandle#1/9 (/7 # Function/10 s.ScopeClass#1/13 (/18 e.Name#1/20 )/19 e.Commands#1/22 )/8 >/1
        context[20] = context[16];
        context[21] = context[17];
        context[22] = context[14];
        context[23] = context[15];
        if( ! refalrts::ident_term( identifiers[ident_Function], context[10] ) )
          continue;
        // closed e.Name#1 as range 20
        // closed e.Commands#1 as range 22
        //DEBUG: s.FileHandle#1: 9
        //DEBUG: s.ScopeClass#1: 13
        //DEBUG: e.Name#1: 20
        //DEBUG: e.Commands#1: 22

        refalrts::reset_allocator(vm);
        //TRASH: {REMOVED TILE} & PutProgramElement/4 s.FileHandle#1/9 {REMOVED TILE} >/1 {REMOVED TILE}
        //RESULT: Tile{ [[ AsIs: </0 } Tile{ HalfReuse: & PutRASLFunction/7 HalfReuse: s.FileHandle1 #9/10 AsIs: s.ScopeClass#1/13 AsIs: (/18 AsIs: e.Name#1/20 AsIs: )/19 AsIs: e.Commands#1/22 HalfReuse: >/8 } Tile{ ]] }
        refalrts::reinit_name(context[7], functions[efunc_PutRASLFunction]);
        refalrts::reinit_svar( context[10], context[9] );
        refalrts::reinit_close_call(context[8]);
        refalrts::push_stack( vm, context[8] );
        refalrts::push_stack( vm, context[0] );
        refalrts::link_brackets( context[18], context[19] );
        refalrts::Iter trash_prev = arg_begin->prev;
        refalrts::use(trash_prev);
        refalrts::Iter res = arg_end->next;
        res = refalrts::splice_evar( res, context[7], context[8] );
        refalrts::splice_to_freelist_open( vm, context[0], res );
        return refalrts::cSuccess;
      } while ( 0 );
      refalrts::stop_sentence(vm);

      // </0 & PutProgramElement/4 s.FileHandle#1/9 (/7 # CmdNativeFunction/10 s.ScopeClass#1/13 (/18 e.Name#1/20 )/19 t.SrcPos#1/24 e.Code#1/22 )/8 >/1
      context[20] = context[16];
      context[21] = context[17];
      context[22] = context[14];
      context[23] = context[15];
      if( ! refalrts::ident_term( identifiers[ident_CmdNativeFunction], context[10] ) )
        continue;
      // closed e.Name#1 as range 20
      context[25] = refalrts::tvar_left( context[24], context[22], context[23] );
      if( ! context[25] )
        continue;
      // closed e.Code#1 as range 22
      //DEBUG: s.FileHandle#1: 9
      //DEBUG: s.ScopeClass#1: 13
      //DEBUG: e.Name#1: 20
      //DEBUG: t.SrcPos#1: 24
      //DEBUG: e.Code#1: 22

      refalrts::reset_allocator(vm);
      //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
      //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 HalfReuse: </7 HalfReuse: & FnName/10 AsIs: s.ScopeClass#1/13 } Tile{ AsIs: e.Name#1/20 } >/26 Tile{ HalfReuse: ' '/18 }":: native {"/27 >/29 </30 & PutCode/31 Tile{ HalfReuse: s.FileHandle1 #9/19 AsIs: t.SrcPos#1/24 AsIs: e.Code#1/22 HalfReuse: >/8 HalfReuse: </1 } & Putout/32 s.FileHandle#1/9/33"  }\n"/34 >/36 Tile{ ]] }
      refalrts::alloc_close_call(vm, context[26]);
      refalrts::alloc_chars(vm, context[27], context[28], ":: native {", 11);
      refalrts::alloc_close_call(vm, context[29]);
      refalrts::alloc_open_call(vm, context[30]);
      refalrts::alloc_name(vm, context[31], functions[efunc_PutCode]);
      refalrts::alloc_name(vm, context[32], functions[efunc_Putout]);
      refalrts::copy_stvar(vm, context[33], context[9]);
      refalrts::alloc_chars(vm, context[34], context[35], "  }\n", 4);
      refalrts::alloc_close_call(vm, context[36]);
      refalrts::update_name(context[4], functions[efunc_Putout]);
      refalrts::reinit_open_call(context[7]);
      refalrts::reinit_name(context[10], functions[efunc_FnName]);
      refalrts::reinit_char(context[18], ' ');
      refalrts::reinit_svar( context[19], context[9] );
      refalrts::reinit_close_call(context[8]);
      refalrts::reinit_open_call(context[1]);
      refalrts::push_stack( vm, context[36] );
      refalrts::push_stack( vm, context[1] );
      refalrts::push_stack( vm, context[8] );
      refalrts::push_stack( vm, context[30] );
      refalrts::push_stack( vm, context[29] );
      refalrts::push_stack( vm, context[0] );
      refalrts::push_stack( vm, context[26] );
      refalrts::push_stack( vm, context[7] );
      refalrts::Iter trash_prev = arg_begin->prev;
      refalrts::use(trash_prev);
      refalrts::Iter res = arg_end->next;
      res = refalrts::splice_evar( res, context[32], context[36] );
      res = refalrts::splice_evar( res, context[19], context[1] );
      res = refalrts::splice_evar( res, context[27], context[31] );
      res = refalrts::splice_evar( res, context[18], context[18] );
      res = refalrts::splice_evar( res, context[26], context[26] );
      res = refalrts::splice_evar( res, context[20], context[21] );
      refalrts::use( res );
      return refalrts::cSuccess;
    } while ( 0 );
    refalrts::stop_sentence(vm);

    do {
      // </0 & PutProgramElement/4 s.FileHandle#1/9 (/7 # CmdEnum/10 s.ScopeClass#1/13 e.Name#1/14 )/8 >/1
      context[14] = context[11];
      context[15] = context[12];
      if( ! refalrts::ident_term( identifiers[ident_CmdEnum], context[10] ) )
        continue;
      // closed e.Name#1 as range 14
      //DEBUG: s.FileHandle#1: 9
      //DEBUG: s.ScopeClass#1: 13
      //DEBUG: e.Name#1: 14

      refalrts::reset_allocator(vm);
      //TRASH: {REMOVED TILE} {REMOVED TILE}
      //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 HalfReuse: </7 HalfReuse: & FnName/10 AsIs: s.ScopeClass#1/13 AsIs: e.Name#1/14 HalfReuse: >/8 HalfReuse: ' '/1 }":: enum"/16 >/18 Tile{ ]] }
      refalrts::alloc_chars(vm, context[16], context[17], ":: enum", 7);
      refalrts::alloc_close_call(vm, context[18]);
      refalrts::update_name(context[4], functions[efunc_Putout]);
      refalrts::reinit_open_call(context[7]);
      refalrts::reinit_name(context[10], functions[efunc_FnName]);
      refalrts::reinit_close_call(context[8]);
      refalrts::reinit_char(context[1], ' ');
      refalrts::push_stack( vm, context[18] );
      refalrts::push_stack( vm, context[0] );
      refalrts::push_stack( vm, context[8] );
      refalrts::push_stack( vm, context[7] );
      refalrts::Iter trash_prev = arg_begin->prev;
      refalrts::use(trash_prev);
      refalrts::Iter res = arg_end->next;
      res = refalrts::splice_evar( res, context[16], context[18] );
      refalrts::use( res );
      return refalrts::cSuccess;
    } while ( 0 );
    refalrts::stop_sentence(vm);

    do {
      // </0 & PutProgramElement/4 s.FileHandle#1/9 (/7 # CmdSwap/10 s.ScopeClass#1/13 e.Name#1/14 )/8 >/1
      context[14] = context[11];
      context[15] = context[12];
      if( ! refalrts::ident_term( identifiers[ident_CmdSwap], context[10] ) )
        continue;
      // closed e.Name#1 as range 14
      //DEBUG: s.FileHandle#1: 9
      //DEBUG: s.ScopeClass#1: 13
      //DEBUG: e.Name#1: 14

      refalrts::reset_allocator(vm);
      //TRASH: {REMOVED TILE} {REMOVED TILE}
      //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 HalfReuse: </7 HalfReuse: & FnName/10 AsIs: s.ScopeClass#1/13 AsIs: e.Name#1/14 HalfReuse: >/8 HalfReuse: ' '/1 }":: swap"/16 >/18 Tile{ ]] }
      refalrts::alloc_chars(vm, context[16], context[17], ":: swap", 7);
      refalrts::alloc_close_call(vm, context[18]);
      refalrts::update_name(context[4], functions[efunc_Putout]);
      refalrts::reinit_open_call(context[7]);
      refalrts::reinit_name(context[10], functions[efunc_FnName]);
      refalrts::reinit_close_call(context[8]);
      refalrts::reinit_char(context[1], ' ');
      refalrts::push_stack( vm, context[18] );
      refalrts::push_stack( vm, context[0] );
      refalrts::push_stack( vm, context[8] );
      refalrts::push_stack( vm, context[7] );
      refalrts::Iter trash_prev = arg_begin->prev;
      refalrts::use(trash_prev);
      refalrts::Iter res = arg_end->next;
      res = refalrts::splice_evar( res, context[16], context[18] );
      refalrts::use( res );
      return refalrts::cSuccess;
    } while ( 0 );
    refalrts::stop_sentence(vm);

    do {
      // </0 & PutProgramElement/4 s.FileHandle#1/9 (/7 # CmdConditionFunc/10 s.ScopeClass#1/13 e.Name#1/14 )/8 >/1
      context[14] = context[11];
      context[15] = context[12];
      if( ! refalrts::ident_term( identifiers[ident_CmdConditionFunc], context[10] ) )
        continue;
      // closed e.Name#1 as range 14
      //DEBUG: s.FileHandle#1: 9
      //DEBUG: s.ScopeClass#1: 13
      //DEBUG: e.Name#1: 14

      refalrts::reset_allocator(vm);
      //TRASH: {REMOVED TILE} {REMOVED TILE}
      //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 HalfReuse: </7 HalfReuse: & FnName/10 AsIs: s.ScopeClass#1/13 AsIs: e.Name#1/14 HalfReuse: >/8 HalfReuse: ' '/1 }":: condition"/16 >/18 Tile{ ]] }
      refalrts::alloc_chars(vm, context[16], context[17], ":: condition", 12);
      refalrts::alloc_close_call(vm, context[18]);
      refalrts::update_name(context[4], functions[efunc_Putout]);
      refalrts::reinit_open_call(context[7]);
      refalrts::reinit_name(context[10], functions[efunc_FnName]);
      refalrts::reinit_close_call(context[8]);
      refalrts::reinit_char(context[1], ' ');
      refalrts::push_stack( vm, context[18] );
      refalrts::push_stack( vm, context[0] );
      refalrts::push_stack( vm, context[8] );
      refalrts::push_stack( vm, context[7] );
      refalrts::Iter trash_prev = arg_begin->prev;
      refalrts::use(trash_prev);
      refalrts::Iter res = arg_end->next;
      res = refalrts::splice_evar( res, context[16], context[18] );
      refalrts::use( res );
      return refalrts::cSuccess;
    } while ( 0 );
    refalrts::stop_sentence(vm);

    // </0 & PutProgramElement/4 s.FileHandle#1/9 (/7 # CmdDeclaration/10 s.ScopeClass#1/13 e.Name#1/14 )/8 >/1
    context[14] = context[11];
    context[15] = context[12];
    if( ! refalrts::ident_term( identifiers[ident_CmdDeclaration], context[10] ) )
      continue;
    // closed e.Name#1 as range 14
    //DEBUG: s.FileHandle#1: 9
    //DEBUG: s.ScopeClass#1: 13
    //DEBUG: e.Name#1: 14

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE}
    //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 HalfReuse: </7 HalfReuse: & FnName/10 AsIs: s.ScopeClass#1/13 AsIs: e.Name#1/14 HalfReuse: >/8 HalfReuse: ' '/1 }":: extern"/16 >/18 Tile{ ]] }
    refalrts::alloc_chars(vm, context[16], context[17], ":: extern", 9);
    refalrts::alloc_close_call(vm, context[18]);
    refalrts::update_name(context[4], functions[efunc_Putout]);
    refalrts::reinit_open_call(context[7]);
    refalrts::reinit_name(context[10], functions[efunc_FnName]);
    refalrts::reinit_close_call(context[8]);
    refalrts::reinit_char(context[1], ' ');
    refalrts::push_stack( vm, context[18] );
    refalrts::push_stack( vm, context[0] );
    refalrts::push_stack( vm, context[8] );
    refalrts::push_stack( vm, context[7] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = arg_end->next;
    res = refalrts::splice_evar( res, context[16], context[18] );
    refalrts::use( res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  do {
    // </0 & PutProgramElement/4 s.FileHandle#1/9 (/7 # CmdDefineIdent/10 e.Name#1/11 )/8 >/1
    context[11] = context[5];
    context[12] = context[6];
    if( ! refalrts::ident_term( identifiers[ident_CmdDefineIdent], context[10] ) )
      continue;
    // closed e.Name#1 as range 11
    //DEBUG: s.FileHandle#1: 9
    //DEBUG: e.Name#1: 11

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
    //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 HalfReuse: '$'/7 HalfReuse: 'L'/10 }"ABEL "/13 </15 & DisplayName/16 Tile{ AsIs: e.Name#1/11 } Tile{ HalfReuse: >/8 AsIs: >/1 ]] }
    refalrts::alloc_chars(vm, context[13], context[14], "ABEL ", 5);
    refalrts::alloc_open_call(vm, context[15]);
    refalrts::alloc_name(vm, context[16], functions[efunc_DisplayName]);
    refalrts::update_name(context[4], functions[efunc_Putout]);
    refalrts::reinit_char(context[7], '$');
    refalrts::reinit_char(context[10], 'L');
    refalrts::reinit_close_call(context[8]);
    refalrts::push_stack( vm, context[1] );
    refalrts::push_stack( vm, context[0] );
    refalrts::push_stack( vm, context[8] );
    refalrts::push_stack( vm, context[15] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = context[8];
    res = refalrts::splice_evar( res, context[11], context[12] );
    res = refalrts::splice_evar( res, context[13], context[16] );
    refalrts::use( res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & PutProgramElement/4 s.new#4/9 (/7 s.new#5/10 t.new#6/11 e.new#7/5 )/8 >/1
  context[12] = refalrts::tvar_left( context[11], context[5], context[6] );
  if( ! context[12] )
    return refalrts::cRecognitionImpossible;
  // closed e.new#7 as range 5
  do {
    // </0 & PutProgramElement/4 s.FileHandle#1/9 (/7 # CmdEmitNativeCode/10 t.SrcPos#1/11 e.Code#1/13 )/8 >/1
    context[13] = context[5];
    context[14] = context[6];
    if( ! refalrts::ident_term( identifiers[ident_CmdEmitNativeCode], context[10] ) )
      continue;
    // closed e.Code#1 as range 13
    //DEBUG: t.SrcPos#1: 11
    //DEBUG: s.FileHandle#1: 9
    //DEBUG: e.Code#1: 13

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
    //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 HalfReuse: 'N'/7 HalfReuse: 'a'/10 }"tive code:"/15 >/17 </18 & PutCode/19 s.FileHandle#1/9/20 Tile{ AsIs: t.SrcPos#1/11 AsIs: e.Code#1/13 HalfReuse: >/8 HalfReuse: </1 } & Putout/21 s.FileHandle#1/9/22 >/23 Tile{ ]] }
    refalrts::alloc_chars(vm, context[15], context[16], "tive code:", 10);
    refalrts::alloc_close_call(vm, context[17]);
    refalrts::alloc_open_call(vm, context[18]);
    refalrts::alloc_name(vm, context[19], functions[efunc_PutCode]);
    refalrts::copy_stvar(vm, context[20], context[9]);
    refalrts::alloc_name(vm, context[21], functions[efunc_Putout]);
    refalrts::copy_stvar(vm, context[22], context[9]);
    refalrts::alloc_close_call(vm, context[23]);
    refalrts::update_name(context[4], functions[efunc_Putout]);
    refalrts::reinit_char(context[7], 'N');
    refalrts::reinit_char(context[10], 'a');
    refalrts::reinit_close_call(context[8]);
    refalrts::reinit_open_call(context[1]);
    refalrts::push_stack( vm, context[23] );
    refalrts::push_stack( vm, context[1] );
    refalrts::push_stack( vm, context[8] );
    refalrts::push_stack( vm, context[18] );
    refalrts::push_stack( vm, context[17] );
    refalrts::push_stack( vm, context[0] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = arg_end->next;
    res = refalrts::splice_evar( res, context[21], context[23] );
    res = refalrts::splice_evar( res, context[11], context[1] );
    res = refalrts::splice_evar( res, context[15], context[20] );
    refalrts::use( res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & PutProgramElement/4 s.FileHandle#1/9 (/7 # Spec/10 (/11 e.Name#1/13 )/12 e.Pattern#1/5 )/8 >/1
  context[13] = 0;
  context[14] = 0;
  if( ! refalrts::brackets_term( context[13], context[14], context[11] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::ident_term( identifiers[ident_Spec], context[10] ) )
    return refalrts::cRecognitionImpossible;
  // closed e.Name#1 as range 13
  // closed e.Pattern#1 as range 5
  //DEBUG: s.FileHandle#1: 9
  //DEBUG: e.Name#1: 13
  //DEBUG: e.Pattern#1: 5

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 HalfReuse: '$'/7 HalfReuse: 'S'/10 HalfReuse: 'P'/11 }"EC "/15 </17 & DisplayName/18 Tile{ AsIs: e.Name#1/13 } Tile{ AsIs: >/1 } >/19 </20 & PutRASLCommands/21 s.FileHandle#1/9/22 (/23"  "/24 Tile{ AsIs: )/12 AsIs: e.Pattern#1/5 HalfReuse: >/8 } Tile{ ]] }
  refalrts::alloc_chars(vm, context[15], context[16], "EC ", 3);
  refalrts::alloc_open_call(vm, context[17]);
  refalrts::alloc_name(vm, context[18], functions[efunc_DisplayName]);
  refalrts::alloc_close_call(vm, context[19]);
  refalrts::alloc_open_call(vm, context[20]);
  refalrts::alloc_name(vm, context[21], functions[efunc_PutRASLCommands]);
  refalrts::copy_stvar(vm, context[22], context[9]);
  refalrts::alloc_open_bracket(vm, context[23]);
  refalrts::alloc_chars(vm, context[24], context[25], "  ", 2);
  refalrts::update_name(context[4], functions[efunc_Putout]);
  refalrts::reinit_char(context[7], '$');
  refalrts::reinit_char(context[10], 'S');
  refalrts::reinit_char(context[11], 'P');
  refalrts::reinit_close_call(context[8]);
  refalrts::push_stack( vm, context[8] );
  refalrts::push_stack( vm, context[20] );
  refalrts::link_brackets( context[23], context[12] );
  refalrts::push_stack( vm, context[19] );
  refalrts::push_stack( vm, context[0] );
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[17] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = arg_end->next;
  res = refalrts::splice_evar( res, context[12], context[8] );
  res = refalrts::splice_evar( res, context[19], context[25] );
  res = refalrts::splice_evar( res, context[1], context[1] );
  res = refalrts::splice_evar( res, context[13], context[14] );
  res = refalrts::splice_evar( res, context[15], context[18] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_PutProgramElement("PutProgramElement", 3331709791U, 1088025282U, func_PutProgramElement);

static refalrts::FnResult func_PutRASLFunction(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 28 elems
  refalrts::Iter context[28];
  refalrts::zeros( context, 28 );
  // </0 & PutRASLFunction/4 s.FileHandle#1/5 s.ScopeClass#1/6 (/9 e.Name#1/7 )/10 e.Commands#1/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  if( ! refalrts::svar_left( context[5], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::svar_left( context[6], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  context[7] = 0;
  context[8] = 0;
  context[9] = refalrts::brackets_left( context[7], context[8], context[2], context[3] );
  if( ! context[9] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[9], context[10]);
  // closed e.Name#1 as range 7
  // closed e.Commands#1 as range 2
  //DEBUG: s.FileHandle#1: 5
  //DEBUG: s.ScopeClass#1: 6
  //DEBUG: e.Name#1: 7
  //DEBUG: e.Commands#1: 2

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/5 } </11 & FnName/12 Tile{ AsIs: s.ScopeClass#1/6 } Tile{ AsIs: e.Name#1/7 } >/13" {"/14 >/16 </17 & PutRASLCommands/18 s.FileHandle#1/5/19 Tile{ AsIs: (/9 }"    "/20 Tile{ AsIs: )/10 AsIs: e.Commands#1/2 AsIs: >/1 } </22 & Putout/23 s.FileHandle#1/5/24"  }\n"/25 >/27 Tile{ ]] }
  refalrts::alloc_open_call(vm, context[11]);
  refalrts::alloc_name(vm, context[12], functions[efunc_FnName]);
  refalrts::alloc_close_call(vm, context[13]);
  refalrts::alloc_chars(vm, context[14], context[15], " {", 2);
  refalrts::alloc_close_call(vm, context[16]);
  refalrts::alloc_open_call(vm, context[17]);
  refalrts::alloc_name(vm, context[18], functions[efunc_PutRASLCommands]);
  refalrts::copy_stvar(vm, context[19], context[5]);
  refalrts::alloc_chars(vm, context[20], context[21], "    ", 4);
  refalrts::alloc_open_call(vm, context[22]);
  refalrts::alloc_name(vm, context[23], functions[efunc_Putout]);
  refalrts::copy_stvar(vm, context[24], context[5]);
  refalrts::alloc_chars(vm, context[25], context[26], "  }\n", 4);
  refalrts::alloc_close_call(vm, context[27]);
  refalrts::update_name(context[4], functions[efunc_Putout]);
  refalrts::push_stack( vm, context[27] );
  refalrts::push_stack( vm, context[22] );
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[17] );
  refalrts::link_brackets( context[9], context[10] );
  refalrts::push_stack( vm, context[16] );
  refalrts::push_stack( vm, context[0] );
  refalrts::push_stack( vm, context[13] );
  refalrts::push_stack( vm, context[11] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = arg_end->next;
  res = refalrts::splice_evar( res, context[22], context[27] );
  res = refalrts::splice_evar( res, context[10], context[1] );
  res = refalrts::splice_evar( res, context[20], context[21] );
  res = refalrts::splice_evar( res, context[9], context[9] );
  res = refalrts::splice_evar( res, context[13], context[19] );
  res = refalrts::splice_evar( res, context[7], context[8] );
  res = refalrts::splice_evar( res, context[6], context[6] );
  res = refalrts::splice_evar( res, context[11], context[12] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_PutRASLFunction("PutRASLFunction", 3331709791U, 1088025282U, func_PutRASLFunction);

static refalrts::FnResult func_FnName(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 9 elems
  refalrts::Iter context[9];
  refalrts::zeros( context, 9 );
  // </0 & FnName/4 e.new#0/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  // closed e.new#0 as range 2
  // </0 & FnName/4 s.new#1/5 e.new#2/2 >/1
  if( ! refalrts::svar_left( context[5], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  // closed e.new#2 as range 2
  do {
    // </0 & FnName/4 # GN-Local/5 e.Name#1/6 >/1
    context[6] = context[2];
    context[7] = context[3];
    if( ! refalrts::ident_term( identifiers[ident_GNm_Local], context[5] ) )
      continue;
    // closed e.Name#1 as range 6
    //DEBUG: e.Name#1: 6

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE}
    //RESULT: Tile{ [[ } ' '/8 Tile{ HalfReuse: ' '/0 HalfReuse: </4 HalfReuse: & DisplayName/5 AsIs: e.Name#1/6 AsIs: >/1 ]] }
    refalrts::alloc_char(vm, context[8], ' ');
    refalrts::reinit_char(context[0], ' ');
    refalrts::reinit_open_call(context[4]);
    refalrts::reinit_name(context[5], functions[efunc_DisplayName]);
    refalrts::push_stack( vm, context[1] );
    refalrts::push_stack( vm, context[4] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = context[0];
    res = refalrts::splice_evar( res, context[8], context[8] );
    refalrts::use( res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & FnName/4 # GN-Entry/5 e.Name#1/2 >/1
  if( ! refalrts::ident_term( identifiers[ident_GNm_Entry], context[5] ) )
    return refalrts::cRecognitionImpossible;
  // closed e.Name#1 as range 2
  //DEBUG: e.Name#1: 2

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ }"  $ENTRY"/6 Tile{ HalfReuse: ' '/0 HalfReuse: </4 HalfReuse: & DisplayName/5 AsIs: e.Name#1/2 AsIs: >/1 ]] }
  refalrts::alloc_chars(vm, context[6], context[7], "  $ENTRY", 8);
  refalrts::reinit_char(context[0], ' ');
  refalrts::reinit_open_call(context[4]);
  refalrts::reinit_name(context[5], functions[efunc_DisplayName]);
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[4] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = context[0];
  res = refalrts::splice_evar( res, context[6], context[7] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_FnName("FnName", 3331709791U, 1088025282U, func_FnName);

static refalrts::FnResult func_gen_PutRASLCommands_L1(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 46 elems
  refalrts::Iter context[46];
  refalrts::zeros( context, 46 );
  // </0 & PutRASLCommands\1/4 e.new#0/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  // closed e.new#0 as range 2
  // </0 & PutRASLCommands\1/4 s.new#1/13 (/11 e.new#2/9 )/12 (/7 s.new#3/14 e.new#4/5 )/8 >/1
  context[5] = 0;
  context[6] = 0;
  context[7] = refalrts::brackets_right( context[5], context[6], context[2], context[3] );
  if( ! context[7] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[7], context[8]);
  context[9] = 0;
  context[10] = 0;
  context[11] = refalrts::brackets_right( context[9], context[10], context[2], context[3] );
  if( ! context[11] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[11], context[12]);
  // closed e.new#2 as range 9
  if( ! refalrts::svar_left( context[13], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::empty_seq( context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::svar_left( context[14], context[5], context[6] ) )
    return refalrts::cRecognitionImpossible;
  // closed e.new#4 as range 5
  do {
    // </0 & PutRASLCommands\1/4 s.FileHandle#1/13 (/11 e.Indent#1/15 )/12 (/7 # CmdSentence/14 e.SubCommands#2/17 )/8 >/1
    context[15] = context[9];
    context[16] = context[10];
    context[17] = context[5];
    context[18] = context[6];
    if( ! refalrts::ident_term( identifiers[ident_CmdSentence], context[14] ) )
      continue;
    // closed e.Indent#1 as range 15
    // closed e.SubCommands#2 as range 17
    //DEBUG: s.FileHandle#1: 13
    //DEBUG: e.Indent#1: 15
    //DEBUG: e.SubCommands#2: 17

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
    //RESULT: Tile{ [[ } </19 & Putout/20 s.FileHandle#1/13/21 e.Indent#1/15/22"(CmdSentence"/24 >/26 Tile{ AsIs: </0 Reuse: & PutRASLCommands/4 AsIs: s.FileHandle#1/13 AsIs: (/11 AsIs: e.Indent#1/15 HalfReuse: ' '/12 HalfReuse: ' '/7 HalfReuse: )/14 AsIs: e.SubCommands#2/17 HalfReuse: >/8 HalfReuse: </1 } & Putout/27 s.FileHandle#1/13/28 e.Indent#1/15/29")  // CmdSentence"/31 >/33 Tile{ ]] }
    refalrts::alloc_open_call(vm, context[19]);
    refalrts::alloc_name(vm, context[20], functions[efunc_Putout]);
    refalrts::copy_stvar(vm, context[21], context[13]);
    refalrts::copy_evar(vm, context[22], context[23], context[15], context[16]);
    refalrts::alloc_chars(vm, context[24], context[25], "(CmdSentence", 12);
    refalrts::alloc_close_call(vm, context[26]);
    refalrts::alloc_name(vm, context[27], functions[efunc_Putout]);
    refalrts::copy_stvar(vm, context[28], context[13]);
    refalrts::copy_evar(vm, context[29], context[30], context[15], context[16]);
    refalrts::alloc_chars(vm, context[31], context[32], ")  // CmdSentence", 17);
    refalrts::alloc_close_call(vm, context[33]);
    refalrts::update_name(context[4], functions[efunc_PutRASLCommands]);
    refalrts::reinit_char(context[12], ' ');
    refalrts::reinit_char(context[7], ' ');
    refalrts::reinit_close_bracket(context[14]);
    refalrts::reinit_close_call(context[8]);
    refalrts::reinit_open_call(context[1]);
    refalrts::push_stack( vm, context[33] );
    refalrts::push_stack( vm, context[1] );
    refalrts::push_stack( vm, context[8] );
    refalrts::push_stack( vm, context[0] );
    refalrts::link_brackets( context[11], context[14] );
    refalrts::push_stack( vm, context[26] );
    refalrts::push_stack( vm, context[19] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = arg_end->next;
    res = refalrts::splice_evar( res, context[27], context[33] );
    res = refalrts::splice_evar( res, context[0], context[1] );
    res = refalrts::splice_evar( res, context[19], context[26] );
    refalrts::use( res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  do {
    // </0 & PutRASLCommands\1/4 s.FileHandle#1/13 (/11 e.Indent#1/15 )/12 (/7 # CmdOpenELoop/14 # AlgLeft/19 s.BracketNum#2/20 s.VarNumber#2/21 e.SubCommands#2/17 )/8 >/1
    context[15] = context[9];
    context[16] = context[10];
    context[17] = context[5];
    context[18] = context[6];
    if( ! refalrts::ident_term( identifiers[ident_CmdOpenELoop], context[14] ) )
      continue;
    context[19] = refalrts::ident_left( identifiers[ident_AlgLeft], context[17], context[18] );
    if( ! context[19] )
      continue;
    // closed e.Indent#1 as range 15
    if( ! refalrts::svar_left( context[20], context[17], context[18] ) )
      continue;
    if( ! refalrts::svar_left( context[21], context[17], context[18] ) )
      continue;
    // closed e.SubCommands#2 as range 17
    //DEBUG: s.FileHandle#1: 13
    //DEBUG: e.Indent#1: 15
    //DEBUG: s.BracketNum#2: 20
    //DEBUG: s.VarNumber#2: 21
    //DEBUG: e.SubCommands#2: 17

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
    //RESULT: Tile{ [[ } </22 & Putout/23 s.FileHandle#1/13/24 e.Indent#1/15/25"(CmdOpenELoop e."/27 </29 & Symb/30 Tile{ AsIs: s.VarNumber#2/21 } >/31" <- ["/32 </34 Tile{ HalfReuse: & Symb/19 AsIs: s.BracketNum#2/20 } >/35 ']'/36 >/37 Tile{ AsIs: </0 Reuse: & PutRASLCommands/4 AsIs: s.FileHandle#1/13 AsIs: (/11 AsIs: e.Indent#1/15 HalfReuse: ' '/12 HalfReuse: ' '/7 HalfReuse: )/14 } Tile{ AsIs: e.SubCommands#2/17 } >/38 </39 & Putout/40 s.FileHandle#1/13/41 e.Indent#1/15/42")  // CmdOpenELoo"/44 Tile{ HalfReuse: 'p'/8 AsIs: >/1 ]] }
    refalrts::alloc_open_call(vm, context[22]);
    refalrts::alloc_name(vm, context[23], functions[efunc_Putout]);
    refalrts::copy_stvar(vm, context[24], context[13]);
    refalrts::copy_evar(vm, context[25], context[26], context[15], context[16]);
    refalrts::alloc_chars(vm, context[27], context[28], "(CmdOpenELoop e.", 16);
    refalrts::alloc_open_call(vm, context[29]);
    refalrts::alloc_name(vm, context[30], functions[efunc_Symb]);
    refalrts::alloc_close_call(vm, context[31]);
    refalrts::alloc_chars(vm, context[32], context[33], " <- [", 5);
    refalrts::alloc_open_call(vm, context[34]);
    refalrts::alloc_close_call(vm, context[35]);
    refalrts::alloc_char(vm, context[36], ']');
    refalrts::alloc_close_call(vm, context[37]);
    refalrts::alloc_close_call(vm, context[38]);
    refalrts::alloc_open_call(vm, context[39]);
    refalrts::alloc_name(vm, context[40], functions[efunc_Putout]);
    refalrts::copy_stvar(vm, context[41], context[13]);
    refalrts::copy_evar(vm, context[42], context[43], context[15], context[16]);
    refalrts::alloc_chars(vm, context[44], context[45], ")  // CmdOpenELoo", 17);
    refalrts::reinit_name(context[19], functions[efunc_Symb]);
    refalrts::update_name(context[4], functions[efunc_PutRASLCommands]);
    refalrts::reinit_char(context[12], ' ');
    refalrts::reinit_char(context[7], ' ');
    refalrts::reinit_close_bracket(context[14]);
    refalrts::reinit_char(context[8], 'p');
    refalrts::push_stack( vm, context[1] );
    refalrts::push_stack( vm, context[39] );
    refalrts::push_stack( vm, context[38] );
    refalrts::push_stack( vm, context[0] );
    refalrts::link_brackets( context[11], context[14] );
    refalrts::push_stack( vm, context[37] );
    refalrts::push_stack( vm, context[22] );
    refalrts::push_stack( vm, context[35] );
    refalrts::push_stack( vm, context[34] );
    refalrts::push_stack( vm, context[31] );
    refalrts::push_stack( vm, context[29] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = context[8];
    res = refalrts::splice_evar( res, context[38], context[45] );
    res = refalrts::splice_evar( res, context[17], context[18] );
    res = refalrts::splice_evar( res, context[0], context[14] );
    res = refalrts::splice_evar( res, context[35], context[37] );
    res = refalrts::splice_evar( res, context[19], context[20] );
    res = refalrts::splice_evar( res, context[31], context[34] );
    res = refalrts::splice_evar( res, context[21], context[21] );
    res = refalrts::splice_evar( res, context[22], context[30] );
    refalrts::use( res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  do {
    // </0 & PutRASLCommands\1/4 s.FileHandle#1/13 (/11 e.Indent#1/15 )/12 (/7 # CmdComment/14 e.Message#2/17 )/8 >/1
    context[15] = context[9];
    context[16] = context[10];
    context[17] = context[5];
    context[18] = context[6];
    if( ! refalrts::ident_term( identifiers[ident_CmdComment], context[14] ) )
      continue;
    // closed e.Indent#1 as range 15
    // closed e.Message#2 as range 17
    //DEBUG: s.FileHandle#1: 13
    //DEBUG: e.Indent#1: 15
    //DEBUG: e.Message#2: 17

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} s.FileHandle#1/13 {REMOVED TILE} >/1 {REMOVED TILE}
    //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 } Tile{ HalfReuse: s.FileHandle1 #13/11 AsIs: e.Indent#1/15 HalfReuse: '/'/12 HalfReuse: '/'/7 HalfReuse: ' '/14 AsIs: e.Message#2/17 HalfReuse: >/8 } Tile{ ]] }
    refalrts::update_name(context[4], functions[efunc_Putout]);
    refalrts::reinit_svar( context[11], context[13] );
    refalrts::reinit_char(context[12], '/');
    refalrts::reinit_char(context[7], '/');
    refalrts::reinit_char(context[14], ' ');
    refalrts::reinit_close_call(context[8]);
    refalrts::push_stack( vm, context[8] );
    refalrts::push_stack( vm, context[0] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = arg_end->next;
    res = refalrts::splice_evar( res, context[11], context[8] );
    refalrts::splice_to_freelist_open( vm, context[4], res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & PutRASLCommands\1/4 s.FileHandle#1/13 (/11 e.Indent#1/9 )/12 (/7 s.Command#2/14 e.Args#2/5 )/8 >/1
  // closed e.Indent#1 as range 9
  // closed e.Args#2 as range 5
  //DEBUG: s.FileHandle#1: 13
  //DEBUG: s.Command#2: 14
  //DEBUG: e.Indent#1: 9
  //DEBUG: e.Args#2: 5

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} (/11 {REMOVED TILE} )/12 {REMOVED TILE}
  //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/13 } Tile{ AsIs: e.Indent#1/9 } Tile{ HalfReuse: '('/7 AsIs: s.Command#2/14 AsIs: e.Args#2/5 HalfReuse: ')'/8 AsIs: >/1 ]] }
  refalrts::update_name(context[4], functions[efunc_Putout]);
  refalrts::reinit_char(context[7], '(');
  refalrts::reinit_char(context[8], ')');
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[0] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = context[7];
  res = refalrts::splice_evar( res, context[9], context[10] );
  refalrts::splice_to_freelist_open( vm, context[13], res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_gen_PutRASLCommands_L1("PutRASLCommands\\1", 3331709791U, 1088025282U, func_gen_PutRASLCommands_L1);

static refalrts::FnResult func_PutRASLCommands(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 10 elems
  refalrts::Iter context[10];
  refalrts::zeros( context, 10 );
  // </0 & PutRASLCommands/4 s.FileHandle#1/5 (/8 e.Indent#1/6 )/9 e.Commands#1/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  if( ! refalrts::svar_left( context[5], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  context[6] = 0;
  context[7] = 0;
  context[8] = refalrts::brackets_left( context[6], context[7], context[2], context[3] );
  if( ! context[8] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[8], context[9]);
  // closed e.Indent#1 as range 6
  // closed e.Commands#1 as range 2
  //DEBUG: s.FileHandle#1: 5
  //DEBUG: e.Indent#1: 6
  //DEBUG: e.Commands#1: 2

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ AsIs: </0 Reuse: & Map@3/4 AsIs: s.FileHandle#1/5 } Tile{ AsIs: e.Indent#1/6 } Tile{ AsIs: (/8 } Tile{ AsIs: e.Commands#1/2 } Tile{ AsIs: )/9 } Tile{ AsIs: >/1 ]] }
  refalrts::update_name(context[4], functions[efunc_gen_Map_Z3]);
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[0] );
  refalrts::link_brackets( context[8], context[9] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = context[1];
  res = refalrts::splice_evar( res, context[9], context[9] );
  res = refalrts::splice_evar( res, context[2], context[3] );
  res = refalrts::splice_evar( res, context[8], context[8] );
  res = refalrts::splice_evar( res, context[6], context[7] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_PutRASLCommands("PutRASLCommands", 3331709791U, 1088025282U, func_PutRASLCommands);

static refalrts::FnResult func_gen_PutCode_L1(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 14 elems
  refalrts::Iter context[14];
  refalrts::zeros( context, 14 );
  // </0 & PutCode\1/4 s.FileHandle#1/9 (/7 e.Line#2/5 )/8 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  context[5] = 0;
  context[6] = 0;
  context[7] = refalrts::brackets_right( context[5], context[6], context[2], context[3] );
  if( ! context[7] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[7], context[8]);
  // closed e.Line#2 as range 5
  if( ! refalrts::svar_left( context[9], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::empty_seq( context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  //DEBUG: e.Line#2: 5
  //DEBUG: s.FileHandle#1: 9

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 HalfReuse: ' '/7 }"  "/10 Tile{ HalfReuse: ' '/8 }"| "/12 Tile{ AsIs: e.Line#2/5 } Tile{ AsIs: >/1 ]] }
  refalrts::alloc_chars(vm, context[10], context[11], "  ", 2);
  refalrts::alloc_chars(vm, context[12], context[13], "| ", 2);
  refalrts::update_name(context[4], functions[efunc_Putout]);
  refalrts::reinit_char(context[7], ' ');
  refalrts::reinit_char(context[8], ' ');
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[0] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = context[1];
  res = refalrts::splice_evar( res, context[5], context[6] );
  res = refalrts::splice_evar( res, context[12], context[13] );
  res = refalrts::splice_evar( res, context[8], context[8] );
  res = refalrts::splice_evar( res, context[10], context[11] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_gen_PutCode_L1("PutCode\\1", 3331709791U, 1088025282U, func_gen_PutCode_L1);

static refalrts::FnResult func_PutCode(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 29 elems
  refalrts::Iter context[29];
  refalrts::zeros( context, 29 );
  // </0 & PutCode/4 s.FileHandle#1/5 t.SrcPos#1/6 e.Code#1/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  if( ! refalrts::svar_left( context[5], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  context[7] = refalrts::tvar_left( context[6], context[2], context[3] );
  if( ! context[7] )
    return refalrts::cRecognitionImpossible;
  // closed e.Code#1 as range 2
  //DEBUG: s.FileHandle#1: 5
  //DEBUG: t.SrcPos#1: 6
  //DEBUG: e.Code#1: 2

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/5 }"  "/8 </10 & SrcPos/11 Tile{ AsIs: t.SrcPos#1/6 } >/12 >/13 </14 & Putout/15 s.FileHandle#1/5/16"    ======================================"/17 >/19 </20 & Map@4/21 s.FileHandle#1/5/22 Tile{ AsIs: e.Code#1/2 } >/23 </24 & Putout/25 s.FileHandle#1/5/26"    ======================================"/27 Tile{ AsIs: >/1 ]] }
  refalrts::alloc_chars(vm, context[8], context[9], "  ", 2);
  refalrts::alloc_open_call(vm, context[10]);
  refalrts::alloc_name(vm, context[11], functions[efunc_SrcPos]);
  refalrts::alloc_close_call(vm, context[12]);
  refalrts::alloc_close_call(vm, context[13]);
  refalrts::alloc_open_call(vm, context[14]);
  refalrts::alloc_name(vm, context[15], functions[efunc_Putout]);
  refalrts::copy_stvar(vm, context[16], context[5]);
  refalrts::alloc_chars(vm, context[17], context[18], "    ======================================", 42);
  refalrts::alloc_close_call(vm, context[19]);
  refalrts::alloc_open_call(vm, context[20]);
  refalrts::alloc_name(vm, context[21], functions[efunc_gen_Map_Z4]);
  refalrts::copy_stvar(vm, context[22], context[5]);
  refalrts::alloc_close_call(vm, context[23]);
  refalrts::alloc_open_call(vm, context[24]);
  refalrts::alloc_name(vm, context[25], functions[efunc_Putout]);
  refalrts::copy_stvar(vm, context[26], context[5]);
  refalrts::alloc_chars(vm, context[27], context[28], "    ======================================", 42);
  refalrts::update_name(context[4], functions[efunc_Putout]);
  refalrts::push_stack( vm, context[1] );
  refalrts::push_stack( vm, context[24] );
  refalrts::push_stack( vm, context[23] );
  refalrts::push_stack( vm, context[20] );
  refalrts::push_stack( vm, context[19] );
  refalrts::push_stack( vm, context[14] );
  refalrts::push_stack( vm, context[13] );
  refalrts::push_stack( vm, context[0] );
  refalrts::push_stack( vm, context[12] );
  refalrts::push_stack( vm, context[10] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = context[1];
  res = refalrts::splice_evar( res, context[23], context[28] );
  res = refalrts::splice_evar( res, context[2], context[3] );
  res = refalrts::splice_evar( res, context[12], context[22] );
  res = refalrts::splice_evar( res, context[6], context[7] );
  res = refalrts::splice_evar( res, context[8], context[11] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_PutCode("PutCode", 3331709791U, 1088025282U, func_PutCode);

static refalrts::FnResult func_SrcPos(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 26 elems
  refalrts::Iter context[26];
  refalrts::zeros( context, 26 );
  // </0 & SrcPos/4 e.new#0/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  // closed e.new#0 as range 2
  // </0 & SrcPos/4 t.new#1/5 >/1
  context[6] = refalrts::tvar_left( context[5], context[2], context[3] );
  if( ! context[6] )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::empty_seq( context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  do {
    // </0 & SrcPos/4 s.LineNumber#1/5 >/1
    if( ! refalrts::svar_term( context[5], context[5] ) )
      continue;
    //DEBUG: s.LineNumber#1: 5

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE}
    //RESULT: Tile{ [[ }"#line "/7 Tile{ AsIs: </0 Reuse: & Symb/4 AsIs: s.LineNumber#1/5 AsIs: >/1 ]] }
    refalrts::alloc_chars(vm, context[7], context[8], "#line ", 6);
    refalrts::update_name(context[4], functions[efunc_Symb]);
    refalrts::push_stack( vm, context[1] );
    refalrts::push_stack( vm, context[0] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = context[0];
    res = refalrts::splice_evar( res, context[7], context[8] );
    refalrts::use( res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & SrcPos/4 (/5 s.new#2/9 t.new#3/10 e.new#4/7 )/6 >/1
  context[7] = 0;
  context[8] = 0;
  if( ! refalrts::brackets_term( context[7], context[8], context[5] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::svar_left( context[9], context[7], context[8] ) )
    return refalrts::cRecognitionImpossible;
  context[11] = refalrts::tvar_left( context[10], context[7], context[8] );
  if( ! context[11] )
    return refalrts::cRecognitionImpossible;
  // closed e.new#4 as range 7
  do {
    // </0 & SrcPos/4 (/5 s.new#5/9 s.new#6/10 e.new#7/12 )/6 >/1
    context[12] = context[7];
    context[13] = context[8];
    if( ! refalrts::svar_term( context[10], context[10] ) )
      continue;
    // closed e.new#7 as range 12
    do {
      // </0 & SrcPos/4 (/5 # FileLine/9 s.Line#1/10 e.FileName#1/14 )/6 >/1
      context[14] = context[12];
      context[15] = context[13];
      if( ! refalrts::ident_term( identifiers[ident_FileLine], context[9] ) )
        continue;
      // closed e.FileName#1 as range 14
      //DEBUG: s.Line#1: 10
      //DEBUG: e.FileName#1: 14

      refalrts::reset_allocator(vm);
      //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
      //RESULT: Tile{ [[ HalfReuse: '#'/0 HalfReuse: 'l'/4 HalfReuse: 'i'/5 HalfReuse: 'n'/9 }"e "/16 </18 & Symb/19 Tile{ AsIs: s.Line#1/10 } >/20" \""/21 </23 & EscapeString/24 Tile{ AsIs: e.FileName#1/14 } Tile{ HalfReuse: >/6 HalfReuse: '\"'/1 ]] }
      refalrts::alloc_chars(vm, context[16], context[17], "e ", 2);
      refalrts::alloc_open_call(vm, context[18]);
      refalrts::alloc_name(vm, context[19], functions[efunc_Symb]);
      refalrts::alloc_close_call(vm, context[20]);
      refalrts::alloc_chars(vm, context[21], context[22], " \"", 2);
      refalrts::alloc_open_call(vm, context[23]);
      refalrts::alloc_name(vm, context[24], functions[efunc_EscapeString]);
      refalrts::reinit_char(context[0], '#');
      refalrts::reinit_char(context[4], 'l');
      refalrts::reinit_char(context[5], 'i');
      refalrts::reinit_char(context[9], 'n');
      refalrts::reinit_close_call(context[6]);
      refalrts::reinit_char(context[1], '\"');
      refalrts::push_stack( vm, context[6] );
      refalrts::push_stack( vm, context[23] );
      refalrts::push_stack( vm, context[20] );
      refalrts::push_stack( vm, context[18] );
      refalrts::Iter trash_prev = arg_begin->prev;
      refalrts::use(trash_prev);
      refalrts::Iter res = context[6];
      res = refalrts::splice_evar( res, context[14], context[15] );
      res = refalrts::splice_evar( res, context[20], context[24] );
      res = refalrts::splice_evar( res, context[10], context[10] );
      res = refalrts::splice_evar( res, context[16], context[19] );
      refalrts::use( res );
      return refalrts::cSuccess;
    } while ( 0 );
    refalrts::stop_sentence(vm);

    // </0 & SrcPos/4 (/5 # RowCol/9 s.Row#1/10 s.Col#1/16 )/6 >/1
    context[14] = context[12];
    context[15] = context[13];
    if( ! refalrts::ident_term( identifiers[ident_RowCol], context[9] ) )
      continue;
    if( ! refalrts::svar_left( context[16], context[14], context[15] ) )
      continue;
    if( ! refalrts::empty_seq( context[14], context[15] ) )
      continue;
    //DEBUG: s.Row#1: 10
    //DEBUG: s.Col#1: 16

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE} s.Col#1/16 {REMOVED TILE}
    //RESULT: Tile{ [[ HalfReuse: '#'/0 HalfReuse: 'l'/4 HalfReuse: 'i'/5 HalfReuse: 'n'/9 }"e "/17 </19 & Symb/20 Tile{ AsIs: s.Row#1/10 } >/21 ':'/22 </23 & Symb/24 Tile{ HalfReuse: s.Col1 #16/6 AsIs: >/1 ]] }
    refalrts::alloc_chars(vm, context[17], context[18], "e ", 2);
    refalrts::alloc_open_call(vm, context[19]);
    refalrts::alloc_name(vm, context[20], functions[efunc_Symb]);
    refalrts::alloc_close_call(vm, context[21]);
    refalrts::alloc_char(vm, context[22], ':');
    refalrts::alloc_open_call(vm, context[23]);
    refalrts::alloc_name(vm, context[24], functions[efunc_Symb]);
    refalrts::reinit_char(context[0], '#');
    refalrts::reinit_char(context[4], 'l');
    refalrts::reinit_char(context[5], 'i');
    refalrts::reinit_char(context[9], 'n');
    refalrts::reinit_svar( context[6], context[16] );
    refalrts::push_stack( vm, context[1] );
    refalrts::push_stack( vm, context[23] );
    refalrts::push_stack( vm, context[21] );
    refalrts::push_stack( vm, context[19] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = context[6];
    res = refalrts::splice_evar( res, context[21], context[24] );
    res = refalrts::splice_evar( res, context[10], context[10] );
    res = refalrts::splice_evar( res, context[17], context[20] );
    refalrts::splice_to_freelist_open( vm, context[9], res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & SrcPos/4 (/5 # FileRowCol/9 (/10 s.Row#1/14 s.Col#1/15 )/11 e.FileName#1/7 )/6 >/1
  context[12] = 0;
  context[13] = 0;
  if( ! refalrts::brackets_term( context[12], context[13], context[10] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::ident_term( identifiers[ident_FileRowCol], context[9] ) )
    return refalrts::cRecognitionImpossible;
  // closed e.FileName#1 as range 7
  if( ! refalrts::svar_left( context[14], context[12], context[13] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::svar_left( context[15], context[12], context[13] ) )
    return refalrts::cRecognitionImpossible;
  if( ! refalrts::empty_seq( context[12], context[13] ) )
    return refalrts::cRecognitionImpossible;
  //DEBUG: e.FileName#1: 7
  //DEBUG: s.Row#1: 14
  //DEBUG: s.Col#1: 15

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
  //RESULT: Tile{ [[ }"#li"/16 Tile{ HalfReuse: 'n'/0 HalfReuse: 'e'/4 HalfReuse: ' '/5 HalfReuse: </9 HalfReuse: & Symb/10 AsIs: s.Row#1/14 } >/18 ':'/19 </20 & Symb/21 Tile{ AsIs: s.Col#1/15 } >/22" \""/23 </25 Tile{ HalfReuse: & EscapeString/11 AsIs: e.FileName#1/7 HalfReuse: >/6 HalfReuse: '\"'/1 ]] }
  refalrts::alloc_chars(vm, context[16], context[17], "#li", 3);
  refalrts::alloc_close_call(vm, context[18]);
  refalrts::alloc_char(vm, context[19], ':');
  refalrts::alloc_open_call(vm, context[20]);
  refalrts::alloc_name(vm, context[21], functions[efunc_Symb]);
  refalrts::alloc_close_call(vm, context[22]);
  refalrts::alloc_chars(vm, context[23], context[24], " \"", 2);
  refalrts::alloc_open_call(vm, context[25]);
  refalrts::reinit_char(context[0], 'n');
  refalrts::reinit_char(context[4], 'e');
  refalrts::reinit_char(context[5], ' ');
  refalrts::reinit_open_call(context[9]);
  refalrts::reinit_name(context[10], functions[efunc_Symb]);
  refalrts::reinit_name(context[11], functions[efunc_EscapeString]);
  refalrts::reinit_close_call(context[6]);
  refalrts::reinit_char(context[1], '\"');
  refalrts::push_stack( vm, context[6] );
  refalrts::push_stack( vm, context[25] );
  refalrts::push_stack( vm, context[22] );
  refalrts::push_stack( vm, context[20] );
  refalrts::push_stack( vm, context[18] );
  refalrts::push_stack( vm, context[9] );
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = context[11];
  res = refalrts::splice_evar( res, context[22], context[25] );
  res = refalrts::splice_evar( res, context[15], context[15] );
  res = refalrts::splice_evar( res, context[18], context[21] );
  res = refalrts::splice_evar( res, context[0], context[14] );
  res = refalrts::splice_evar( res, context[16], context[17] );
  refalrts::use( res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_SrcPos("SrcPos", 3331709791U, 1088025282U, func_SrcPos);

static refalrts::FnResult func_gen_Map_Z1(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 18 elems
  refalrts::Iter context[18];
  refalrts::zeros( context, 18 );
  // </0 & Map@1/4 e.new#0/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  // closed e.new#0 as range 2
  // </0 & Map@1/4 s.new#1/5 e.new#2/2 >/1
  if( ! refalrts::svar_left( context[5], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  // closed e.new#2 as range 2
  do {
    // </0 & Map@1/4 s.new#3/5 t.new#4/8 e.new#5/6 >/1
    context[6] = context[2];
    context[7] = context[3];
    context[9] = refalrts::tvar_left( context[8], context[6], context[7] );
    if( ! context[9] )
      continue;
    // closed e.new#5 as range 6
    do {
      // </0 & Map@1/4 s.FileHandle#2/5 (/8 e.#0/12 )/9 e.Tail#1/10 >/1
      context[10] = context[6];
      context[11] = context[7];
      context[12] = 0;
      context[13] = 0;
      if( ! refalrts::brackets_term( context[12], context[13], context[8] ) )
        continue;
      // closed e.#0 as range 12
      // closed e.Tail#1 as range 10
      //DEBUG: s.FileHandle#2: 5
      //DEBUG: e.#0: 12
      //DEBUG: e.Tail#1: 10

      refalrts::reset_allocator(vm);
      //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
      //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#2/5 HalfReuse: ' '/8 } ' '/14 Tile{ AsIs: e.#0/12 } >/15 </16 & Map@1/17 Tile{ HalfReuse: s.FileHandle2 #5/9 AsIs: e.Tail#1/10 AsIs: >/1 ]] }
      refalrts::alloc_char(vm, context[14], ' ');
      refalrts::alloc_close_call(vm, context[15]);
      refalrts::alloc_open_call(vm, context[16]);
      refalrts::alloc_name(vm, context[17], functions[efunc_gen_Map_Z1]);
      refalrts::update_name(context[4], functions[efunc_Putout]);
      refalrts::reinit_char(context[8], ' ');
      refalrts::reinit_svar( context[9], context[5] );
      refalrts::push_stack( vm, context[1] );
      refalrts::push_stack( vm, context[16] );
      refalrts::push_stack( vm, context[15] );
      refalrts::push_stack( vm, context[0] );
      refalrts::Iter trash_prev = arg_begin->prev;
      refalrts::use(trash_prev);
      refalrts::Iter res = context[9];
      res = refalrts::splice_evar( res, context[15], context[17] );
      res = refalrts::splice_evar( res, context[12], context[13] );
      res = refalrts::splice_evar( res, context[14], context[14] );
      refalrts::use( res );
      return refalrts::cSuccess;
    } while ( 0 );
    refalrts::stop_sentence(vm);

    // </0 & Map@1/4 s.FileHandle#2/5 t.Next#1/8 e.Tail#1/10 >/1
    context[10] = context[6];
    context[11] = context[7];
    // closed e.Tail#1 as range 10
    //DEBUG: t.Next#1: 8
    //DEBUG: s.FileHandle#2: 5
    //DEBUG: e.Tail#1: 10

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
    //RESULT: Tile{ [[ AsIs: </0 Reuse: & Log-AST:1$2\1*1/4 AsIs: s.FileHandle#2/5 AsIs: t.Next#1/8 } >/12 </13 & Map@1/14 s.FileHandle#2/5/15 Tile{ AsIs: e.Tail#1/10 } Tile{ AsIs: >/1 ]] }
    refalrts::alloc_close_call(vm, context[12]);
    refalrts::alloc_open_call(vm, context[13]);
    refalrts::alloc_name(vm, context[14], functions[efunc_gen_Map_Z1]);
    refalrts::copy_stvar(vm, context[15], context[5]);
    refalrts::update_name(context[4], functions[efunc_gen_Logm_AST_B1S2L1D1]);
    refalrts::push_stack( vm, context[1] );
    refalrts::push_stack( vm, context[13] );
    refalrts::push_stack( vm, context[12] );
    refalrts::push_stack( vm, context[0] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = context[1];
    res = refalrts::splice_evar( res, context[10], context[11] );
    res = refalrts::splice_evar( res, context[12], context[15] );
    refalrts::use( res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & Map@1/4 s.FileHandle#2/5 >/1
  if( ! refalrts::empty_seq( context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  //DEBUG: s.FileHandle#2: 5

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} </0 & Map@1/4 s.FileHandle#2/5 >/1 {REMOVED TILE}
  //RESULT: Tile{ [[ } Tile{ ]] }
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = arg_end->next;
  refalrts::splice_to_freelist_open( vm, trash_prev, res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_gen_Map_Z1("Map@1", 3331709791U, 1088025282U, func_gen_Map_Z1);

static refalrts::FnResult func_gen_Map_Z2(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 14 elems
  refalrts::Iter context[14];
  refalrts::zeros( context, 14 );
  // </0 & Map@2/4 e.new#0/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  // closed e.new#0 as range 2
  // </0 & Map@2/4 s.new#1/5 e.new#2/2 >/1
  if( ! refalrts::svar_left( context[5], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  // closed e.new#2 as range 2
  do {
    // </0 & Map@2/4 s.FileHandle#2/5 t.Next#1/8 e.Tail#1/6 >/1
    context[6] = context[2];
    context[7] = context[3];
    context[9] = refalrts::tvar_left( context[8], context[6], context[7] );
    if( ! context[9] )
      continue;
    // closed e.Tail#1 as range 6
    //DEBUG: s.FileHandle#2: 5
    //DEBUG: t.Next#1: 8
    //DEBUG: e.Tail#1: 6

    refalrts::reset_allocator(vm);
    //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
    //RESULT: Tile{ [[ AsIs: </0 Reuse: & PutProgramElement/4 AsIs: s.FileHandle#2/5 AsIs: t.Next#1/8 } >/10 </11 & Map@2/12 s.FileHandle#2/5/13 Tile{ AsIs: e.Tail#1/6 } Tile{ AsIs: >/1 ]] }
    refalrts::alloc_close_call(vm, context[10]);
    refalrts::alloc_open_call(vm, context[11]);
    refalrts::alloc_name(vm, context[12], functions[efunc_gen_Map_Z2]);
    refalrts::copy_stvar(vm, context[13], context[5]);
    refalrts::update_name(context[4], functions[efunc_PutProgramElement]);
    refalrts::push_stack( vm, context[1] );
    refalrts::push_stack( vm, context[11] );
    refalrts::push_stack( vm, context[10] );
    refalrts::push_stack( vm, context[0] );
    refalrts::Iter trash_prev = arg_begin->prev;
    refalrts::use(trash_prev);
    refalrts::Iter res = context[1];
    res = refalrts::splice_evar( res, context[6], context[7] );
    res = refalrts::splice_evar( res, context[10], context[13] );
    refalrts::use( res );
    return refalrts::cSuccess;
  } while ( 0 );
  refalrts::stop_sentence(vm);

  // </0 & Map@2/4 s.FileHandle#2/5 >/1
  if( ! refalrts::empty_seq( context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  //DEBUG: s.FileHandle#2: 5

  refalrts::reset_allocator(vm);
  //TRASH: {REMOVED TILE} </0 & Map@2/4 s.FileHandle#2/5 >/1 {REMOVED TILE}
  //RESULT: Tile{ [[ } Tile{ ]] }
  refalrts::Iter trash_prev = arg_begin->prev;
  refalrts::use(trash_prev);
  refalrts::Iter res = arg_end->next;
  refalrts::splice_to_freelist_open( vm, trash_prev, res );
  return refalrts::cSuccess;
}

static refalrts::NativeReference nat_ref_gen_Map_Z2("Map@2", 3331709791U, 1088025282U, func_gen_Map_Z2);

static refalrts::FnResult func_gen_Map_Z3(refalrts::VM *vm, refalrts::Iter arg_begin, refalrts::Iter arg_end) {
  (void) vm;
  refalrts::this_is_generated_function(vm);
  refalrts::RefalFunction **functions;
  const refalrts::RefalIdentifier *identifiers;
  refalrts::load_constants(arg_begin, &functions, &identifiers);
  // issue here memory for vars with 67 elems
  refalrts::Iter context[67];
  refalrts::zeros( context, 67 );
  // </0 & Map@3/4 e.new#0/2 >/1
  context[0] = arg_begin;
  context[1] = arg_end;
  context[2] = 0;
  context[3] = 0;
  context[4] = refalrts::call_left( context[2], context[3], context[0], context[1] );
  // closed e.new#0 as range 2
  // </0 & Map@3/4 s.new#1/9 e.new#2/2 (/7 e.new#3/5 )/8 >/1
  context[5] = 0;
  context[6] = 0;
  context[7] = refalrts::brackets_right( context[5], context[6], context[2], context[3] );
  if( ! context[7] )
    return refalrts::cRecognitionImpossible;
  refalrts::bracket_pointers(context[7], context[8]);
  // closed e.new#3 as range 5
  if( ! refalrts::svar_left( context[9], context[2], context[3] ) )
    return refalrts::cRecognitionImpossible;
  // closed e.new#2 as range 2
  do {
    // </0 & Map@3/4 s.new#4/9 e.new#5/10 (/7 t.new#6/14 e.new#7/12 )/8 >/1
    context[10] = context[2];
    context[11] = context[3];
    context[12] = context[5];
    context[13] = context[6];
    // closed e.new#5 as range 10
    context[15] = refalrts::tvar_left( context[14], context[12], context[13] );
    if( ! context[15] )
      continue;
    // closed e.new#7 as range 12
    do {
      // </0 & Map@3/4 s.new#8/9 e.new#9/16 (/7 (/14 s.new#10/22 e.new#11/20 )/15 e.new#12/18 )/8 >/1
      context[16] = context[10];
      context[17] = context[11];
      context[18] = context[12];
      context[19] = context[13];
      context[20] = 0;
      context[21] = 0;
      if( ! refalrts::brackets_term( context[20], context[21], context[14] ) )
        continue;
      // closed e.new#9 as range 16
      // closed e.new#12 as range 18
      if( ! refalrts::svar_left( context[22], context[20], context[21] ) )
        continue;
      // closed e.new#11 as range 20
      do {
        // </0 & Map@3/4 s.FileHandle#1/9 e.Indent#1/23 (/7 (/14 # CmdSentence/22 e.0#0/25 )/15 e.Tail#1/27 )/8 >/1
        context[23] = context[16];
        context[24] = context[17];
        context[25] = context[20];
        context[26] = context[21];
        context[27] = context[18];
        context[28] = context[19];
        if( ! refalrts::ident_term( identifiers[ident_CmdSentence], context[22] ) )
          continue;
        // closed e.Indent#1 as range 23
        // closed e.0#0 as range 25
        // closed e.Tail#1 as range 27
        //DEBUG: s.FileHandle#1: 9
        //DEBUG: e.Indent#1: 23
        //DEBUG: e.0#0: 25
        //DEBUG: e.Tail#1: 27

        refalrts::reset_allocator(vm);
        //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
        //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 AsIs: e.Indent#1/23 HalfReuse: '('/7 HalfReuse: 'C'/14 HalfReuse: 'm'/22 }"dSentence"/29 >/31 </32 & PutRASLCommands/33 s.FileHandle#1/9/34 (/35 e.Indent#1/23/36"  "/38 )/40 Tile{ AsIs: e.0#0/25 } >/41 </42 & Putout/43 s.FileHandle#1/9/44 e.Indent#1/23/45")  // CmdSentence"/47 >/49 </50 & Map@3/51 s.FileHandle#1/9/52 e.Indent#1/23/53 Tile{ HalfReuse: (/15 AsIs: e.Tail#1/27 AsIs: )/8 AsIs: >/1 ]] }
        refalrts::alloc_chars(vm, context[29], context[30], "dSentence", 9);
        refalrts::alloc_close_call(vm, context[31]);
        refalrts::alloc_open_call(vm, context[32]);
        refalrts::alloc_name(vm, context[33], functions[efunc_PutRASLCommands]);
        refalrts::copy_stvar(vm, context[34], context[9]);
        refalrts::alloc_open_bracket(vm, context[35]);
        refalrts::copy_evar(vm, context[36], context[37], context[23], context[24]);
        refalrts::alloc_chars(vm, context[38], context[39], "  ", 2);
        refalrts::alloc_close_bracket(vm, context[40]);
        refalrts::alloc_close_call(vm, context[41]);
        refalrts::alloc_open_call(vm, context[42]);
        refalrts::alloc_name(vm, context[43], functions[efunc_Putout]);
        refalrts::copy_stvar(vm, context[44], context[9]);
        refalrts::copy_evar(vm, context[45], context[46], context[23], context[24]);
        refalrts::alloc_chars(vm, context[47], context[48], ")  // CmdSentence", 17);
        refalrts::alloc_close_call(vm, context[49]);
        refalrts::alloc_open_call(vm, context[50]);
        refalrts::alloc_name(vm, context[51], functions[efunc_gen_Map_Z3]);
        refalrts::copy_stvar(vm, context[52], context[9]);
        refalrts::copy_evar(vm, context[53], context[54], context[23], context[24]);
        refalrts::update_name(context[4], functions[efunc_Putout]);
        refalrts::reinit_char(context[7], '(');
        refalrts::reinit_char(context[14], 'C');
        refalrts::reinit_char(context[22], 'm');
        refalrts::reinit_open_bracket(context[15]);
        refalrts::push_stack( vm, context[1] );
        refalrts::push_stack( vm, context[50] );
        refalrts::link_brackets( context[15], context[8] );
        refalrts::push_stack( vm, context[49] );
        refalrts::push_stack( vm, context[42] );
        refalrts::push_stack( vm, context[41] );
        refalrts::push_stack( vm, context[32] );
        refalrts::link_brackets( context[35], context[40] );
        refalrts::push_stack( vm, context[31] );
        refalrts::push_stack( vm, context[0] );
        refalrts::Iter trash_prev = arg_begin->prev;
        refalrts::use(trash_prev);
        refalrts::Iter res = context[15];
        res = refalrts::splice_evar( res, context[53], context[54] );
        res = refalrts::splice_evar( res, context[41], context[52] );
        res = refalrts::splice_evar( res, context[25], context[26] );
        res = refalrts::splice_evar( res, context[29], context[40] );
        refalrts::use( res );
        return refalrts::cSuccess;
      } while ( 0 );
      refalrts::stop_sentence(vm);

      do {
        // </0 & Map@3/4 s.FileHandle#1/9 e.Indent#1/23 (/7 (/14 # CmdOpenELoop/22 # AlgLeft/29 s.BracketNum#2/30 s.VarNumber#2/31 e.3#0/25 )/15 e.Tail#1/27 )/8 >/1
        context[23] = context[16];
        context[24] = context[17];
        context[25] = context[20];
        context[26] = context[21];
        context[27] = context[18];
        context[28] = context[19];
        if( ! refalrts::ident_term( identifiers[ident_CmdOpenELoop], context[22] ) )
          continue;
        context[29] = refalrts::ident_left( identifiers[ident_AlgLeft], context[25], context[26] );
        if( ! context[29] )
          continue;
        // closed e.Indent#1 as range 23
        // closed e.Tail#1 as range 27
        if( ! refalrts::svar_left( context[30], context[25], context[26] ) )
          continue;
        if( ! refalrts::svar_left( context[31], context[25], context[26] ) )
          continue;
        // closed e.3#0 as range 25
        //DEBUG: s.FileHandle#1: 9
        //DEBUG: e.Indent#1: 23
        //DEBUG: e.Tail#1: 27
        //DEBUG: s.BracketNum#2: 30
        //DEBUG: s.VarNumber#2: 31
        //DEBUG: e.3#0: 25

        refalrts::reset_allocator(vm);
        //TRASH: {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE} {REMOVED TILE}
        //RESULT: Tile{ [[ AsIs: </0 Reuse: & Putout/4 AsIs: s.FileHandle#1/9 AsIs: e.Indent#1/23 HalfReuse: '('/7 HalfReuse: 'C'/14 HalfReuse: 'm'/22 HalfReuse: 'd'/29 }"OpenELoop e."/32 </34 & Symb/35 Tile{ AsIs: s.VarNumber#2/31 } >/36" <- ["/37 </39 & Symb/40 Tile{ AsIs: s.BracketNum#2/30 } >/41 ']'/42 >/43 </44 & PutRASLCommands/45 s.FileHandle#1/9/46 (/47 e.Indent#1/23/48"  "/50 )/52 Tile{ AsIs: e.3#0/25 } >/53 </54 & Putout/55 s.FileHandle#1/9/56 e.Indent#1/23/57")  // CmdOpenELoop"/59 >/61 </62 & Map@3/63 s.FileHandle#1/9/64 e.Indent#1/23/65 Tile{ HalfReuse: (/15 AsIs: e.Tail#1/27 AsIs: )/8 AsIs: >/1 ]] }
        refalrts::alloc_chars(vm, context[32], context[33], "OpenELoop e.", 12);
        refalrts::alloc_open_call(vm, context[34]);
        refalrts::alloc_name(vm, context[35], functions[efunc_Symb]);
        refalrts::alloc_close_call(vm, context[36]);
        refalrts::alloc_chars(vm, context[37], context[38], " <- [", 5);
        refalrts::alloc_open_call(vm, context[39]);
        refalrts::alloc_name(vm, context[40], functions[efunc_Symb]);
        refalrts::alloc_close_call(vm, context[41]);
        refalrts::alloc_char(vm, context[42], ']');
        refalrts::alloc_close_call(vm, context[43]);
        refalrts::alloc_open_call(vm, context[44]);
        refalrts::alloc_name(vm, context[45], functions[efunc_PutRASLCommands]);
        refalrts::copy_stvar(vm, context[46], context[9]);
        refalrts::alloc_open_bracket(vm, context[47]);
        refalrts::copy_evar(vm, context[48], context[49], context[23], context[24]);
        refalrts::alloc_chars(vm, context[50], context[51], "  ", 2);
        refalrts::alloc_close_bracket(vm, context[52]);
        refalrts::alloc_close_call(vm, context[53]);
        refalrts::alloc_open_call(vm, context[54]);
        refalrts::alloc_name(vm, context[55], functions[efunc_Putout]);
        refalrts::copy_stvar(vm, context[56], context[9]);
        refalrts::copy_evar(vm, context[57], context[58], context[23], context[24]);
        refalrts::alloc_chars(vm, context[59], context[60], ")  // CmdOpenELoop", 18);
        refalrts::alloc_close_call(vm, context[61]);
        refalrts::alloc_open_call(vm, context[62]);
        refalrts::alloc_name(vm, context[63], functions[efunc_gen_Map_Z3]);
        refalrts::copy_st

license_type: permissive

branch_name: refs/heads/master