#include "chdecl.h"
void CH_chcode_chgetoptions_proglit_2(current, sched, cop)
#define ARGUMENTS 8
#include "chhead.h"
select: switch (SELECTOR) {
    case 0: goto c0;
    case 1: goto cb2;
    case 2: goto c3;
    case 3: goto c10;
    case 4: goto c47;
    case 5: goto c57;
    case 6: goto c75;
    case 7: goto c76;
    case 8: goto c79;
    case 9: goto c87;
    case 10: goto c97;
    case 11: goto c116;
    case 12: goto c117;
    case 13: goto c120;
    case 14: goto c127;
    case 15: goto c132;
    case 16: goto c133;
    case 17: goto c136;
    case 18: goto c144;
    case 19: goto c154;
    case 20: goto cb154;
    case 21: goto c155;
    case 22: goto c159;
    case 23: goto c194;
    case 24: goto c196;
    case 25: goto c200;
    case 26: goto c205;  }
c0:
/* block , 0 */
  if((ch_returncode = che_block(QUAL(0),sched)) != Normal)
     goto ch_raise_exception;
/* block , 1 */
  if((ch_returncode = che_block(QUAL(1),sched)) != Normal)
     goto ch_raise_exception;
  current->ip = 1;
cb2:
/* receive 3 0 */
  if ((ch_returncode = che_receive(DEF(3),DEF(0),sched)) != Normal)
     goto ch_raise_exception;
  return;
