#include "chdecl.h"
void CH_chcode_chimprove_cblocks(current, sched, cop)
#define ARGUMENTS 6
#include "chhead.h"
select: switch (SELECTOR) {
    case 0: goto c0;
    case 1: goto cb1;
    case 2: goto c2;
    case 3: goto c6;
    case 4: goto c16;
    case 5: goto c23;
    case 6: goto c24;
    case 7: goto c31;
    case 8: goto c37;
    case 9: goto c45;
    case 10: goto c49;
    case 11: goto c70;
    case 12: goto c132;
    case 13: goto c141;
    case 14: goto c145;
    case 15: goto c148;
    case 16: goto c162;
    case 17: goto c180;
    case 18: goto c195;
    case 19: goto c198;
    case 20: goto c204;  }
c0:
/* block , 0 */
  if((ch_returncode = che_block(QUAL(0),sched)) != Normal)
     goto ch_raise_exception;
  current->ip = 1;
cb1:
/* receive 3 0 */
  if ((ch_returncode = che_receive(DEF(3),DEF(0),sched)) != Normal)
     goto ch_raise_exception;
  return;
c2:
/* copy 4 3.1 */
  if((ch_returncode = cp_table(& ch_val, REF(3)DOT(1).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(4).tsdr)->finalize)(REF(4).value,F_DISCARD,sched);
  REF(4).value = ch_val;
  REF(4).tsdr = & dr_table;
/* new_table 5 , 1 */
  if ((ch_returncode = che_new_table(DEF(5),QUAL(1),sched)) != Normal) 
     goto ch_raise_exception;
/* copy 6 3.2 */
  if((ch_returncode = cp_table(& ch_val, REF(3)DOT(2).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(6).tsdr)->finalize)(REF(6).value,F_DISCARD,sched);
  REF(6).value = ch_val;
  REF(6).tsdr = & dr_table;
/* initget 7 6 , 0,0 */
  (*(REF(7).tsdr)->finalize)(REF(7).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(7),DEF(6),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c6:
/* get_or_goto 7 6 , 45 */
  if ((ch_returncode = get_selected_object(DEF(7),DEF(6),sched)) != Normal)
     goto c45;
/* notequal . 7.4 =(1) , 31 */
  if ( REF(7)DOT(4).value.ord_enum != 1 ) goto c31;
/* notequal . 7.0 =(107) , 23 */
  if ( REF(7)DOT(0).value.enumeration != 107 ) goto c23;
/* reveal 7.2 , 11 */
  if (11 != REF(7)DOT(2).value.variant->info.variant_case) goto ch_case_error;
/* copy 8 7.2.0 */
  if((ch_returncode = cp_table(& ch_val, REF(7)DOT(2)DOT(0).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(8).tsdr)->finalize)(REF(8).value,F_DISCARD,sched);
  REF(8).value = ch_val;
  REF(8).tsdr = & dr_table;
/* initget 9 8 , 0,0 */
  (*(REF(9).tsdr)->finalize)(REF(9).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(9),DEF(8),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c16:
/* get_or_goto 9 8 , 20 */
  if ((ch_returncode = get_selected_object(DEF(9),DEF(8),sched)) != Normal)
     goto c20;
/* copy 10 9 */
  if((ch_returncode = (REF(9).tsdr->copy)(& ch_val, REF(9).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(10).tsdr)->finalize)(REF(10).value,F_DISCARD,sched);
  REF(10).value = ch_val;
  REF(10).tsdr = datarepmap[REF(9).tsdr->number];
/* insert 5 10 */
  if ((ch_returncode = insertfunc(DEF(5),DEF(10),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 16 */
   goto c16;
c20:
/* endget 9 8 */
  end_selector(DEF(9),DEF(8),sched,GET);
/* discard 8 */
  (*(REF(8).tsdr)->finalize)(REF(8).value,F_DISCARD,sched);
  REF(8).tsdr = & dr_bottom;
c23:
/* initget 11 4 , 0,0 */
  (*(REF(11).tsdr)->finalize)(REF(11).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(11),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c24:
/* get_or_err 11 4 */
  if ((ch_returncode = get_selected_object(DEF(11),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* position 12 7 */
  ch_frame = get_selector_frame(DEF(7),sched);
  ch_t = ch_frame->inspectee->value.table;
  REF(12).value.integer = ch_frame->rmvcount +
    (*(ch_t->tbls[ORDER_TBL].des->position_of))(ch_t,ORDER_TBL,ch_frame->pos);
  REF(12).tsdr = &dr_integer;
/* notequal . 11.1 12 , 24 */
  if ( REF(11)DOT(1).value.integer != REF(12).value.integer ) goto c24;
/* copy 13 11.2 */
  if((ch_returncode = (REF(11)DOT(2).tsdr->copy)(& ch_val, REF(11)DOT(2).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(13).tsdr)->finalize)(REF(13).value,F_DISCARD,sched);
  REF(13).value = ch_val;
  REF(13).tsdr = datarepmap[REF(11)DOT(2).tsdr->number];
/* insert 5 13 */
  if ((ch_returncode = insertfunc(DEF(5),DEF(13),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* endget 11 4 */
  end_selector(DEF(11),DEF(4),sched,GET);
c31:
/* noop */
  
/* notequal . 7.0 =(104) , 6 */
  if ( REF(7)DOT(0).value.enumeration != 104 ) goto c6;
/* reveal 7.2 , 9 */
  if (9 != REF(7)DOT(2).value.variant->info.variant_case) goto ch_case_error;
/* copy 14 7.2.0 */
  if((ch_returncode = cp_table(& ch_val, REF(7)DOT(2)DOT(0).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(14).tsdr)->finalize)(REF(14).value,F_DISCARD,sched);
  REF(14).value = ch_val;
  REF(14).tsdr = & dr_table;
/* initget 15 14 , 0,0 */
  (*(REF(15).tsdr)->finalize)(REF(15).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(15),DEF(14),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c37:
/* get_or_goto 15 14 , 41 */
  if ((ch_returncode = get_selected_object(DEF(15),DEF(14),sched)) != Normal)
     goto c41;
/* copy 16 15.1 */
  if((ch_returncode = (REF(15)DOT(1).tsdr->copy)(& ch_val, REF(15)DOT(1).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(16).tsdr)->finalize)(REF(16).value,F_DISCARD,sched);
  REF(16).value = ch_val;
  REF(16).tsdr = datarepmap[REF(15)DOT(1).tsdr->number];
/* insert 5 16 */
  if ((ch_returncode = insertfunc(DEF(5),DEF(16),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 37 */
   goto c37;
c41:
/* endget 15 14 */
  end_selector(DEF(15),DEF(14),sched,GET);
/* discard 14 */
  (*(REF(14).tsdr)->finalize)(REF(14).value,F_DISCARD,sched);
  REF(14).tsdr = & dr_bottom;
/* branch , 6 */
   goto c6;
c45:
/* endget 7 6 */
  end_selector(DEF(7),DEF(6),sched,GET);
/* discard 6 */
  (*(REF(6).tsdr)->finalize)(REF(6).value,F_DISCARD,sched);
  REF(6).tsdr = & dr_bottom;
/* copy 17 3.1 */
  if((ch_returncode = cp_table(& ch_val, REF(3)DOT(1).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(17).tsdr)->finalize)(REF(17).value,F_DISCARD,sched);
  REF(17).value = ch_val;
  REF(17).tsdr = & dr_table;
/* initget 18 17 , 0,0 */
  (*(REF(18).tsdr)->finalize)(REF(18).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(18),DEF(17),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c49:
/* get_or_goto 18 17 , 198 */
  if ((ch_returncode = get_selected_object(DEF(18),DEF(17),sched)) != Normal)
     goto c198;
/* lookup_at 19 3.2 18.1 */
  if((ch_i = REF(18)DOT(1).value.integer) < 0 || ch_i >= (ch_t = 
    REF(3)DOT(2).value.table)->size) goto ch_notfound;
  (*(REF(19).tsdr)->finalize)(REF(19).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(19).value,ch_i);
  REF(19).tsdr = qdatarepmap[ch_t->tsdr->number];
/* size 20 18.3 */
  REF(20).value.integer = REF(18)DOT(3).value.table->size;
  REF(20).tsdr = & dr_integer;
/* notequal . 20 =(1) , 49 */
  if ( REF(20).value.integer != 1 ) goto c49;
/* equal 21 19.0 =(114) */
  REF(21).value.boolean = (REF(19)DOT(0).value.enumeration == 114);
  REF(21).tsdr = & dr_boolean;
/* equal 22 19.0 =(109) */
  REF(22).value.boolean = (REF(19)DOT(0).value.enumeration == 109);
  REF(22).tsdr = & dr_boolean;
/* or 23 21 22 */
  REF(23).value.boolean = REF(21).value.boolean|REF(22).value.boolean;
  REF(23).tsdr = & dr_boolean;
/* branch_false 23 , 49 */
  if ( !REF(23).value.boolean ) goto c49;
/* block , 2 */
  if((ch_returncode = che_block(QUAL(2),sched)) != Normal)
     goto ch_raise_exception;
/* notequal . 19.0 =(109) , 69 */
  if ( REF(19)DOT(0).value.enumeration != 109 ) goto c69;
/* copy 24 19.2 */
  if((ch_returncode = cp_variant(& ch_val, REF(19)DOT(2).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(24).tsdr)->finalize)(REF(24).value,F_DISCARD,sched);
  REF(24).value = ch_val;
  REF(24).tsdr = & dr_variant;
/* reveal 24 , 2 */
  if (2 != REF(24).value.variant->info.variant_case) goto ch_case_error;
/* dissolve 25 24 */
  (*(REF(25).tsdr)->finalize)(REF(25).value,F_DISCARD,sched);
  REF(25) = REF(24).value.variant->data[VARIANT_COMPONENT];
  { freedotmain(REF(24).value.variant, VARIANT_SIZE); }
  REF(24).tsdr = & dr_bottom;
/* branch , 70 */
   goto c70;
c69:
/* copy 25 18.2 */
  REF(25) = REF(18)DOT(2);
c70:
/* size 26 3.2 */
  REF(26).value.integer = REF(3)DOT(2).value.table->size;
  REF(26).tsdr = & dr_integer;
/* igt . 25 26 , 195 */
  if ( REF(25).value.integer > REF(26).value.integer ) goto c195;
/* lookup_at 27 3.2 25 */
  if((ch_i = REF(25).value.integer) < 0 || ch_i >= (ch_t = REF(3)DOT(2).value
    .table)->size) goto ch_notfound;
  (*(REF(27).tsdr)->finalize)(REF(27).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(27).value,ch_i);
  REF(27).tsdr = qdatarepmap[ch_t->tsdr->number];
/* equal . 27.4 =(3) , 82 */
  if ( REF(27)DOT(4).value.ord_enum == 3 ) goto c82;
/* equal . 27.4 =(4) , 84 */
  if ( REF(27)DOT(4).value.ord_enum == 4 ) goto c84;
/* equal . 27.4 =(0) , 88 */
  if ( REF(27)DOT(4).value.ord_enum == 0 ) goto c88;
/* branch , 145 */
   goto c145;
c82:
/* exit , 3 */
  ch_e = handler_type__exit; ch_val = QUAL(3); goto ch_exception;
c84:
/* noop */
  
/* iadd 25 25 =(1) */
  if (!chf_iadd(DEF(25),REF(25).value.integer,1)) goto ch_depletion;
/* branch , 70 */
   goto c70;
c88:
/* size 28 18.0 */
  REF(28).value.integer = REF(18)DOT(0).value.table->size;
  REF(28).tsdr = & dr_integer;
/* ile 29 28 =(1) */
  REF(29).value.boolean = (REF(28).value.integer <= 1);
/* equal 30 27.6 =(0) */
  REF(30).value.boolean = (REF(27)DOT(6).value.integer == 0);
  REF(30).tsdr = & dr_boolean;
/* equal 31 19.0 =(109) */
  REF(31).value.boolean = (REF(19)DOT(0).value.enumeration == 109);
  REF(31).tsdr = & dr_boolean;
/* equal 32 27.6 =(1) */
  REF(32).value.boolean = (REF(27)DOT(6).value.integer == 1);
  REF(32).tsdr = & dr_boolean;
/* and 33 31 32 */
  REF(33).value.boolean = REF(31).value.boolean&REF(32).value.boolean;
  REF(33).tsdr = & dr_boolean;
/* or 34 30 33 */
  REF(34).value.boolean = REF(30).value.boolean|REF(33).value.boolean;
  REF(34).tsdr = & dr_boolean;
/* and 35 29 34 */
  REF(35).value.boolean = REF(29).value.boolean&REF(34).value.boolean;
  REF(35).tsdr = & dr_boolean;
/* branch_false 35 , 141 */
  if ( !REF(35).value.boolean ) goto c141;
/* notequal . 19.0 =(109) , 107 */
  if ( REF(19)DOT(0).value.enumeration != 109 ) goto c107;
/* equal . 25 18.2 , 107 */
  if ( REF(25).value.integer == REF(18)DOT(2).value.integer ) goto c107;
/* exit , 3 */
  ch_e = handler_type__exit; ch_val = QUAL(3); goto ch_exception;
c107:
/* copy 36 19 */
  if((ch_returncode = (REF(19).tsdr->copy)(& ch_val, REF(19).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(36).tsdr)->finalize)(REF(36).value,F_DISCARD,sched);
  REF(36).value = ch_val;
  REF(36).tsdr = datarepmap[REF(19).tsdr->number];
/* scan_position 37 19 3.2 */
  ch_t = REF(3)DOT(2).value.table;
  (*(ch_t->tbls[ORDER_TBL].des->foreach))
    (ch_t,ORDER_TBL,do_table_position,& ch_ctr,CONT_FOREACH,REF(19).value);
  REF(37).value.integer = (dfd_integer) ch_ctr;
  REF(37).tsdr = & dr_integer;
/* move 38 37 */
  REF(38) = REF(37);
  REF(37).tsdr = & dr_bottom;
/* move 39 36.5 */
  (*(REF(39).tsdr)->finalize)(REF(39).value,F_DISCARD,sched);
  REF(39) = REF(36)DOT(5);
  REF(36)DOT(5).tsdr = & dr_bottom;
/* move 40 36.6 */
  REF(40) = REF(36)DOT(6);
  REF(36)DOT(6).tsdr = & dr_bottom;
/* ordenum_lit 36.4 , 4 */
  REF(36)DOT(4).value.ord_enum = 4;
  REF(36)DOT(4).tsdr = & dr_ord_enumeration;
/* copy 36.5 27.5 */
  if((ch_returncode = (REF(27)DOT(5).tsdr->copy)(& ch_val, REF(27)DOT(5).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(36)DOT(5).tsdr)->finalize)(REF(36)DOT(5).value,F_DISCARD,sched);
  REF(36)DOT(5).value = ch_val;
  REF(36)DOT(5).tsdr = datarepmap[REF(27)DOT(5).tsdr->number];
/* ilit 36.6 , 0 */
  REF(36)DOT(6).value.integer = 0;
  REF(36)DOT(6).tsdr = & dr_integer;
/* iadd 41 25 =(1) */
  if (!chf_iadd(DEF(41),REF(25).value.integer,1)) goto ch_depletion;
/* insert_at 3.2 36 41 */
  ch_i = REF(41).value.integer;
  if (ch_i < 0 || REF(3)DOT(2).value.table->size < ch_i) goto ch_range_error;
  if ((ch_returncode = insertfunc(DEF(3)DOT(2),DEF(36),TRUE, ch_i)) != Normal)
     goto ch_raise_exception;
/* privatize 3.2 */
  if (REF(3)DOT(2).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(3)DOT(2))) != Normal)
       goto ch_raise_exception;
/* lookup_at 42 3.2 25 */
  if((ch_i = REF(25).value.integer) < 0 || ch_i >= (ch_t = REF(3)DOT(2).value
    .table)->size) goto ch_notfound;
  (*(REF(42).tsdr)->finalize)(REF(42).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(42).value,ch_i);
  REF(42).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 36 3.2 25 */
  if ((ch_returncode = remove_at_func(DEF(36),DEF(3)DOT(2),
    REF(25).value.integer)) != Normal) goto ch_raise_exception;
/* move 36.5 39 */
  (*(REF(36)DOT(5).tsdr)->finalize)(REF(36)DOT(5).value,F_DISCARD,sched);
  REF(36)DOT(5) = REF(39);
  REF(39).tsdr = & dr_bottom;
/* move 36.6 40 */
  REF(36)DOT(6) = REF(40);
  REF(40).tsdr = & dr_bottom;
/* insert_at 3.2 36 38 */
  ch_i = REF(38).value.integer;
  if (ch_i < 0 || REF(3)DOT(2).value.table->size < ch_i) goto ch_range_error;
  if ((ch_returncode = insertfunc(DEF(3)DOT(2),DEF(36),TRUE, ch_i)) != Normal)
     goto ch_raise_exception;
/* privatize 3.2 */
  if (REF(3)DOT(2).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(3)DOT(2))) != Normal)
       goto ch_raise_exception;
/* iadd 43 38 =(1) */
  if (!chf_iadd(DEF(43),REF(38).value.integer,1)) goto ch_depletion;
/* lookup_at 44 3.2 43 */
  if((ch_i = REF(43).value.integer) < 0 || ch_i >= (ch_t = REF(3)DOT(2).value
    .table)->size) goto ch_notfound;
  (*(REF(44).tsdr)->finalize)(REF(44).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(44).value,ch_i);
  REF(44).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 36 3.2 43 */
  if ((ch_returncode = remove_at_func(DEF(36),DEF(3)DOT(2),
    REF(43).value.integer)) != Normal) goto ch_raise_exception;
/* initget 45 4 , 0,0 */
  (*(REF(45).tsdr)->finalize)(REF(45).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(45),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c132:
/* get_or_err 45 4 */
  if ((ch_returncode = get_selected_object(DEF(45),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* notequal . 45.1 18.1 , 132 */
  if ( REF(45)DOT(1).value.integer != REF(18)DOT(1).value.integer ) goto c132;
/* position 46 45 */
  ch_frame = get_selector_frame(DEF(45),sched);
  ch_t = ch_frame->inspectee->value.table;
  REF(46).value.integer = ch_frame->rmvcount +
    (*(ch_t->tbls[ORDER_TBL].des->position_of))(ch_t,ORDER_TBL,ch_frame->pos);
  REF(46).tsdr = &dr_integer;
/* endget 45 4 */
  end_selector(DEF(45),DEF(4),sched,GET);
/* move 47 46 */
  REF(47) = REF(46);
  REF(46).tsdr = & dr_bottom;
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* lookup_at 48 4 47 */
  if((ch_i = REF(47).value.integer) < 0 || ch_i >= (ch_t = REF(4).value
    .table)->size) goto ch_notfound;
  (*(REF(48).tsdr)->finalize)(REF(48).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(48).value,ch_i);
  REF(48).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 49 4 47 */
  if ((ch_returncode = remove_at_func(DEF(49),DEF(4),REF(47).value.integer
    )) != Normal) goto ch_raise_exception;
c141:
/* discard 36 */
  (*(REF(36).tsdr)->finalize)(REF(36).value,F_DISCARD,sched);
  REF(36).tsdr = & dr_bottom;
/* discard 49 */
  (*(REF(49).tsdr)->finalize)(REF(49).value,F_DISCARD,sched);
  REF(49).tsdr = & dr_bottom;
/* exit , 3 */
  ch_e = handler_type__exit; ch_val = QUAL(3); goto ch_exception;
c145:
/* copy 50 18.0 */
  if((ch_returncode = cp_table(& ch_val, REF(18)DOT(0).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(50).tsdr)->finalize)(REF(50).value,F_DISCARD,sched);
  REF(50).value = ch_val;
  REF(50).tsdr = & dr_table;
/* copy 51 18.4 */
  if((ch_returncode = cp_table(& ch_val, REF(18)DOT(4).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(51).tsdr)->finalize)(REF(51).value,F_DISCARD,sched);
  REF(51).value = ch_val;
  REF(51).tsdr = & dr_table;
/* initget 52 4 , 0,0 */
  (*(REF(52).tsdr)->finalize)(REF(52).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(52),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c148:
/* get_or_err 52 4 */
  if ((ch_returncode = get_selected_object(DEF(52),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* notequal . 52.1 18.1 , 148 */
  if ( REF(52)DOT(1).value.integer != REF(18)DOT(1).value.integer ) goto c148;
/* position 53 52 */
  ch_frame = get_selector_frame(DEF(52),sched);
  ch_t = ch_frame->inspectee->value.table;
  REF(53).value.integer = ch_frame->rmvcount +
    (*(ch_t->tbls[ORDER_TBL].des->position_of))(ch_t,ORDER_TBL,ch_frame->pos);
  REF(53).tsdr = &dr_integer;
/* endget 52 4 */
  end_selector(DEF(52),DEF(4),sched,GET);
/* move 47 53 */
  REF(47) = REF(53);
  REF(53).tsdr = & dr_bottom;
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* lookup_at 54 4 47 */
  if((ch_i = REF(47).value.integer) < 0 || ch_i >= (ch_t = REF(4).value
    .table)->size) goto ch_notfound;
  (*(REF(54).tsdr)->finalize)(REF(54).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(54).value,ch_i);
  REF(54).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 49 4 47 */
  if ((ch_returncode = remove_at_func(DEF(49),DEF(4),REF(47).value.integer
    )) != Normal) goto ch_raise_exception;
/* new_table 49.0 , 4 */
  if ((ch_returncode = che_new_table(DEF(49)DOT(0),QUAL(4),sched)) != Normal) 
     goto ch_raise_exception;
/* new_table 49.4 , 1 */
  if ((ch_returncode = che_new_table(DEF(49)DOT(4),QUAL(1),sched)) != Normal) 
     goto ch_raise_exception;
/* copy 55 49.1 */
  REF(55) = REF(49)DOT(1);
/* boolean 56 , FALSE */
  REF(56).value.boolean = FALSE;
  REF(56).tsdr = & dr_boolean;
/* initget 57 5 , 0,0 */
  (*(REF(57).tsdr)->finalize)(REF(57).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(57),DEF(5),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c162:
/* get_or_goto 57 5 , 166 */
  if ((ch_returncode = get_selected_object(DEF(57),DEF(5),sched)) != Normal)
     goto c166;
/* notequal . 57 55 , 162 */
  if ( REF(57).value.integer != REF(55).value.integer ) goto c162;
/* boolean 56 , TRUE */
  REF(56).value.boolean = TRUE;
  REF(56).tsdr = & dr_boolean;
c166:
/* endget 57 5 */
  end_selector(DEF(57),DEF(5),sched,GET);
/* branch_false 56 , 178 */
  if ( !REF(56).value.boolean ) goto c178;
/* privatize 3.2 */
  if (REF(3)DOT(2).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(3)DOT(2))) != Normal)
       goto ch_raise_exception;
/* lookup_at 58 3.2 55 */
  if((ch_i = REF(55).value.integer) < 0 || ch_i >= (ch_t = REF(3)DOT(2).value
    .table)->size) goto ch_notfound;
  (*(REF(58).tsdr)->finalize)(REF(58).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(58).value,ch_i);
  REF(58).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 36 3.2 55 */
  if ((ch_returncode = remove_at_func(DEF(36),DEF(3)DOT(2),
    REF(55).value.integer)) != Normal) goto ch_raise_exception;
/* ordenum_lit 36.4 , 4 */
  REF(36)DOT(4).value.ord_enum = 4;
  REF(36)DOT(4).tsdr = & dr_ord_enumeration;
/* enum_lit 36.0 , 113 */
  REF(36)DOT(0).value.enumeration = 113;
  REF(36)DOT(0).tsdr = & dr_enumeration;
/* insert_at 3.2 36 55 */
  ch_i = REF(55).value.integer;
  if (ch_i < 0 || REF(3)DOT(2).value.table->size < ch_i) goto ch_range_error;
  if ((ch_returncode = insertfunc(DEF(3)DOT(2),DEF(36),TRUE, ch_i)) != Normal)
     goto ch_raise_exception;
/* new_table 49.3 , 4 */
  if ((ch_returncode = che_new_table(DEF(49)DOT(3),QUAL(4),sched)) != Normal) 
     goto ch_raise_exception;
/* insert 51 55 */
  if ((ch_returncode = insertfunc(DEF(51),DEF(55),FALSE,0)) != Normal)
     goto ch_raise_exception;
c178:
/* insert_at 4 49 47 */
  ch_i = REF(47).value.integer;
  if (ch_i < 0 || REF(4).value.table->size < ch_i) goto ch_range_error;
  if ((ch_returncode = insertfunc(DEF(4),DEF(49),TRUE, ch_i)) != Normal)
     goto ch_raise_exception;
/* initget 59 4 , 0,0 */
  (*(REF(59).tsdr)->finalize)(REF(59).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(59),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c180:
/* get_or_err 59 4 */
  if ((ch_returncode = get_selected_object(DEF(59),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* notequal . 59.1 25 , 180 */
  if ( REF(59)DOT(1).value.integer != REF(25).value.integer ) goto c180;
/* position 60 59 */
  ch_frame = get_selector_frame(DEF(59),sched);
  ch_t = ch_frame->inspectee->value.table;
  REF(60).value.integer = ch_frame->rmvcount +
    (*(ch_t->tbls[ORDER_TBL].des->position_of))(ch_t,ORDER_TBL,ch_frame->pos);
  REF(60).tsdr = &dr_integer;
/* endget 59 4 */
  end_selector(DEF(59),DEF(4),sched,GET);
/* move 47 60 */
  REF(47) = REF(60);
  REF(60).tsdr = & dr_bottom;
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* lookup_at 61 4 47 */
  if((ch_i = REF(47).value.integer) < 0 || ch_i >= (ch_t = REF(4).value
    .table)->size) goto ch_notfound;
  (*(REF(61).tsdr)->finalize)(REF(61).value,F_DISCARD,sched);
  (*(ch_t->tbls[ORDER_TBL].des->lookup_at))
    (ch_t, ORDER_TBL, & REF(61).value,ch_i);
  REF(61).tsdr = qdatarepmap[ch_t->tsdr->number];
/* remove_at 49 4 47 */
  if ((ch_returncode = remove_at_func(DEF(49),DEF(4),REF(47).value.integer
    )) != Normal) goto ch_raise_exception;
/* merge_at 49.0 50 =(0) */
  if ((ch_returncode = mergefunc(DEF(49)DOT(0),DEF(50),TRUE, 0)) != Normal)
     goto ch_raise_exception;
/* merge 49.4 51 */
  if ((ch_returncode = mergefunc(DEF(49)DOT(4),DEF(51),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* insert_at 4 49 47 */
  ch_i = REF(47).value.integer;
  if (ch_i < 0 || REF(4).value.table->size < ch_i) goto ch_range_error;
  if ((ch_returncode = insertfunc(DEF(4),DEF(49),TRUE, ch_i)) != Normal)
     goto ch_raise_exception;
/* exit , 3 */
  ch_e = handler_type__exit; ch_val = QUAL(3); goto ch_exception;
c195:
/* endblock */
  che_endblock(sched);
/* branch , 49 */
   goto c49;
c198:
/* endget 18 17 */
  end_selector(DEF(18),DEF(17),sched,GET);
/* discard 17 */
  (*(REF(17).tsdr)->finalize)(REF(17).value,F_DISCARD,sched);
  REF(17).tsdr = & dr_bottom;
/* move 3.1 4 */
  (*(REF(3)DOT(1).tsdr)->finalize)(REF(3)DOT(1).value,F_DISCARD,sched);
  REF(3)DOT(1) = REF(4);
  REF(4).tsdr = & dr_bottom;
/* return 3 */
  if (ch_caller = do_return(REF(3).value)) {
    if (ch_caller->type < CProcess) ch_caller->ip++;
      sched->wakeup_proc(sched, ch_caller);}
  else rem_return(REF(3).value);
  REF(3).tsdr = & dr_bottom;
/* endblock */
  che_endblock(sched);
c204:
/* endprocess */
  che_endprocess(sched); return;
#include "chtail.h"
