#include "chdecl.h"
void CH_type(current, sched, cop)
#define ARGUMENTS 19
#include "chhead.h"
select: switch (SELECTOR) {
    case 0: goto c0;
    case 1: goto cb2;
    case 2: goto c3;
    case 3: goto cb34;
    case 4: goto c35;
    case 5: goto cb39;
    case 6: goto c40;
    case 7: goto cb44;
    case 8: goto c45;
    case 9: goto c64;
    case 10: goto c86;
    case 11: goto c88;
    case 12: goto cb94;
    case 13: goto c95;
    case 14: goto c99;
    case 15: goto cb104;
    case 16: goto c105;
    case 17: goto cb106;
    case 18: goto c107;
    case 28: goto c118;
    case 25: goto c118;
    case 22: goto c118;
    case 19: goto c118;
    case 20: goto c123;
    case 21: goto cb140;
    case 23: goto c142;
    case 24: goto cb143;
    case 26: goto c145;
    case 27: goto cb146;
    case 29: goto c150;
    case 30: goto c152;
    case 31: goto c155;
    case 32: goto c158;
    case 35: goto c160;
    case 33: goto c160;
    case 34: goto cb163;
    case 36: goto c165;
    case 37: goto c167;
    case 38: goto c181;
    case 39: goto c224;
    case 40: goto c235;
    case 41: goto c240;
    case 42: goto c246;  }
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:
/* prog_lit 4 , 2 */
  if ((ch_returncode = che_prog_lit(DEF(4),QUAL(2),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 5 4 , 3 */
  if ((ch_returncode = che_procedure(DEF(5),DEF(4),QUAL(3),sched)) != Normal)
     goto ch_raise_exception;
/* discard 4 */
  (*(REF(4).tsdr)->finalize)(REF(4).value,F_DISCARD,sched);
  REF(4).tsdr = & dr_bottom;
/* move 6 5 */
  (*(REF(6).tsdr)->finalize)(REF(6).value,F_DISCARD,sched);
  REF(6) = REF(5);
  REF(5).tsdr = & dr_bottom;
/* prog_lit 7 , 4 */
  if ((ch_returncode = che_prog_lit(DEF(7),QUAL(4),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 8 7 , 5 */
  if ((ch_returncode = che_procedure(DEF(8),DEF(7),QUAL(5),sched)) != Normal)
     goto ch_raise_exception;
/* discard 7 */
  (*(REF(7).tsdr)->finalize)(REF(7).value,F_DISCARD,sched);
  REF(7).tsdr = & dr_bottom;
/* move 9 8 */
  (*(REF(9).tsdr)->finalize)(REF(9).value,F_DISCARD,sched);
  REF(9) = REF(8);
  REF(8).tsdr = & dr_bottom;
/* prog_lit 10 , 6 */
  if ((ch_returncode = che_prog_lit(DEF(10),QUAL(6),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 11 10 , 7 */
  if ((ch_returncode = che_procedure(DEF(11),DEF(10),QUAL(7)
    ,sched)) != Normal) goto ch_raise_exception;
/* discard 10 */
  (*(REF(10).tsdr)->finalize)(REF(10).value,F_DISCARD,sched);
  REF(10).tsdr = & dr_bottom;
/* move 12 11 */
  (*(REF(12).tsdr)->finalize)(REF(12).value,F_DISCARD,sched);
  REF(12) = REF(11);
  REF(11).tsdr = & dr_bottom;
/* prog_lit 13 , 8 */
  if ((ch_returncode = che_prog_lit(DEF(13),QUAL(8),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 14 13 , 9 */
  if ((ch_returncode = che_procedure(DEF(14),DEF(13),QUAL(9)
    ,sched)) != Normal) goto ch_raise_exception;
/* discard 13 */
  (*(REF(13).tsdr)->finalize)(REF(13).value,F_DISCARD,sched);
  REF(13).tsdr = & dr_bottom;
/* move 15 14 */
  (*(REF(15).tsdr)->finalize)(REF(15).value,F_DISCARD,sched);
  REF(15) = REF(14);
  REF(14).tsdr = & dr_bottom;
/* prog_lit 16 , 10 */
  if ((ch_returncode = che_prog_lit(DEF(16),QUAL(10),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 17 16 , 11 */
  if ((ch_returncode = che_procedure(DEF(17),DEF(16),QUAL(11)
    ,sched)) != Normal) goto ch_raise_exception;
/* discard 16 */
  (*(REF(16).tsdr)->finalize)(REF(16).value,F_DISCARD,sched);
  REF(16).tsdr = & dr_bottom;
/* move 18 17 */
  (*(REF(18).tsdr)->finalize)(REF(18).value,F_DISCARD,sched);
  REF(18) = REF(17);
  REF(17).tsdr = & dr_bottom;
/* prog_lit 19 , 12 */
  if ((ch_returncode = che_prog_lit(DEF(19),QUAL(12),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 20 19 , 13 */
  if ((ch_returncode = che_procedure(DEF(20),DEF(19),QUAL(13)
    ,sched)) != Normal) goto ch_raise_exception;
/* discard 19 */
  (*(REF(19).tsdr)->finalize)(REF(19).value,F_DISCARD,sched);
  REF(19).tsdr = & dr_bottom;
/* move 21 20 */
  (*(REF(21).tsdr)->finalize)(REF(21).value,F_DISCARD,sched);
  REF(21) = REF(20);
  REF(20).tsdr = & dr_bottom;
/* prog_lit 22 , 14 */
  if ((ch_returncode = che_prog_lit(DEF(22),QUAL(14),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 23 22 , 15 */
  if ((ch_returncode = che_procedure(DEF(23),DEF(22),QUAL(15)
    ,sched)) != Normal) goto ch_raise_exception;
/* discard 22 */
  (*(REF(22).tsdr)->finalize)(REF(22).value,F_DISCARD,sched);
  REF(22).tsdr = & dr_bottom;
/* move 24 23 */
  (*(REF(24).tsdr)->finalize)(REF(24).value,F_DISCARD,sched);
  REF(24) = REF(23);
  REF(23).tsdr = & dr_bottom;
/* prog_lit 25 , 16 */
  if ((ch_returncode = che_prog_lit(DEF(25),QUAL(16),sched)) != Normal) 
     goto ch_raise_exception;
/* create 26 25 , 17 */
  if ((ch_returncode = che_create(DEF(26),DEF(25),QUAL(17),sched)) != Normal)
     goto ch_raise_exception;
/* discard 25 */
  (*(REF(25).tsdr)->finalize)(REF(25).value,F_DISCARD,sched);
  REF(25).tsdr = & dr_bottom;
  current->ip = 3;
cb34:
/* call 26 15 3.0 3.1 27 , 18 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(26),
          arguments[1] = DEF(15),
          arguments[2] = DEF(3)DOT(0),
          arguments[3] = DEF(3)DOT(1),
          arguments[4] = DEF(27),
          arguments[4+1] = nil,& arguments[0]),QUAL(18),sched)) != Normal)
     goto ch_raise_exception;
  return;
c35:
/* move 28 27 */
  (*(REF(28).tsdr)->finalize)(REF(28).value,F_DISCARD,sched);
  REF(28) = REF(27);
  REF(27).tsdr = & dr_bottom;
/* prog_lit 29 , 19 */
  if ((ch_returncode = che_prog_lit(DEF(29),QUAL(19),sched)) != Normal) 
     goto ch_raise_exception;
/* create 30 29 , 20 */
  if ((ch_returncode = che_create(DEF(30),DEF(29),QUAL(20),sched)) != Normal)
     goto ch_raise_exception;
/* discard 29 */
  (*(REF(29).tsdr)->finalize)(REF(29).value,F_DISCARD,sched);
  REF(29).tsdr = & dr_bottom;
  current->ip = 5;
cb39:
/* call 30 15 3.0 3.1 31 , 21 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(30),
          arguments[1] = DEF(15),
          arguments[2] = DEF(3)DOT(0),
          arguments[3] = DEF(3)DOT(1),
          arguments[4] = DEF(31),
          arguments[4+1] = nil,& arguments[0]),QUAL(21),sched)) != Normal)
     goto ch_raise_exception;
  return;
c40:
/* move 32 31 */
  (*(REF(32).tsdr)->finalize)(REF(32).value,F_DISCARD,sched);
  REF(32) = REF(31);
  REF(31).tsdr = & dr_bottom;
/* prog_lit 33 , 22 */
  if ((ch_returncode = che_prog_lit(DEF(33),QUAL(22),sched)) != Normal) 
     goto ch_raise_exception;
/* create 34 33 , 23 */
  if ((ch_returncode = che_create(DEF(34),DEF(33),QUAL(23),sched)) != Normal)
     goto ch_raise_exception;
/* discard 33 */
  (*(REF(33).tsdr)->finalize)(REF(33).value,F_DISCARD,sched);
  REF(33).tsdr = & dr_bottom;
  current->ip = 7;
cb44:
/* call 34 15 3.0 3.1 35 , 24 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(34),
          arguments[1] = DEF(15),
          arguments[2] = DEF(3)DOT(0),
          arguments[3] = DEF(3)DOT(1),
          arguments[4] = DEF(35),
          arguments[4+1] = nil,& arguments[0]),QUAL(24),sched)) != Normal)
     goto ch_raise_exception;
  return;
c45:
/* move 36 35 */
  (*(REF(36).tsdr)->finalize)(REF(36).value,F_DISCARD,sched);
  REF(36) = REF(35);
  REF(35).tsdr = & dr_bottom;
/* prog_lit 37 , 25 */
  if ((ch_returncode = che_prog_lit(DEF(37),QUAL(25),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 38 37 , 26 */
  if ((ch_returncode = che_procedure(DEF(38),DEF(37),QUAL(26)
    ,sched)) != Normal) goto ch_raise_exception;
/* discard 37 */
  (*(REF(37).tsdr)->finalize)(REF(37).value,F_DISCARD,sched);
  REF(37).tsdr = & dr_bottom;
/* move 39 38 */
  (*(REF(39).tsdr)->finalize)(REF(39).value,F_DISCARD,sched);
  REF(39) = REF(38);
  REF(38).tsdr = & dr_bottom;
/* prog_lit 40 , 27 */
  if ((ch_returncode = che_prog_lit(DEF(40),QUAL(27),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 41 40 , 28 */
  if ((ch_returncode = che_procedure(DEF(41),DEF(40),QUAL(28)
    ,sched)) != Normal) goto ch_raise_exception;
/* discard 40 */
  (*(REF(40).tsdr)->finalize)(REF(40).value,F_DISCARD,sched);
  REF(40).tsdr = & dr_bottom;
/* move 42 41 */
  (*(REF(42).tsdr)->finalize)(REF(42).value,F_DISCARD,sched);
  REF(42) = REF(41);
  REF(41).tsdr = & dr_bottom;
/* new_table 43 , 29 */
  if ((ch_returncode = che_new_table(DEF(43),QUAL(29),sched)) != Normal) 
     goto ch_raise_exception;
/* new_table 44 , 30 */
  if ((ch_returncode = che_new_table(DEF(44),QUAL(30),sched)) != Normal) 
     goto ch_raise_exception;
/* new_table 45 , 31 */
  if ((ch_returncode = che_new_table(DEF(45),QUAL(31),sched)) != Normal) 
     goto ch_raise_exception;
/* new_record 46 , 2 */
  if ((ch_val.record = new_record(2)) == nil) goto ch_depletion;
  (*(REF(46).tsdr)->finalize)(REF(46).value,F_DISCARD,sched);
  REF(46).value = ch_val; REF(46).tsdr = & dr_record;
/* new_table 47 , 32 */
  if ((ch_returncode = che_new_table(DEF(47),QUAL(32),sched)) != Normal) 
     goto ch_raise_exception;
/* new_table 48 , 31 */
  if ((ch_returncode = che_new_table(DEF(48),QUAL(31),sched)) != Normal) 
     goto ch_raise_exception;
/* find 49 3.0.1.0 3.0.1.2 , 0 */
  if (findfunc(DEF(49),DEF(3)DOT(0)DOT(1)DOT(0),(
          arguments[0] = DEF(3)DOT(0)DOT(1)DOT(2),& arguments[0]),sched,0
            ) == FAILURE) goto ch_notfound;
/* copy 50 49.2 */
  if((ch_returncode = (REF(49)DOT(2).tsdr->copy)(& ch_val, REF(49)DOT(2).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(50).tsdr)->finalize)(REF(50).value,F_DISCARD,sched);
  REF(50).value = ch_val;
  REF(50).tsdr = datarepmap[REF(49)DOT(2).tsdr->number];
/* insert 44 50 */
  if ((ch_returncode = insertfunc(DEF(44),DEF(50),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* copy 51 49.2 */
  if((ch_returncode = (REF(49)DOT(2).tsdr->copy)(& ch_val, REF(49)DOT(2).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(51).tsdr)->finalize)(REF(51).value,F_DISCARD,sched);
  REF(51).value = ch_val;
  REF(51).tsdr = datarepmap[REF(49)DOT(2).tsdr->number];
c64:
/* discard 52 */
  (*(REF(52).tsdr)->finalize)(REF(52).value,F_DISCARD,sched);
  REF(52).tsdr = & dr_bottom;
/* discard 46.0 */
  (*(REF(46)DOT(0).tsdr)->finalize)(REF(46)DOT(0).value,F_DISCARD,sched);
  REF(46)DOT(0).tsdr = & dr_bottom;
/* size 53 44 */
  REF(53).value.integer = REF(44).value.table->size;
  REF(53).tsdr = & dr_integer;
/* equal . 53 =(0) , 158 */
  if ( REF(53).value.integer == 0 ) goto c158;
/* privatize 44 */
  if (REF(44).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(44))) != Normal)
       goto ch_raise_exception;
/* initget 54 44 , 0,0 */
  (*(REF(54).tsdr)->finalize)(REF(54).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(54),DEF(44),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
/* get_or_err 54 44 */
  if ((ch_returncode = get_selected_object(DEF(54),DEF(44),sched)) != Normal)
     goto ch_raise_exception;
/* remove 52 54 44 */
  if ((ch_returncode = che_remove(DEF(52),DEF(54),DEF(44),sched)) != Normal)
     goto ch_raise_exception;
/* endget 54 44 */
  end_selector(DEF(54),DEF(44),sched,GET);
/* copy 46.0 52 */
  if((ch_returncode = (REF(52).tsdr->copy)(& ch_val, REF(52).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(46)DOT(0).tsdr)->finalize)(REF(46)DOT(0).value,F_DISCARD,sched);
  REF(46)DOT(0).value = ch_val;
  REF(46)DOT(0).tsdr = datarepmap[REF(52).tsdr->number];
/* find 55 3.0.1.1 52 , 0 */
  if (findfunc(DEF(55),DEF(3)DOT(0)DOT(1)DOT(1),(
          arguments[0] = DEF(52),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* notequal . 52 51 , 95 */
  if ( !(REF(52).tsdr->equal)(REF(52).value,REF(51).value) ) goto c95;
/* block , 33 */
  if((ch_returncode = che_block(QUAL(33),sched)) != Normal)
     goto ch_raise_exception;
/* initget 56 55.1 , 0,0 */
  (*(REF(56).tsdr)->finalize)(REF(56).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(56),DEF(55)DOT(1),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
/* get_or_err 56 55.1 */
  if ((ch_returncode = get_selected_object(DEF(56),DEF(55)DOT(1)
    ,sched)) != Normal) goto ch_raise_exception;
/* copy 46.1 56.0 */
  if((ch_returncode = cp_nominal(& ch_val, REF(56)DOT(0).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(46)DOT(1).tsdr)->finalize)(REF(46)DOT(1).value,F_DISCARD,sched);
  REF(46)DOT(1).value = ch_val;
  REF(46)DOT(1).tsdr = & dr_nominal;
/* endget 56 55.1 */
  end_selector(DEF(56),DEF(55)DOT(1),sched,GET);
/* endblock */
  che_endblock(sched);
/* branch , 88 */
   goto c88;
c86:
/* unique 46.1 */
  if ((ch_returncode = che_unique(DEF(46)DOT(1),sched)) != Normal)
     goto ch_raise_exception;
c88:
/* new_record 57 , 2 */
  if ((ch_val.record = new_record(2)) == nil) goto ch_depletion;
  (*(REF(57).tsdr)->finalize)(REF(57).value,F_DISCARD,sched);
  REF(57).value = ch_val; REF(57).tsdr = & dr_record;
/* new_record 57.0 , 2 */
  if ((ch_val.record = new_record(2)) == nil) goto ch_depletion;
  (*(REF(57)DOT(0).tsdr)->finalize)(REF(57)DOT(0).value,F_DISCARD,sched);
  REF(57)DOT(0).value = ch_val; REF(57)DOT(0).tsdr = & dr_record;
/* copy 57.0.0 3.0.1.2 */
  if((ch_returncode = (REF(3)DOT(0)DOT(1)DOT(2).tsdr->copy)(& ch_val, 
    REF(3)DOT(0)DOT(1)DOT(2).value)) != Normal) goto ch_raise_exception;
  (*(REF(57)DOT(0)DOT(0).tsdr)->finalize)(REF(57)DOT(0)DOT(0).value
    ,F_DISCARD,sched);
  REF(57)DOT(0)DOT(0).value = ch_val;
  REF(57)DOT(0)DOT(0).tsdr = datarepmap[REF(3)DOT(0)DOT(1)DOT(2).tsdr
    ->number];
/* copy 57.0.1 3.0.2 */
  if((ch_returncode = (REF(3)DOT(0)DOT(2).tsdr->copy)(& ch_val, 
    REF(3)DOT(0)DOT(2).value)) != Normal) goto ch_raise_exception;
  (*(REF(57)DOT(0)DOT(1).tsdr)->finalize)(REF(57)DOT(0)DOT(1).value
    ,F_DISCARD,sched);
  REF(57)DOT(0)DOT(1).value = ch_val;
  REF(57)DOT(0)DOT(1).tsdr = datarepmap[REF(3)DOT(0)DOT(2).tsdr->number];
/* new_table 57.1 , 31 */
  if ((ch_returncode = che_new_table(DEF(57)DOT(1),QUAL(31)
    ,sched)) != Normal)  goto ch_raise_exception;
/* enum_lit 58 , 4 */
  REF(58).value.enumeration = 4;
  REF(58).tsdr = & dr_enumeration;
  current->ip = 12;
cb94:
/* call 36 58 57 43 47 45 46 , 34 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(36),
          arguments[1] = DEF(58),
          arguments[2] = DEF(57),
          arguments[3] = DEF(43),
          arguments[4] = DEF(47),
          arguments[5] = DEF(45),
          arguments[6] = DEF(46),
          arguments[6+1] = nil,& arguments[0]),QUAL(34),sched)) != Normal)
     goto ch_raise_exception;
  return;
c95:
/* discard 57 */
  (*(REF(57).tsdr)->finalize)(REF(57).value,F_DISCARD,sched);
  REF(57).tsdr = & dr_bottom;
/* discard 46.1 */
  (*(REF(46)DOT(1).tsdr)->finalize)(REF(46)DOT(1).value,F_DISCARD,sched);
  REF(46)DOT(1).tsdr = & dr_bottom;
/* copy 59 55.1 */
  if((ch_returncode = cp_table(& ch_val, REF(55)DOT(1).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(59).tsdr)->finalize)(REF(59).value,F_DISCARD,sched);
  REF(59).value = ch_val;
  REF(59).tsdr = & dr_table;
/* initget 60 59 , 0,0 */
  (*(REF(60).tsdr)->finalize)(REF(60).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(60),DEF(59),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c99:
/* get_or_goto 60 59 , 155 */
  if ((ch_returncode = get_selected_object(DEF(60),DEF(59),sched)) != Normal)
     goto c155;
/* discard 61 */
  (*(REF(61).tsdr)->finalize)(REF(61).value,F_DISCARD,sched);
  REF(61).tsdr = & dr_bottom;
/* discard 46.1 */
  (*(REF(46)DOT(1).tsdr)->finalize)(REF(46)DOT(1).value,F_DISCARD,sched);
  REF(46)DOT(1).tsdr = & dr_bottom;
/* copy 46.1 60.0 */
  if((ch_returncode = cp_nominal(& ch_val, REF(60)DOT(0).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(46)DOT(1).tsdr)->finalize)(REF(46)DOT(1).value,F_DISCARD,sched);
  REF(46)DOT(1).value = ch_val;
  REF(46)DOT(1).tsdr = & dr_nominal;
/* new_table 61 , 35 */
  if ((ch_returncode = che_new_table(DEF(61),QUAL(35),sched)) != Normal) 
     goto ch_raise_exception;
  current->ip = 15;
cb104:
/* call 6 60 3.0.1.0 44 43 61 47 48 32 28 36 45 46 , 36 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(6),
          arguments[1] = DEF(60),
          arguments[2] = DEF(3)DOT(0)DOT(1)DOT(0),
          arguments[3] = DEF(44),
          arguments[4] = DEF(43),
          arguments[5] = DEF(61),
          arguments[6] = DEF(47),
          arguments[7] = DEF(48),
          arguments[8] = DEF(32),
          arguments[9] = DEF(28),
          arguments[10] = DEF(36),
          arguments[11] = DEF(45),
          arguments[12] = DEF(46),
          arguments[12+1] = nil,& arguments[0]),QUAL(36),sched)) != Normal)
     goto ch_raise_exception;
  return;
c105:
/* find 62 3.2 60.1 , 0 */
  if (findfunc(DEF(62),DEF(3)DOT(2),(
          arguments[0] = DEF(60)DOT(1),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
  current->ip = 17;
cb106:
/* call 9 60 52 3.0.1.0 3.1 43 47 62 45 15 18 32 28 36 21 24 61 , 37 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(9),
          arguments[1] = DEF(60),
          arguments[2] = DEF(52),
          arguments[3] = DEF(3)DOT(0)DOT(1)DOT(0),
          arguments[4] = DEF(3)DOT(1),
          arguments[5] = DEF(43),
          arguments[6] = DEF(47),
          arguments[7] = DEF(62),
          arguments[8] = DEF(45),
          arguments[9] = DEF(15),
          arguments[10] = DEF(18),
          arguments[11] = DEF(32),
          arguments[12] = DEF(28),
          arguments[13] = DEF(36),
          arguments[14] = DEF(21),
          arguments[15] = DEF(24),
          arguments[16] = DEF(61),
          arguments[16+1] = nil,& arguments[0]),QUAL(37),sched)) != Normal)
     goto ch_raise_exception;
  return;
c107:
/* discard 63 */
  (*(REF(63).tsdr)->finalize)(REF(63).value,F_DISCARD,sched);
  REF(63).tsdr = & dr_bottom;
/* size 64 61 */
  REF(64).value.integer = REF(61).value.table->size;
  REF(64).tsdr = & dr_integer;
/* equal . 64 =(0) , 99 */
  if ( REF(64).value.integer == 0 ) goto c99;
/* privatize 61 */
  if (REF(61).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(61))) != Normal)
       goto ch_raise_exception;
/* initget 65 61 , 0,0 */
  (*(REF(65).tsdr)->finalize)(REF(65).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(65),DEF(61),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
/* get_or_err 65 61 */
  if ((ch_returncode = get_selected_object(DEF(65),DEF(61),sched)) != Normal)
     goto ch_raise_exception;
/* remove 63 65 61 */
  if ((ch_returncode = che_remove(DEF(63),DEF(65),DEF(61),sched)) != Normal)
     goto ch_raise_exception;
/* endget 65 61 */
  end_selector(DEF(65),DEF(61),sched,GET);
/* block , 38 */
  if((ch_returncode = che_block(QUAL(38),sched)) != Normal)
     goto ch_raise_exception;
c147:
c144:
c141:
c118:
/* discard 66 */
  (*(REF(66).tsdr)->finalize)(REF(66).value,F_DISCARD,sched);
  REF(66).tsdr = & dr_bottom;
/* privatize 47 */
  if (REF(47).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(47))) != Normal)
       goto ch_raise_exception;
/* initget 67 47 , 0,0 */
  (*(REF(67).tsdr)->finalize)(REF(67).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(67),DEF(47),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c123:
/* get_or_err 67 47 */
  if ((ch_returncode = get_selected_object(DEF(67),DEF(47),sched)) != Normal)
     goto ch_raise_exception;
/* notequal . 67.0 63 , 123 */
  if ( !(REF(67)DOT(0).tsdr->equal)(REF(67)DOT(0).value,REF(63).value) )
     goto c123;
/* remove 66 67 47 */
  if ((ch_returncode = che_remove(DEF(66),DEF(67),DEF(47),sched)) != Normal)
     goto ch_raise_exception;
/* endget 67 47 */
  end_selector(DEF(67),DEF(47),sched,GET);
/* case 68 66.1 */
  REF(68).value.enumeration = REF(66)DOT(1).value.variant->info.variant_case;
  REF(68).tsdr = & dr_enumeration;
/* equal . 68 =(3) , 137 */
  if ( REF(68).value.enumeration == 3 ) goto c137;
/* equal . 68 =(2) , 142 */
  if ( REF(68).value.enumeration == 2 ) goto c142;
/* equal . 68 =(1) , 145 */
  if ( REF(68).value.enumeration == 1 ) goto c145;
/* branch , 118 */
   goto c118;
c137:
/* reveal 66.1 , 3 */
  if (3 != REF(66)DOT(1).value.variant->info.variant_case) goto ch_case_error;
/* find 69 3.0.1.1 66.1.0.0 , 0 */
  if (findfunc(DEF(69),DEF(3)DOT(0)DOT(1)DOT(1),(
          arguments[0] = DEF(66)DOT(1)DOT(0)DOT(0),& arguments[0]),sched,0
            ) == FAILURE) goto ch_notfound;
/* find 70 55.1 66.1.0.1 , 0 */
  if (findfunc(DEF(70),DEF(55)DOT(1),(
          arguments[0] = DEF(66)DOT(1)DOT(0)DOT(1),& arguments[0]),sched,0
            ) == FAILURE) goto ch_notfound;
  current->ip = 21;
cb140:
/* call 21 70 66.1.0.0 3.0.1.0 3.1 43 47 45 15 18 24 61 , 39 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(21),
          arguments[1] = DEF(70),
          arguments[2] = DEF(66)DOT(1)DOT(0)DOT(0),
          arguments[3] = DEF(3)DOT(0)DOT(1)DOT(0),
          arguments[4] = DEF(3)DOT(1),
          arguments[5] = DEF(43),
          arguments[6] = DEF(47),
          arguments[7] = DEF(45),
          arguments[8] = DEF(15),
          arguments[9] = DEF(18),
          arguments[10] = DEF(24),
          arguments[11] = DEF(61),
          arguments[11+1] = nil,& arguments[0]),QUAL(39),sched)) != Normal)
     goto ch_raise_exception;
  return;
c142:
/* reveal 66.1 , 2 */
  if (2 != REF(66)DOT(1).value.variant->info.variant_case) goto ch_case_error;
  current->ip = 24;
cb143:
/* call 39 66.1.0 43 45 36 , 40 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(39),
          arguments[1] = DEF(66)DOT(1)DOT(0),
          arguments[2] = DEF(43),
          arguments[3] = DEF(45),
          arguments[4] = DEF(36),
          arguments[4+1] = nil,& arguments[0]),QUAL(40),sched)) != Normal)
     goto ch_raise_exception;
  return;
c145:
/* reveal 66.1 , 1 */
  if (1 != REF(66)DOT(1).value.variant->info.variant_case) goto ch_case_error;
  current->ip = 27;
cb146:
/* call 12 66.1.0 43 61 47 45 28 , 41 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(12),
          arguments[1] = DEF(66)DOT(1)DOT(0),
          arguments[2] = DEF(43),
          arguments[3] = DEF(61),
          arguments[4] = DEF(47),
          arguments[5] = DEF(45),
          arguments[6] = DEF(28),
          arguments[6+1] = nil,& arguments[0]),QUAL(41),sched)) != Normal)
     goto ch_raise_exception;
  return;
c150:
/* endblock */
  che_endblock(sched);
/* branch , 107 */
   goto c107;
c152:
/* discard 66 */
  (*(REF(66).tsdr)->finalize)(REF(66).value,F_DISCARD,sched);
  REF(66).tsdr = & dr_bottom;
/* branch , 107 */
   goto c107;
c155:
/* endget 60 59 */
  end_selector(DEF(60),DEF(59),sched,GET);
/* discard 59 */
  (*(REF(59).tsdr)->finalize)(REF(59).value,F_DISCARD,sched);
  REF(59).tsdr = & dr_bottom;
/* branch , 64 */
   goto c64;
c158:
/* copy 71 48 */
  if((ch_returncode = cp_table(& ch_val, REF(48).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(71).tsdr)->finalize)(REF(71).value,F_DISCARD,sched);
  REF(71).value = ch_val;
  REF(71).tsdr = & dr_table;
/* initget 72 71 , 0,0 */
  (*(REF(72).tsdr)->finalize)(REF(72).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(72),DEF(71),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c164:
c160:
/* get_or_goto 72 71 , 165 */
  if ((ch_returncode = get_selected_object(DEF(72),DEF(71),sched)) != Normal)
     goto c165;
/* find 73 3.0.1.1 72.0 , 0 */
  if (findfunc(DEF(73),DEF(3)DOT(0)DOT(1)DOT(1),(
          arguments[0] = DEF(72)DOT(0),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* find 74 73.1 72.1 , 0 */
  if (findfunc(DEF(74),DEF(73)DOT(1),(
          arguments[0] = DEF(72)DOT(1),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
  current->ip = 34;
cb163:
/* call 42 74 72.0 3.0.1.0 3.1 43 45 15 18 , 42 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(42),
          arguments[1] = DEF(74),
          arguments[2] = DEF(72)DOT(0),
          arguments[3] = DEF(3)DOT(0)DOT(1)DOT(0),
          arguments[4] = DEF(3)DOT(1),
          arguments[5] = DEF(43),
          arguments[6] = DEF(45),
          arguments[7] = DEF(15),
          arguments[8] = DEF(18),
          arguments[8+1] = nil,& arguments[0]),QUAL(42),sched)) != Normal)
     goto ch_raise_exception;
  return;
c165:
/* endget 72 71 */
  end_selector(DEF(72),DEF(71),sched,GET);
/* discard 71 */
  (*(REF(71).tsdr)->finalize)(REF(71).value,F_DISCARD,sched);
  REF(71).tsdr = & dr_bottom;
c167:
/* discard 66 */
  (*(REF(66).tsdr)->finalize)(REF(66).value,F_DISCARD,sched);
  REF(66).tsdr = & dr_bottom;
/* discard 75 */
  (*(REF(75).tsdr)->finalize)(REF(75).value,F_DISCARD,sched);
  REF(75).tsdr = & dr_bottom;
/* size 76 47 */
  REF(76).value.integer = REF(47).value.table->size;
  REF(76).tsdr = & dr_integer;
/* equal . 76 =(0) , 224 */
  if ( REF(76).value.integer == 0 ) goto c224;
/* privatize 47 */
  if (REF(47).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(47))) != Normal)
       goto ch_raise_exception;
/* initget 77 47 , 0,0 */
  (*(REF(77).tsdr)->finalize)(REF(77).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(77),DEF(47),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
/* get_or_err 77 47 */
  if ((ch_returncode = get_selected_object(DEF(77),DEF(47),sched)) != Normal)
     goto ch_raise_exception;
/* remove 66 77 47 */
  if ((ch_returncode = che_remove(DEF(66),DEF(77),DEF(47),sched)) != Normal)
     goto ch_raise_exception;
/* endget 77 47 */
  end_selector(DEF(77),DEF(47),sched,GET);
/* new_table 75 , 32 */
  if ((ch_returncode = che_new_table(DEF(75),QUAL(32),sched)) != Normal) 
     goto ch_raise_exception;
/* privatize 47 */
  if (REF(47).value.table->refcount != 1)
    if ((ch_returncode = doCopyOnWrite(DEF(47))) != Normal)
       goto ch_raise_exception;
/* initget 78 47 , 0,0 */
  (*(REF(78).tsdr)->finalize)(REF(78).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(78),DEF(47),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c181:
/* get_or_goto 78 47 , 187 */
  if ((ch_returncode = get_selected_object(DEF(78),DEF(47),sched)) != Normal)
     goto c187;
/* notequal . 78.0 66.0 , 181 */
  if ( !(REF(78)DOT(0).tsdr->equal)(REF(78)DOT(0).value,REF(66)DOT(0).value) )
     goto c181;
/* remove 79 78 47 */
  if ((ch_returncode = che_remove(DEF(79),DEF(78),DEF(47),sched)) != Normal)
     goto ch_raise_exception;
/* insert 75 79 */
  if ((ch_returncode = insertfunc(DEF(75),DEF(79),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 181 */
   goto c181;
c187:
/* endget 78 47 */
  end_selector(DEF(78),DEF(47),sched,GET);
/* new_record 80 , 3 */
  if ((ch_val.record = new_record(3)) == nil) goto ch_depletion;
  (*(REF(80).tsdr)->finalize)(REF(80).value,F_DISCARD,sched);
  REF(80).value = ch_val; REF(80).tsdr = & dr_record;
/* ordenum_lit 80.1 , 10 */
  REF(80)DOT(1).value.ord_enum = 10;
  REF(80)DOT(1).tsdr = & dr_ord_enumeration;
/* case 81 66.1 */
  REF(81).value.enumeration = REF(66)DOT(1).value.variant->info.variant_case;
  REF(81).tsdr = & dr_enumeration;
/* equal . 81 =(3) , 200 */
  if ( REF(81).value.enumeration == 3 ) goto c200;
/* equal . 81 =(2) , 204 */
  if ( REF(81).value.enumeration == 2 ) goto c204;
/* equal . 81 =(1) , 208 */
  if ( REF(81).value.enumeration == 1 ) goto c208;
/* branch , 212 */
   goto c212;
c200:
/* reveal 66.1 , 3 */
  if (3 != REF(66)DOT(1).value.variant->info.variant_case) goto ch_case_error;
/* copy 82 66.1.0 */
  if((ch_returncode = (REF(66)DOT(1)DOT(0).tsdr->copy)(& ch_val, 
    REF(66)DOT(1)DOT(0).value)) != Normal) goto ch_raise_exception;
  (*(REF(82).tsdr)->finalize)(REF(82).value,F_DISCARD,sched);
  REF(82).value = ch_val;
  REF(82).tsdr = datarepmap[REF(66)DOT(1)DOT(0).tsdr->number];
/* unite 80.0 82 , 0 */
  if ((ch_returncode = che_unite(DEF(80)DOT(0),DEF(82),sched,0)) != Normal)
     goto ch_raise_exception;
/* branch , 214 */
   goto c214;
c204:
/* reveal 66.1 , 2 */
  if (2 != REF(66)DOT(1).value.variant->info.variant_case) goto ch_case_error;
/* copy 83 66.1.0.2 */
  if((ch_returncode = (REF(66)DOT(1)DOT(0)DOT(2).tsdr->copy)(& ch_val, 
    REF(66)DOT(1)DOT(0)DOT(2).value)) != Normal) goto ch_raise_exception;
  (*(REF(83).tsdr)->finalize)(REF(83).value,F_DISCARD,sched);
  REF(83).value = ch_val;
  REF(83).tsdr = datarepmap[REF(66)DOT(1)DOT(0)DOT(2).tsdr->number];
/* unite 80.0 83 , 0 */
  if ((ch_returncode = che_unite(DEF(80)DOT(0),DEF(83),sched,0)) != Normal)
     goto ch_raise_exception;
/* branch , 214 */
   goto c214;
c208:
/* reveal 66.1 , 1 */
  if (1 != REF(66)DOT(1).value.variant->info.variant_case) goto ch_case_error;
/* copy 84 66.1.0.3 */
  if((ch_returncode = (REF(66)DOT(1)DOT(0)DOT(3).tsdr->copy)(& ch_val, 
    REF(66)DOT(1)DOT(0)DOT(3).value)) != Normal) goto ch_raise_exception;
  (*(REF(84).tsdr)->finalize)(REF(84).value,F_DISCARD,sched);
  REF(84).value = ch_val;
  REF(84).tsdr = datarepmap[REF(66)DOT(1)DOT(0)DOT(3).tsdr->number];
/* unite 80.0 84 , 0 */
  if ((ch_returncode = che_unite(DEF(80)DOT(0),DEF(84),sched,0)) != Normal)
     goto ch_raise_exception;
/* branch , 214 */
   goto c214;
c212:
/* exit , 43 */
  ch_e = handler_type__exit; ch_val = QUAL(43); goto ch_exception;
c214:
/* new_table 80.2 , 31 */
  if ((ch_returncode = che_new_table(DEF(80)DOT(2),QUAL(31)
    ,sched)) != Normal)  goto ch_raise_exception;
/* new_record 85 , 2 */
  if ((ch_val.record = new_record(2)) == nil) goto ch_depletion;
  (*(REF(85).tsdr)->finalize)(REF(85).value,F_DISCARD,sched);
  REF(85).value = ch_val; REF(85).tsdr = & dr_record;
/* copy 85.0 66.0 */
  if((ch_returncode = (REF(66)DOT(0).tsdr->copy)(& ch_val, REF(66)DOT(0).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(85)DOT(0).tsdr)->finalize)(REF(85)DOT(0).value,F_DISCARD,sched);
  REF(85)DOT(0).value = ch_val;
  REF(85)DOT(0).tsdr = datarepmap[REF(66)DOT(0).tsdr->number];
/* new_table 85.1 , 31 */
  if ((ch_returncode = che_new_table(DEF(85)DOT(1),QUAL(31)
    ,sched)) != Normal)  goto ch_raise_exception;
/* unite 86 85 , 0 */
  if ((ch_returncode = che_unite(DEF(86),DEF(85),sched,0)) != Normal)
     goto ch_raise_exception;
/* insert 80.2 86 */
  if ((ch_returncode = insertfunc(DEF(80)DOT(2),DEF(86),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* insert 45 80 */
  if ((ch_returncode = insertfunc(DEF(45),DEF(80),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 167 */
   goto c167;
c224:
/* move 3.4 45 */
  (*(REF(3)DOT(4).tsdr)->finalize)(REF(3)DOT(4).value,F_DISCARD,sched);
  REF(3)DOT(4) = REF(45);
  REF(45).tsdr = & dr_bottom;
/* move 3.5 43 */
  (*(REF(3)DOT(5).tsdr)->finalize)(REF(3)DOT(5).value,F_DISCARD,sched);
  REF(3)DOT(5) = REF(43);
  REF(43).tsdr = & dr_bottom;
/* size 87 3.4 */
  REF(87).value.integer = REF(3)DOT(4).value.table->size;
  REF(87).tsdr = & dr_integer;
/* ile . 87 =(0) , 232 */
  if ( REF(87).value.integer <= 0 ) goto c232;
/* return_exception 3 , 44 */
  if (ch_caller = do_return(REF(3).value)) {
    raise_user(QUAL(44),ch_caller); 
    sched->wakeup_proc(sched,ch_caller);}
  else rem_return_exception(DEF(3),QUAL(44));
  REF(3).tsdr = & dr_bottom;
/* branch , 233 */
   goto c233;
c232:
/* 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;
c233:
/* endblock */
  che_endblock(sched);
/* branch , 240 */
   goto c240;
c235:
/* discard 80 */
  (*(REF(80).tsdr)->finalize)(REF(80).value,F_DISCARD,sched);
  REF(80).tsdr = & dr_bottom;
/* discard 75 */
  (*(REF(75).tsdr)->finalize)(REF(75).value,F_DISCARD,sched);
  REF(75).tsdr = & dr_bottom;
/* chs_lit 88 , "CantHappen happened in type" */
  if( !chs_lit(DEF(88),"CantHappen happened in type") ) goto ch_depletion;
/* print 88 */
  re_print(stderr, 0, DEF(88)); fflush(stderr);
/* discard 88 */
  (*(REF(88).tsdr)->finalize)(REF(88).value,F_DISCARD,sched);
  REF(88).tsdr = & dr_bottom;
c240:
/* discard 3 */
  (*(REF(3).tsdr)->finalize)(REF(3).value,F_DISCARD,sched);
  REF(3).tsdr = & dr_bottom;
/* discard 43 */
  (*(REF(43).tsdr)->finalize)(REF(43).value,F_DISCARD,sched);
  REF(43).tsdr = & dr_bottom;
/* discard 66 */
  (*(REF(66).tsdr)->finalize)(REF(66).value,F_DISCARD,sched);
  REF(66).tsdr = & dr_bottom;
/* discard 45 */
  (*(REF(45).tsdr)->finalize)(REF(45).value,F_DISCARD,sched);
  REF(45).tsdr = & dr_bottom;
/* endblock */
  che_endblock(sched);
c246:
/* endprocess */
  che_endprocess(sched); return;
#include "chtail.h"