c3:
/* copy 4 3.0 */
  if((ch_returncode = cp_table(& ch_val, REF(3)DOT(0).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_inport 5 */
  if ((ch_val.inport = make_inport()) == nil) goto ch_depletion;
  (*(REF(5).tsdr)->finalize)(REF(5).value,F_DISCARD,sched);
  REF(5).value = ch_val; REF(5).tsdr = & dr_inport;
/* connect 3.3 5 */
  if (REF(5).value.inport->refcount == MAXCOUNTER) goto ch_depletion;
  (*(REF(3)DOT(3).tsdr)->finalize)(REF(3)DOT(3).value,F_DISCARD,sched);
  REF(5).value.inport->refcount++;
  REF(3)DOT(3).value.outport = REF(5).value.inport;
  REF(3)DOT(3).tsdr = & dr_outport;
/* new_table 6 , 2 */
  if ((ch_returncode = che_new_table(DEF(6),QUAL(2),sched)) != Normal) 
     goto ch_raise_exception;
/* new_table 7 , 3 */
  if ((ch_returncode = che_new_table(DEF(7),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* boolean 8 , FALSE */
  REF(8).value.boolean = FALSE;
  REF(8).tsdr = & dr_boolean;
c10:
/* size 9 4 */
  REF(9).value.integer = REF(4).value.table->size;
  REF(9).tsdr = & dr_integer;
/* ile . 9 =(0) , 144 */
  if ( REF(9).value.integer <= 0 ) goto c144;
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* initget 10 4 , 0,0 */
  (*(REF(10).tsdr)->finalize)(REF(10).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(10),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
/* get_or_err 10 4 */
  if ((ch_returncode = get_selected_object(DEF(10),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* remove 11 10 4 */
  if ((ch_returncode = che_remove(DEF(11),DEF(10),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* endget 10 4 */
  end_selector(DEF(10),DEF(4),sched,GET);
/* branch_false 8 , 136 */
  if ( !REF(8).value.boolean ) goto c136;
/* equal 12 11 =(69) */
  REF(12).value.boolean = (REF(11).value.ord_enum == 69);
  REF(12).tsdr = & dr_boolean;
/* equal 13 11 =(80) */
  REF(13).value.boolean = (REF(11).value.ord_enum == 80);
  REF(13).tsdr = & dr_boolean;
/* equal 14 11 =(67) */
  REF(14).value.boolean = (REF(11).value.ord_enum == 67);
  REF(14).tsdr = & dr_boolean;
/* equal 15 11 =(79) */
  REF(15).value.boolean = (REF(11).value.ord_enum == 79);
  REF(15).tsdr = & dr_boolean;
/* or 16 14 15 */
  REF(16).value.boolean = REF(14).value.boolean|REF(15).value.boolean;
  REF(16).tsdr = & dr_boolean;
/* equal 17 11 =(78) */
  REF(17).value.boolean = (REF(11).value.ord_enum == 78);
  REF(17).tsdr = & dr_boolean;
/* or 18 16 17 */
  REF(18).value.boolean = REF(16).value.boolean|REF(17).value.boolean;
  REF(18).tsdr = & dr_boolean;
/* equal 19 11 =(59) */
  REF(19).value.boolean = (REF(11).value.ord_enum == 59);
  REF(19).tsdr = & dr_boolean;
/* or 20 18 19 */
  REF(20).value.boolean = REF(18).value.boolean|REF(19).value.boolean;
  REF(20).tsdr = & dr_boolean;
/* equal . 11 =(126) , 127 */
  if ( REF(11).value.ord_enum == 126 ) goto c127;
/* select * 12 * 13 * 20 , {39,79,120} */
  if ( REF(12).value.boolean ) goto c39;
  if ( REF(13).value.boolean ) goto c79;
  if ( REF(20).value.boolean ) goto c120;
/* branch , 132 */
   goto c132;
c39:
/* insert 6 7 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(7),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* block , 4 */
  if((ch_returncode = che_block(QUAL(4),sched)) != Normal)
     goto ch_raise_exception;
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* initget 21 4 , 0,0 */
  (*(REF(21).tsdr)->finalize)(REF(21).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(21),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
/* get_or_err 21 4 */
  if ((ch_returncode = get_selected_object(DEF(21),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* remove 11 21 4 */
  if ((ch_returncode = che_remove(DEF(11),DEF(21),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* endget 21 4 */
  end_selector(DEF(21),DEF(4),sched,GET);
/* initget 22 4 , 0,0 */
  (*(REF(22).tsdr)->finalize)(REF(22).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(22),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c47:
/* get_or_err 22 4 */
  if ((ch_returncode = get_selected_object(DEF(22),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* notequal . 22 =(93) , 47 */
  if ( REF(22).value.ord_enum != 93 ) goto c47;
/* position 23 22 */
  ch_frame = get_selector_frame(DEF(22),sched);
  ch_t = ch_frame->inspectee->value.table;
  REF(23).value.integer = ch_frame->rmvcount +
    (*(ch_t->tbls[ORDER_TBL].des->position_of))(ch_t,ORDER_TBL,ch_frame->pos);
  REF(23).tsdr = &dr_integer;
/* endget 22 4 */
  end_selector(DEF(22),DEF(4),sched,GET);
/* move 24 23 */
  REF(24) = REF(23);
  REF(23).tsdr = & dr_bottom;
/* new_table 25 , 3 */
  if ((ch_returncode = che_new_table(DEF(25),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* initget 26 4 , 0,0 */
  (*(REF(26).tsdr)->finalize)(REF(26).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(26),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c57:
/* get_or_goto 26 4 , 64 */
  if ((ch_returncode = get_selected_object(DEF(26),DEF(4),sched)) != Normal)
     goto c64;
/* position 27 26 */
  ch_frame = get_selector_frame(DEF(26),sched);
  ch_t = ch_frame->inspectee->value.table;
  REF(27).value.integer = ch_frame->rmvcount +
    (*(ch_t->tbls[ORDER_TBL].des->position_of))(ch_t,ORDER_TBL,ch_frame->pos);
  REF(27).tsdr = &dr_integer;
/* ige . 27 24 , 57 */
  if ( REF(27).value.integer >= REF(24).value.integer ) goto c57;
/* remove 28 26 4 */
  if ((ch_returncode = che_remove(DEF(28),DEF(26),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* insert 25 28 */
  if ((ch_returncode = insertfunc(DEF(25),DEF(28),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 57 */
   goto c57;
c64:
/* endget 26 4 */
  end_selector(DEF(26),DEF(4),sched,GET);
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* initget 29 4 , 0,0 */
  (*(REF(29).tsdr)->finalize)(REF(29).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(29),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
/* get_or_err 29 4 */
  if ((ch_returncode = get_selected_object(DEF(29),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* remove 11 29 4 */
  if ((ch_returncode = che_remove(DEF(11),DEF(29),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* endget 29 4 */
  end_selector(DEF(29),DEF(4),sched,GET);
/* find 30 3.2 25 , 0 */
  if (findfunc(DEF(30),DEF(3)DOT(2),(
          arguments[0] = DEF(25),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* copy 31 30.1 */
  if((ch_returncode = (REF(30)DOT(1).tsdr->copy)(& ch_val, REF(30)DOT(1).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(31).tsdr)->finalize)(REF(31).value,F_DISCARD,sched);
  REF(31).value = ch_val;
  REF(31).tsdr = datarepmap[REF(30)DOT(1).tsdr->number];
/* insert 6 31 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(31),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* endblock */
  che_endblock(sched);
/* branch , 76 */
   goto c76;
c75:
/* discard 25 */
  (*(REF(25).tsdr)->finalize)(REF(25).value,F_DISCARD,sched);
  REF(25).tsdr = & dr_bottom;
c76:
/* discard 25 */
  (*(REF(25).tsdr)->finalize)(REF(25).value,F_DISCARD,sched);
  REF(25).tsdr = & dr_bottom;
/* new_table 7 , 3 */
  if ((ch_returncode = che_new_table(DEF(7),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* branch , 133 */
   goto c133;
c79:
/* insert 6 7 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(7),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* block , 5 */
  if((ch_returncode = che_block(QUAL(5),sched)) != Normal)
     goto ch_raise_exception;
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* initget 32 4 , 0,0 */
  (*(REF(32).tsdr)->finalize)(REF(32).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(32),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
/* get_or_err 32 4 */
  if ((ch_returncode = get_selected_object(DEF(32),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* remove 11 32 4 */
  if ((ch_returncode = che_remove(DEF(11),DEF(32),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* endget 32 4 */
  end_selector(DEF(32),DEF(4),sched,GET);
/* initget 33 4 , 0,0 */
  (*(REF(33).tsdr)->finalize)(REF(33).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(33),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c87:
/* get_or_err 33 4 */
  if ((ch_returncode = get_selected_object(DEF(33),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* notequal . 33 =(93) , 87 */
  if ( REF(33).value.ord_enum != 93 ) goto c87;
/* position 34 33 */
  ch_frame = get_selector_frame(DEF(33),sched);
  ch_t = ch_frame->inspectee->value.table;
  REF(34).value.integer = ch_frame->rmvcount +
    (*(ch_t->tbls[ORDER_TBL].des->position_of))(ch_t,ORDER_TBL,ch_frame->pos);
  REF(34).tsdr = &dr_integer;
/* endget 33 4 */
  end_selector(DEF(33),DEF(4),sched,GET);
/* move 24 34 */
  REF(24) = REF(34);
  REF(34).tsdr = & dr_bottom;
/* new_table 25 , 3 */
  if ((ch_returncode = che_new_table(DEF(25),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* initget 35 4 , 0,0 */
  (*(REF(35).tsdr)->finalize)(REF(35).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(35),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c97:
/* get_or_goto 35 4 , 104 */
  if ((ch_returncode = get_selected_object(DEF(35),DEF(4),sched)) != Normal)
     goto c104;
/* position 36 35 */
  ch_frame = get_selector_frame(DEF(35),sched);
  ch_t = ch_frame->inspectee->value.table;
  REF(36).value.integer = ch_frame->rmvcount +
    (*(ch_t->tbls[ORDER_TBL].des->position_of))(ch_t,ORDER_TBL,ch_frame->pos);
  REF(36).tsdr = &dr_integer;
/* ige . 36 24 , 97 */
  if ( REF(36).value.integer >= REF(24).value.integer ) goto c97;
/* remove 37 35 4 */
  if ((ch_returncode = che_remove(DEF(37),DEF(35),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* insert 25 37 */
  if ((ch_returncode = insertfunc(DEF(25),DEF(37),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 97 */
   goto c97;
c104:
/* endget 35 4 */
  end_selector(DEF(35),DEF(4),sched,GET);
/* privatize 4 */
  if (REF(4).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(4))) != Normal)
       goto ch_raise_exception;
/* initget 38 4 , 0,0 */
  (*(REF(38).tsdr)->finalize)(REF(38).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(38),DEF(4),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
/* get_or_err 38 4 */
  if ((ch_returncode = get_selected_object(DEF(38),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* remove 11 38 4 */
  if ((ch_returncode = che_remove(DEF(11),DEF(38),DEF(4),sched)) != Normal)
     goto ch_raise_exception;
/* endget 38 4 */
  end_selector(DEF(38),DEF(4),sched,GET);
/* find 39 3.1 25 , 0 */
  if (findfunc(DEF(39),DEF(3)DOT(1),(
          arguments[0] = DEF(25),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* copy 40 39.1 */
  if((ch_returncode = cp_polymorph(& ch_val, REF(39)DOT(1).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(40).tsdr)->finalize)(REF(40).value,F_DISCARD,sched);
  REF(40).value = ch_val;
  REF(40).tsdr = & dr_polymorph;
/* unwrap 7 40 , 6 */
  if ((ch_returncode = che_unwrap(DEF(7),DEF(40),QUAL(6),sched)) != Normal)
     goto ch_raise_exception;
/* insert 6 7 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(7),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* endblock */
  che_endblock(sched);
/* branch , 117 */
   goto c117;
c116:
/* discard 25 */
  (*(REF(25).tsdr)->finalize)(REF(25).value,F_DISCARD,sched);
  REF(25).tsdr = & dr_bottom;
c117:
/* discard 25 */
  (*(REF(25).tsdr)->finalize)(REF(25).value,F_DISCARD,sched);
  REF(25).tsdr = & dr_bottom;
/* new_table 7 , 3 */
  if ((ch_returncode = che_new_table(DEF(7),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* branch , 133 */
   goto c133;
c120:
/* insert 6 7 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(7),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* chs_lit 7 , "~" */
  if( !chs_lit(DEF(7),"~") ) goto ch_depletion;
/* insert 7 11 */
  if ((ch_returncode = insertfunc(DEF(7),DEF(11),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* insert 6 7 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(7),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* new_table 7 , 3 */
  if ((ch_returncode = che_new_table(DEF(7),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* branch , 133 */
   goto c133;
c127:
/* ordenum_lit 41 , 126 */
  REF(41).value.ord_enum = 126;
  REF(41).tsdr = & dr_ord_enumeration;
/* insert 7 41 */
  if ((ch_returncode = insertfunc(DEF(7),DEF(41),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* insert 6 7 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(7),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* new_table 7 , 3 */
  if ((ch_returncode = che_new_table(DEF(7),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* branch , 133 */
   goto c133;
c132:
/* insert 7 11 */
  if ((ch_returncode = insertfunc(DEF(7),DEF(11),FALSE,0)) != Normal)
     goto ch_raise_exception;
c133:
/* boolean 8 , FALSE */
  REF(8).value.boolean = FALSE;
  REF(8).tsdr = & dr_boolean;
/* branch , 10 */
   goto c10;
c136:
/* noop */
  
/* notequal . 11 =(126) , 142 */
  if ( REF(11).value.ord_enum != 126 ) goto c142;
/* boolean 8 , TRUE */
  REF(8).value.boolean = TRUE;
  REF(8).tsdr = & dr_boolean;
/* branch , 10 */
   goto c10;
c142:
/* insert 7 11 */
  if ((ch_returncode = insertfunc(DEF(7),DEF(11),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 10 */
   goto c10;
c144:
/* size 42 7 */
  REF(42).value.integer = REF(7).value.table->size;
  REF(42).tsdr = & dr_integer;
/* ile . 42 =(0) , 149 */
  if ( REF(42).value.integer <= 0 ) goto c149;
/* insert 6 7 */
  if ((ch_returncode = insertfunc(DEF(6),DEF(7),FALSE,0)) != Normal)
     goto ch_raise_exception;
c149:
/* discard 7 */
  (*(REF(7).tsdr)->finalize)(REF(7).value,F_DISCARD,sched);
  REF(7).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;
/* discard 0 */
  (*(REF(0).tsdr)->finalize)(REF(0).value,F_DISCARD,sched);
  REF(0).tsdr = & dr_bottom;
c152:
/* noop */
  
c154:
  current->ip = 20;
cb154:
/* receive 43 5 */
  if ((ch_returncode = che_receive(DEF(43),DEF(5),sched)) != Normal)
     goto ch_raise_exception;
  return;
c155:
/* new_table 43.3 , 2 */
  if ((ch_returncode = che_new_table(DEF(43)DOT(3),QUAL(2),sched)) != Normal) 
     goto ch_raise_exception;
/* new_table 7 , 3 */
  if ((ch_returncode = che_new_table(DEF(7),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* copy 44 6 */
  if((ch_returncode = cp_table(& ch_val, REF(6).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(44).tsdr)->finalize)(REF(44).value,F_DISCARD,sched);
  REF(44).value = ch_val;
  REF(44).tsdr = & dr_table;
/* initget 45 44 , 0,0 */
  (*(REF(45).tsdr)->finalize)(REF(45).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(45),DEF(44),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c159:
/* get_or_goto 45 44 , 189 */
  if ((ch_returncode = get_selected_object(DEF(45),DEF(44),sched)) != Normal)
     goto c189;
/* discard 46 */
  (*(REF(46).tsdr)->finalize)(REF(46).value,F_DISCARD,sched);
  REF(46).tsdr = & dr_bottom;
/* discard 47 */
  (*(REF(47).tsdr)->finalize)(REF(47).value,F_DISCARD,sched);
  REF(47).tsdr = & dr_bottom;
/* discard 48 */
  (*(REF(48).tsdr)->finalize)(REF(48).value,F_DISCARD,sched);
  REF(48).tsdr = & dr_bottom;
/* discard 49 */
  (*(REF(49).tsdr)->finalize)(REF(49).value,F_DISCARD,sched);
  REF(49).tsdr = & dr_bottom;
/* chs_lit 49 , "~;" */
  if( !chs_lit(DEF(49),"~;") ) goto ch_depletion;
/* equal 50 45 49 */
  REF(50).value.boolean = (eq_table(REF(45).value,REF(49).value));
  REF(50).tsdr = & dr_boolean;
/* chs_lit 48 , "~N" */
  if( !chs_lit(DEF(48),"~N") ) goto ch_depletion;
/* equal 51 45 48 */
  REF(51).value.boolean = (eq_table(REF(45).value,REF(48).value));
  REF(51).tsdr = & dr_boolean;
/* chs_lit 47 , "~O" */
  if( !chs_lit(DEF(47),"~O") ) goto ch_depletion;
/* equal 52 45 47 */
  REF(52).value.boolean = (eq_table(REF(45).value,REF(47).value));
  REF(52).tsdr = & dr_boolean;
/* chs_lit 46 , "~C" */
  if( !chs_lit(DEF(46),"~C") ) goto ch_depletion;
/* equal . 45 46 , 183 */
  if ( eq_table(REF(45).value,REF(46).value) ) goto c183;
/* select * 50 * 51 * 52 , {174,177,180} */
  if ( REF(50).value.boolean ) goto c174;
  if ( REF(51).value.boolean ) goto c177;
  if ( REF(52).value.boolean ) goto c180;
/* branch , 186 */
   goto c186;
c174:
/* insert 43.3 7 */
  if ((ch_returncode = insertfunc(DEF(43)DOT(3),DEF(7),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* new_table 7 , 3 */
  if ((ch_returncode = che_new_table(DEF(7),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* branch , 159 */
   goto c159;
c177:
/* copy 53 43.0 */
  if((ch_returncode = cp_table(& ch_val, REF(43)DOT(0).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(53).tsdr)->finalize)(REF(53).value,F_DISCARD,sched);
  REF(53).value = ch_val;
  REF(53).tsdr = & dr_table;
/* merge 7 53 */
  if ((ch_returncode = mergefunc(DEF(7),DEF(53),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 159 */
   goto c159;
c180:
/* copy 54 43.2 */
  if((ch_returncode = cp_table(& ch_val, REF(43)DOT(2).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(54).tsdr)->finalize)(REF(54).value,F_DISCARD,sched);
  REF(54).value = ch_val;
  REF(54).tsdr = & dr_table;
/* merge 7 54 */
  if ((ch_returncode = mergefunc(DEF(7),DEF(54),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 159 */
   goto c159;
c183:
/* copy 55 43.1 */
  if((ch_returncode = cp_table(& ch_val, REF(43)DOT(1).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(55).tsdr)->finalize)(REF(55).value,F_DISCARD,sched);
  REF(55).value = ch_val;
  REF(55).tsdr = & dr_table;
/* merge 7 55 */
  if ((ch_returncode = mergefunc(DEF(7),DEF(55),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 159 */
   goto c159;
c186:
/* copy 56 45 */
  if((ch_returncode = cp_table(& ch_val, REF(45).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(56).tsdr)->finalize)(REF(56).value,F_DISCARD,sched);
  REF(56).value = ch_val;
  REF(56).tsdr = & dr_table;
/* merge 7 56 */
  if ((ch_returncode = mergefunc(DEF(7),DEF(56),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 159 */
   goto c159;
c189:
/* endget 45 44 */
  end_selector(DEF(45),DEF(44),sched,GET);
/* discard 44 */
  (*(REF(44).tsdr)->finalize)(REF(44).value,F_DISCARD,sched);
  REF(44).tsdr = & dr_bottom;
/* insert 43.3 7 */
  if ((ch_returncode = insertfunc(DEF(43)DOT(3),DEF(7),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* return 43 */
  if (ch_caller = do_return(REF(43).value)) {
    if (ch_caller->type < CProcess) ch_caller->ip++;
      sched->wakeup_proc(sched, ch_caller);}
  else rem_return(REF(43).value);
  REF(43).tsdr = & dr_bottom;
/* branch , 152 */
   goto c152;
c194:
/* endblock */
  che_endblock(sched);
/* branch , 200 */
   goto c200;
c196:
/* discard 0 */
  (*(REF(0).tsdr)->finalize)(REF(0).value,F_DISCARD,sched);
  REF(0).tsdr = & dr_bottom;
/* discard 5 */
  (*(REF(5).tsdr)->finalize)(REF(5).value,F_DISCARD,sched);
  REF(5).tsdr = & dr_bottom;
/* discard 4 */
  (*(REF(4).tsdr)->finalize)(REF(4).value,F_DISCARD,sched);
  REF(4).tsdr = & dr_bottom;
/* discard 6 */
  (*(REF(6).tsdr)->finalize)(REF(6).value,F_DISCARD,sched);
  REF(6).tsdr = & dr_bottom;
c200:
/* discard 5 */
  (*(REF(5).tsdr)->finalize)(REF(5).value,F_DISCARD,sched);
  REF(5).tsdr = & dr_bottom;
/* discard 4 */
  (*(REF(4).tsdr)->finalize)(REF(4).value,F_DISCARD,sched);
  REF(4).tsdr = & dr_bottom;
/* discard 6 */
  (*(REF(6).tsdr)->finalize)(REF(6).value,F_DISCARD,sched);
  REF(6).tsdr = & dr_bottom;
/* endblock */
  che_endblock(sched);
c205:
/* endprocess */
  che_endprocess(sched); return;
#include "chtail.h"
