#include "chdecl.h"
void CH_makehermes_initloadfuncs(current, sched, cop)
#define ARGUMENTS 7
#include "chhead.h"
select: switch (SELECTOR) {
    case 0: goto c0;
    case 1: goto cb1;
    case 2: goto c2;
    case 3: goto cb3;
    case 4: goto c4;
    case 5: goto c15;
    case 6: goto c27;
    case 7: goto c36;
    case 8: goto c37;
    case 9: goto c45;
    case 10: goto c53;
    case 11: goto cb54;
    case 12: goto c55;
    case 13: goto cb56;
    case 14: goto c57;
    case 15: goto cb58;
    case 16: goto c59;
    case 17: goto c65;  }
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:
/* chs_lit 4 , "findfile" */
  if( !chs_lit(DEF(4),"findfile") ) goto ch_depletion;
  current->ip = 3;
cb3:
/* call 3.2 4 5 , 1 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(3)DOT(2),
          arguments[1] = DEF(4),
          arguments[2] = DEF(5),
          arguments[2+1] = nil,& arguments[0]),QUAL(1),sched)) != Normal)
     goto ch_raise_exception;
  return;
c4:
/* procedure 6 5 , 2 */
  if ((ch_returncode = che_procedure(DEF(6),DEF(5),QUAL(2),sched)) != Normal)
     goto ch_raise_exception;
/* discard 5 */
  (*(REF(5).tsdr)->finalize)(REF(5).value,F_DISCARD,sched);
  REF(5).tsdr = & dr_bottom;
/* move 7 6 */
  (*(REF(7).tsdr)->finalize)(REF(7).value,F_DISCARD,sched);
  REF(7) = REF(6);
  REF(6).tsdr = & dr_bottom;
/* block , 3 */
  if((ch_returncode = che_block(QUAL(3),sched)) != Normal)
     goto ch_raise_exception;
/* chs_lit 8 , "HPATH" */
  if( !chs_lit(DEF(8),"HPATH") ) goto ch_depletion;
/* find 9 3.3 8 , 0 */
  if (findfunc(DEF(9),DEF(3)DOT(3),(
          arguments[0] = DEF(8),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* 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];
/* move 11 10.1 */
  (*(REF(11).tsdr)->finalize)(REF(11).value,F_DISCARD,sched);
  REF(11) = REF(10)DOT(1);
  REF(10)DOT(1).tsdr = & dr_bottom;
/* endblock */
  che_endblock(sched);
/* branch , 27 */
   goto c27;
c15:
/* chs_lit 12 , "HROOTDIR" */
  if( !chs_lit(DEF(12),"HROOTDIR") ) goto ch_depletion;
/* find 13 3.3 12 , 0 */
  if (findfunc(DEF(13),DEF(3)DOT(3),(
          arguments[0] = DEF(12),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* copy 10 13 */
  if((ch_returncode = (REF(13).tsdr->copy)(& ch_val, REF(13).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(13).tsdr->number];
/* chs_lit 14 , ".:" */
  if( !chs_lit(DEF(14),".:") ) goto ch_depletion;
/* concat 15 14 10.1 */
  if ((ch_returncode = che_concat(DEF(15),DEF(14),DEF(10)DOT(1)
    ,sched)) != Normal) goto ch_raise_exception;
/* discard 14 */
  (*(REF(14).tsdr)->finalize)(REF(14).value,F_DISCARD,sched);
  REF(14).tsdr = & dr_bottom;
/* chs_lit 16 , "/bin" */
  if( !chs_lit(DEF(16),"/bin") ) goto ch_depletion;
/* concat 17 15 16 */
  if ((ch_returncode = che_concat(DEF(17),DEF(15),DEF(16),sched)) != Normal)
     goto ch_raise_exception;
/* discard 15 */
  (*(REF(15).tsdr)->finalize)(REF(15).value,F_DISCARD,sched);
  REF(15).tsdr = & dr_bottom;
/* discard 16 */
  (*(REF(16).tsdr)->finalize)(REF(16).value,F_DISCARD,sched);
  REF(16).tsdr = & dr_bottom;
/* move 11 17 */
  (*(REF(11).tsdr)->finalize)(REF(11).value,F_DISCARD,sched);
  REF(11) = REF(17);
  REF(17).tsdr = & dr_bottom;
c27:
/* discard 10.1 */
  (*(REF(10)DOT(1).tsdr)->finalize)(REF(10)DOT(1).value,F_DISCARD,sched);
  REF(10)DOT(1).tsdr = & dr_bottom;
/* block , 4 */
  if((ch_returncode = che_block(QUAL(4),sched)) != Normal)
     goto ch_raise_exception;
/* chs_lit 18 , "HSOURCEPATH" */
  if( !chs_lit(DEF(18),"HSOURCEPATH") ) goto ch_depletion;
/* find 19 3.3 18 , 0 */
  if (findfunc(DEF(19),DEF(3)DOT(3),(
          arguments[0] = DEF(18),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* copy 10 19 */
  if((ch_returncode = (REF(19).tsdr->copy)(& ch_val, REF(19).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(19).tsdr->number];
/* move 20 10.1 */
  (*(REF(20).tsdr)->finalize)(REF(20).value,F_DISCARD,sched);
  REF(20) = REF(10)DOT(1);
  REF(10)DOT(1).tsdr = & dr_bottom;
/* endblock */
  che_endblock(sched);
/* branch , 37 */
   goto c37;
c36:
/* copy 20 11 */
  if((ch_returncode = cp_table(& ch_val, REF(11).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(20).tsdr)->finalize)(REF(20).value,F_DISCARD,sched);
  REF(20).value = ch_val;
  REF(20).tsdr = & dr_table;
c37:
/* block , 5 */
  if((ch_returncode = che_block(QUAL(5),sched)) != Normal)
     goto ch_raise_exception;
/* chs_lit 21 , "HLINKPATH" */
  if( !chs_lit(DEF(21),"HLINKPATH") ) goto ch_depletion;
/* find 22 3.3 21 , 0 */
  if (findfunc(DEF(22),DEF(3)DOT(3),(
          arguments[0] = DEF(21),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* copy 10 22 */
  if((ch_returncode = (REF(22).tsdr->copy)(& ch_val, REF(22).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(22).tsdr->number];
/* move 23 10.1 */
  (*(REF(23).tsdr)->finalize)(REF(23).value,F_DISCARD,sched);
  REF(23) = REF(10)DOT(1);
  REF(10)DOT(1).tsdr = & dr_bottom;
/* endblock */
  che_endblock(sched);
/* branch , 54 */
   goto c54;
c45:
/* block , 6 */
  if((ch_returncode = che_block(QUAL(6),sched)) != Normal)
     goto ch_raise_exception;
/* chs_lit 24 , "HLOADPATH" */
  if( !chs_lit(DEF(24),"HLOADPATH") ) goto ch_depletion;
/* find 25 3.3 24 , 0 */
  if (findfunc(DEF(25),DEF(3)DOT(3),(
          arguments[0] = DEF(24),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* copy 10 25 */
  if((ch_returncode = (REF(25).tsdr->copy)(& ch_val, REF(25).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(25).tsdr->number];
/* move 23 10.1 */
  (*(REF(23).tsdr)->finalize)(REF(23).value,F_DISCARD,sched);
  REF(23) = REF(10)DOT(1);
  REF(10)DOT(1).tsdr = & dr_bottom;
/* endblock */
  che_endblock(sched);
/* branch , 54 */
   goto c54;
c53:
/* copy 23 11 */
  if((ch_returncode = cp_table(& ch_val, REF(11).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(23).tsdr)->finalize)(REF(23).value,F_DISCARD,sched);
  REF(23).value = ch_val;
  REF(23).tsdr = & dr_table;
c54:
  current->ip = 11;
cb54:
/* call 7 3.0 3.1 23 26 , 7 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(7),
          arguments[1] = DEF(3)DOT(0),
          arguments[2] = DEF(3)DOT(1),
          arguments[3] = DEF(23),
          arguments[4] = DEF(26),
          arguments[4+1] = nil,& arguments[0]),QUAL(7),sched)) != Normal)
     goto ch_raise_exception;
  return;
c55:
/* move 3.4 26 */
  (*(REF(3)DOT(4).tsdr)->finalize)(REF(3)DOT(4).value,F_DISCARD,sched);
  REF(3)DOT(4) = REF(26);
  REF(26).tsdr = & dr_bottom;
  current->ip = 13;
cb56:
/* call 7 3.0 3.1 11 27 , 7 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(7),
          arguments[1] = DEF(3)DOT(0),
          arguments[2] = DEF(3)DOT(1),
          arguments[3] = DEF(11),
          arguments[4] = DEF(27),
          arguments[4+1] = nil,& arguments[0]),QUAL(7),sched)) != Normal)
     goto ch_raise_exception;
  return;
c57:
/* move 3.5 27 */
  (*(REF(3)DOT(5).tsdr)->finalize)(REF(3)DOT(5).value,F_DISCARD,sched);
  REF(3)DOT(5) = REF(27);
  REF(27).tsdr = & dr_bottom;
  current->ip = 15;
cb58:
/* call 7 3.0 3.1 20 28 , 7 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(7),
          arguments[1] = DEF(3)DOT(0),
          arguments[2] = DEF(3)DOT(1),
          arguments[3] = DEF(20),
          arguments[4] = DEF(28),
          arguments[4+1] = nil,& arguments[0]),QUAL(7),sched)) != Normal)
     goto ch_raise_exception;
  return;
c59:
/* move 3.6 28 */
  (*(REF(3)DOT(6).tsdr)->finalize)(REF(3)DOT(6).value,F_DISCARD,sched);
  REF(3)DOT(6) = REF(28);
  REF(28).tsdr = & dr_bottom;
/* copy 3.7 3.6 */
  if((ch_returncode = (REF(3)DOT(6).tsdr->copy)(& ch_val, REF(3)DOT(6).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(3)DOT(7).tsdr)->finalize)(REF(3)DOT(7).value,F_DISCARD,sched);
  REF(3)DOT(7).value = ch_val;
  REF(3)DOT(7).tsdr = datarepmap[REF(3)DOT(6).tsdr->number];
/* copy 3.8 3.6 */
  if((ch_returncode = (REF(3)DOT(6).tsdr->copy)(& ch_val, REF(3)DOT(6).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(3)DOT(8).tsdr)->finalize)(REF(3)DOT(8).value,F_DISCARD,sched);
  REF(3)DOT(8).value = ch_val;
  REF(3)DOT(8).tsdr = datarepmap[REF(3)DOT(6).tsdr->number];
/* 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);
c65:
/* endprocess */
  che_endprocess(sched); return;
#include "chtail.h"
