/* Generated automatically from vminsn.scm */
/* DO NOT EDIT */
#ifdef DEFINSN
DEFINSN(SCM_VM_NOP, "NOP", 0, NONE)
DEFINSN(SCM_VM_CONST, "CONST", 0, OBJ)
DEFINSN(SCM_VM_CONSTI, "CONSTI", 1, NONE)
DEFINSN(SCM_VM_CONSTN, "CONSTN", 0, NONE)
DEFINSN(SCM_VM_CONSTF, "CONSTF", 0, NONE)
DEFINSN(SCM_VM_CONSTU, "CONSTU", 0, NONE)
DEFINSN(SCM_VM_CONST_PUSH, "CONST-PUSH", 0, OBJ)
DEFINSN(SCM_VM_CONSTI_PUSH, "CONSTI-PUSH", 1, NONE)
DEFINSN(SCM_VM_CONSTN_PUSH, "CONSTN-PUSH", 0, NONE)
DEFINSN(SCM_VM_CONSTF_PUSH, "CONSTF-PUSH", 0, NONE)
DEFINSN(SCM_VM_CONST_RET, "CONST-RET", 0, OBJ)
DEFINSN(SCM_VM_CONSTF_RET, "CONSTF-RET", 0, NONE)
DEFINSN(SCM_VM_CONSTU_RET, "CONSTU-RET", 0, NONE)
DEFINSN(SCM_VM_PUSH, "PUSH", 0, NONE)
DEFINSN(SCM_VM_PRE_CALL, "PRE-CALL", 1, ADDR)
DEFINSN(SCM_VM_PUSH_PRE_CALL, "PUSH-PRE-CALL", 1, ADDR)
DEFINSN(SCM_VM_CHECK_STACK, "CHECK-STACK", 1, NONE)
DEFINSN(SCM_VM_CALL, "CALL", 1, NONE)
DEFINSN(SCM_VM_TAIL_CALL, "TAIL-CALL", 1, NONE)
DEFINSN(SCM_VM_JUMP, "JUMP", 0, ADDR)
DEFINSN(SCM_VM_RET, "RET", 0, NONE)
DEFINSN(SCM_VM_DEFINE, "DEFINE", 1, OBJ)
DEFINSN(SCM_VM_CLOSURE, "CLOSURE", 0, CODE)
DEFINSN(SCM_VM_LOCAL_ENV, "LOCAL-ENV", 1, NONE)
DEFINSN(SCM_VM_PUSH_LOCAL_ENV, "PUSH-LOCAL-ENV", 1, NONE)
DEFINSN(SCM_VM_LOCAL_ENV_CLOSURES, "LOCAL-ENV-CLOSURES", 1, CODES)
DEFINSN(SCM_VM_POP_LOCAL_ENV, "POP-LOCAL-ENV", 0, NONE)
DEFINSN(SCM_VM_LOCAL_ENV_JUMP, "LOCAL-ENV-JUMP", 1, ADDR)
DEFINSN(SCM_VM_LOCAL_ENV_CALL, "LOCAL-ENV-CALL", 1, NONE)
DEFINSN(SCM_VM_LOCAL_ENV_TAIL_CALL, "LOCAL-ENV-TAIL-CALL", 1, NONE)
DEFINSN(SCM_VM_BF, "BF", 0, ADDR)
DEFINSN(SCM_VM_BT, "BT", 0, ADDR)
DEFINSN(SCM_VM_BNEQ, "BNEQ", 0, ADDR)
DEFINSN(SCM_VM_BNEQV, "BNEQV", 0, ADDR)
DEFINSN(SCM_VM_BNNULL, "BNNULL", 0, ADDR)
DEFINSN(SCM_VM_BNUMNE, "BNUMNE", 0, ADDR)
DEFINSN(SCM_VM_BNLT, "BNLT", 0, ADDR)
DEFINSN(SCM_VM_BNLE, "BNLE", 0, ADDR)
DEFINSN(SCM_VM_BNGT, "BNGT", 0, ADDR)
DEFINSN(SCM_VM_BNGE, "BNGE", 0, ADDR)
DEFINSN(SCM_VM_LREF_VAL0_BNUMNE, "LREF-VAL0-BNUMNE", 2, ADDR)
DEFINSN(SCM_VM_LREF_VAL0_BNLT, "LREF-VAL0-BNLT", 2, ADDR)
DEFINSN(SCM_VM_LREF_VAL0_BNLE, "LREF-VAL0-BNLE", 2, ADDR)
DEFINSN(SCM_VM_LREF_VAL0_BNGT, "LREF-VAL0-BNGT", 2, ADDR)
DEFINSN(SCM_VM_LREF_VAL0_BNGE, "LREF-VAL0-BNGE", 2, ADDR)
DEFINSN(SCM_VM_BNUMNEI, "BNUMNEI", 1, ADDR)
DEFINSN(SCM_VM_BNEQC, "BNEQC", 0, OBJ_ADDR)
DEFINSN(SCM_VM_BNEQVC, "BNEQVC", 0, OBJ_ADDR)
DEFINSN(SCM_VM_RF, "RF", 0, NONE)
DEFINSN(SCM_VM_RT, "RT", 0, NONE)
DEFINSN(SCM_VM_RNEQ, "RNEQ", 0, NONE)
DEFINSN(SCM_VM_RNEQV, "RNEQV", 0, NONE)
DEFINSN(SCM_VM_RNNULL, "RNNULL", 0, NONE)
DEFINSN(SCM_VM_RECEIVE, "RECEIVE", 2, ADDR)
DEFINSN(SCM_VM_TAIL_RECEIVE, "TAIL-RECEIVE", 2, NONE)
DEFINSN(SCM_VM_RECEIVE_ALL, "RECEIVE-ALL", 0, ADDR)
DEFINSN(SCM_VM_TAIL_RECEIVE_ALL, "TAIL-RECEIVE-ALL", 0, NONE)
DEFINSN(SCM_VM_VALUES_N, "VALUES-N", 0, NONE)
DEFINSN(SCM_VM_LSET, "LSET", 2, NONE)
DEFINSN(SCM_VM_GSET, "GSET", 0, OBJ)
DEFINSN(SCM_VM_LREF, "LREF", 2, NONE)
DEFINSN(SCM_VM_LREF0, "LREF0", 0, NONE)
DEFINSN(SCM_VM_LREF1, "LREF1", 0, NONE)
DEFINSN(SCM_VM_LREF2, "LREF2", 0, NONE)
DEFINSN(SCM_VM_LREF3, "LREF3", 0, NONE)
DEFINSN(SCM_VM_LREF10, "LREF10", 0, NONE)
DEFINSN(SCM_VM_LREF11, "LREF11", 0, NONE)
DEFINSN(SCM_VM_LREF12, "LREF12", 0, NONE)
DEFINSN(SCM_VM_LREF20, "LREF20", 0, NONE)
DEFINSN(SCM_VM_LREF21, "LREF21", 0, NONE)
DEFINSN(SCM_VM_LREF30, "LREF30", 0, NONE)
DEFINSN(SCM_VM_LREF_PUSH, "LREF-PUSH", 2, NONE)
DEFINSN(SCM_VM_LREF0_PUSH, "LREF0-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF1_PUSH, "LREF1-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF2_PUSH, "LREF2-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF3_PUSH, "LREF3-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF10_PUSH, "LREF10-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF11_PUSH, "LREF11-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF12_PUSH, "LREF12-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF20_PUSH, "LREF20-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF21_PUSH, "LREF21-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF30_PUSH, "LREF30-PUSH", 0, NONE)
DEFINSN(SCM_VM_GREF, "GREF", 0, OBJ)
DEFINSN(SCM_VM_GREF_PUSH, "GREF-PUSH", 0, OBJ)
DEFINSN(SCM_VM_GREF_CALL, "GREF-CALL", 1, OBJ)
DEFINSN(SCM_VM_GREF_TAIL_CALL, "GREF-TAIL-CALL", 1, OBJ)
DEFINSN(SCM_VM_PUSH_GREF, "PUSH-GREF", 0, OBJ)
DEFINSN(SCM_VM_PUSH_GREF_CALL, "PUSH-GREF-CALL", 1, OBJ)
DEFINSN(SCM_VM_PUSH_GREF_TAIL_CALL, "PUSH-GREF-TAIL-CALL", 1, OBJ)
DEFINSN(SCM_VM_LREF0_PUSH_GREF, "LREF0-PUSH-GREF", 0, OBJ)
DEFINSN(SCM_VM_LREF0_PUSH_GREF_CALL, "LREF0-PUSH-GREF-CALL", 1, OBJ)
DEFINSN(SCM_VM_LREF0_PUSH_GREF_TAIL_CALL, "LREF0-PUSH-GREF-TAIL-CALL", 1, OBJ)
DEFINSN(SCM_VM_PROMISE, "PROMISE", 0, NONE)
DEFINSN(SCM_VM_VALUES_APPLY, "VALUES-APPLY", 0, NONE)
DEFINSN(SCM_VM_CONS, "CONS", 0, NONE)
DEFINSN(SCM_VM_CONS_PUSH, "CONS-PUSH", 0, NONE)
DEFINSN(SCM_VM_CAR, "CAR", 0, NONE)
DEFINSN(SCM_VM_CAR_PUSH, "CAR-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF0_CAR, "LREF0-CAR", 0, NONE)
DEFINSN(SCM_VM_LREF1_CAR, "LREF1-CAR", 0, NONE)
DEFINSN(SCM_VM_LREF2_CAR, "LREF2-CAR", 0, NONE)
DEFINSN(SCM_VM_LREF3_CAR, "LREF3-CAR", 0, NONE)
DEFINSN(SCM_VM_LREF10_CAR, "LREF10-CAR", 0, NONE)
DEFINSN(SCM_VM_LREF11_CAR, "LREF11-CAR", 0, NONE)
DEFINSN(SCM_VM_LREF12_CAR, "LREF12-CAR", 0, NONE)
DEFINSN(SCM_VM_LREF20_CAR, "LREF20-CAR", 0, NONE)
DEFINSN(SCM_VM_LREF21_CAR, "LREF21-CAR", 0, NONE)
DEFINSN(SCM_VM_LREF30_CAR, "LREF30-CAR", 0, NONE)
DEFINSN(SCM_VM_CDR, "CDR", 0, NONE)
DEFINSN(SCM_VM_CDR_PUSH, "CDR-PUSH", 0, NONE)
DEFINSN(SCM_VM_LREF0_CDR, "LREF0-CDR", 0, NONE)
DEFINSN(SCM_VM_LREF1_CDR, "LREF1-CDR", 0, NONE)
DEFINSN(SCM_VM_LREF2_CDR, "LREF2-CDR", 0, NONE)
DEFINSN(SCM_VM_LREF3_CDR, "LREF3-CDR", 0, NONE)
DEFINSN(SCM_VM_LREF10_CDR, "LREF10-CDR", 0, NONE)
DEFINSN(SCM_VM_LREF11_CDR, "LREF11-CDR", 0, NONE)
DEFINSN(SCM_VM_LREF12_CDR, "LREF12-CDR", 0, NONE)
DEFINSN(SCM_VM_LREF20_CDR, "LREF20-CDR", 0, NONE)
DEFINSN(SCM_VM_LREF21_CDR, "LREF21-CDR", 0, NONE)
DEFINSN(SCM_VM_LREF30_CDR, "LREF30-CDR", 0, NONE)
DEFINSN(SCM_VM_CAAR, "CAAR", 0, NONE)
DEFINSN(SCM_VM_CAAR_PUSH, "CAAR-PUSH", 0, NONE)
DEFINSN(SCM_VM_CADR, "CADR", 0, NONE)
DEFINSN(SCM_VM_CADR_PUSH, "CADR-PUSH", 0, NONE)
DEFINSN(SCM_VM_CDAR, "CDAR", 0, NONE)
DEFINSN(SCM_VM_CDAR_PUSH, "CDAR-PUSH", 0, NONE)
DEFINSN(SCM_VM_CDDR, "CDDR", 0, NONE)
DEFINSN(SCM_VM_CDDR_PUSH, "CDDR-PUSH", 0, NONE)
DEFINSN(SCM_VM_LIST, "LIST", 1, NONE)
DEFINSN(SCM_VM_LIST_STAR, "LIST-STAR", 1, NONE)
DEFINSN(SCM_VM_LENGTH, "LENGTH", 0, NONE)
DEFINSN(SCM_VM_MEMQ, "MEMQ", 0, NONE)
DEFINSN(SCM_VM_MEMV, "MEMV", 0, NONE)
DEFINSN(SCM_VM_ASSQ, "ASSQ", 0, NONE)
DEFINSN(SCM_VM_ASSV, "ASSV", 0, NONE)
DEFINSN(SCM_VM_EQ, "EQ", 0, NONE)
DEFINSN(SCM_VM_EQV, "EQV", 0, NONE)
DEFINSN(SCM_VM_APPEND, "APPEND", 1, NONE)
DEFINSN(SCM_VM_NOT, "NOT", 0, NONE)
DEFINSN(SCM_VM_REVERSE, "REVERSE", 0, NONE)
DEFINSN(SCM_VM_APPLY, "APPLY", 1, NONE)
DEFINSN(SCM_VM_TAIL_APPLY, "TAIL-APPLY", 1, NONE)
DEFINSN(SCM_VM_IS_A, "IS-A", 0, NONE)
DEFINSN(SCM_VM_NULLP, "NULLP", 0, NONE)
DEFINSN(SCM_VM_PAIRP, "PAIRP", 0, NONE)
DEFINSN(SCM_VM_CHARP, "CHARP", 0, NONE)
DEFINSN(SCM_VM_EOFP, "EOFP", 0, NONE)
DEFINSN(SCM_VM_STRINGP, "STRINGP", 0, NONE)
DEFINSN(SCM_VM_SYMBOLP, "SYMBOLP", 0, NONE)
DEFINSN(SCM_VM_VECTORP, "VECTORP", 0, NONE)
DEFINSN(SCM_VM_IDENTIFIERP, "IDENTIFIERP", 0, NONE)
DEFINSN(SCM_VM_NUMBERP, "NUMBERP", 0, NONE)
DEFINSN(SCM_VM_REALP, "REALP", 0, NONE)
DEFINSN(SCM_VM_SETTER, "SETTER", 0, NONE)
DEFINSN(SCM_VM_VALUES, "VALUES", 1, NONE)
DEFINSN(SCM_VM_VALUES_RET, "VALUES-RET", 1, NONE)
DEFINSN(SCM_VM_VEC, "VEC", 1, NONE)
DEFINSN(SCM_VM_LIST2VEC, "LIST2VEC", 0, NONE)
DEFINSN(SCM_VM_APP_VEC, "APP-VEC", 1, NONE)
DEFINSN(SCM_VM_VEC_LEN, "VEC-LEN", 0, NONE)
DEFINSN(SCM_VM_VEC_REF, "VEC-REF", 0, NONE)
DEFINSN(SCM_VM_VEC_SET, "VEC-SET", 0, NONE)
DEFINSN(SCM_VM_VEC_REFI, "VEC-REFI", 1, NONE)
DEFINSN(SCM_VM_VEC_SETI, "VEC-SETI", 1, NONE)
DEFINSN(SCM_VM_UVEC_REF, "UVEC-REF", 1, NONE)
DEFINSN(SCM_VM_NUMEQ2, "NUMEQ2", 0, NONE)
DEFINSN(SCM_VM_NUMLT2, "NUMLT2", 0, NONE)
DEFINSN(SCM_VM_NUMLE2, "NUMLE2", 0, NONE)
DEFINSN(SCM_VM_NUMGT2, "NUMGT2", 0, NONE)
DEFINSN(SCM_VM_NUMGE2, "NUMGE2", 0, NONE)
DEFINSN(SCM_VM_NUMADD2, "NUMADD2", 0, NONE)
DEFINSN(SCM_VM_NUMSUB2, "NUMSUB2", 0, NONE)
DEFINSN(SCM_VM_NUMMUL2, "NUMMUL2", 0, NONE)
DEFINSN(SCM_VM_NUMDIV2, "NUMDIV2", 0, NONE)
DEFINSN(SCM_VM_LREF_VAL0_NUMADD2, "LREF-VAL0-NUMADD2", 2, NONE)
DEFINSN(SCM_VM_NEGATE, "NEGATE", 0, NONE)
DEFINSN(SCM_VM_NUMIADD2, "NUMIADD2", 0, NONE)
DEFINSN(SCM_VM_NUMISUB2, "NUMISUB2", 0, NONE)
DEFINSN(SCM_VM_NUMIMUL2, "NUMIMUL2", 0, NONE)
DEFINSN(SCM_VM_NUMIDIV2, "NUMIDIV2", 0, NONE)
DEFINSN(SCM_VM_NUMADDI, "NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF0_NUMADDI, "LREF0-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF1_NUMADDI, "LREF1-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF2_NUMADDI, "LREF2-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF3_NUMADDI, "LREF3-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF10_NUMADDI, "LREF10-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF11_NUMADDI, "LREF11-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF12_NUMADDI, "LREF12-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF20_NUMADDI, "LREF20-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF21_NUMADDI, "LREF21-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF30_NUMADDI, "LREF30-NUMADDI", 1, NONE)
DEFINSN(SCM_VM_LREF0_NUMADDI_PUSH, "LREF0-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_LREF1_NUMADDI_PUSH, "LREF1-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_LREF2_NUMADDI_PUSH, "LREF2-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_LREF3_NUMADDI_PUSH, "LREF3-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_LREF10_NUMADDI_PUSH, "LREF10-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_LREF11_NUMADDI_PUSH, "LREF11-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_LREF12_NUMADDI_PUSH, "LREF12-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_LREF20_NUMADDI_PUSH, "LREF20-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_LREF21_NUMADDI_PUSH, "LREF21-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_LREF30_NUMADDI_PUSH, "LREF30-NUMADDI-PUSH", 1, NONE)
DEFINSN(SCM_VM_NUMSUBI, "NUMSUBI", 1, NONE)
DEFINSN(SCM_VM_READ_CHAR, "READ-CHAR", 1, NONE)
DEFINSN(SCM_VM_PEEK_CHAR, "PEEK-CHAR", 1, NONE)
DEFINSN(SCM_VM_WRITE_CHAR, "WRITE-CHAR", 1, NONE)
DEFINSN(SCM_VM_CURIN, "CURIN", 0, NONE)
DEFINSN(SCM_VM_CUROUT, "CUROUT", 0, NONE)
DEFINSN(SCM_VM_CURERR, "CURERR", 0, NONE)
DEFINSN(SCM_VM_SLOT_REF, "SLOT-REF", 0, NONE)
DEFINSN(SCM_VM_SLOT_SET, "SLOT-SET", 0, NONE)
DEFINSN(SCM_VM_SLOT_REFC, "SLOT-REFC", 0, OBJ)
DEFINSN(SCM_VM_SLOT_SETC, "SLOT-SETC", 0, OBJ)
DEFINSN(SCM_VM_PUSH_HANDLERS, "PUSH-HANDLERS", 0, NONE)
DEFINSN(SCM_VM_POP_HANDLERS, "POP-HANDLERS", 0, NONE)
DEFINSN(SCM_VM_LREF_RET, "LREF-RET", 2, NONE)
DEFINSN(SCM_VM_LREF0_RET, "LREF0-RET", 0, NONE)
DEFINSN(SCM_VM_LREF1_RET, "LREF1-RET", 0, NONE)
DEFINSN(SCM_VM_LREF2_RET, "LREF2-RET", 0, NONE)
DEFINSN(SCM_VM_LREF3_RET, "LREF3-RET", 0, NONE)
DEFINSN(SCM_VM_LREF10_RET, "LREF10-RET", 0, NONE)
DEFINSN(SCM_VM_LREF11_RET, "LREF11-RET", 0, NONE)
DEFINSN(SCM_VM_LREF12_RET, "LREF12-RET", 0, NONE)
DEFINSN(SCM_VM_LREF20_RET, "LREF20-RET", 0, NONE)
DEFINSN(SCM_VM_LREF21_RET, "LREF21-RET", 0, NONE)
DEFINSN(SCM_VM_LREF30_RET, "LREF30-RET", 0, NONE)
DEFINSN(SCM_VM_BOX, "BOX", 0, NONE)
#endif /*DEFINSN*/
#ifdef STATE_TABLE
/* State #0 () [0] */
  /*  0*/ { SCM_VM_NOP, EMIT, SCM_VM_NOP },
  /*  1*/ { SCM_VM_CONST, NEXT, 345 },
  /*  2*/ { SCM_VM_CONSTI, NEXT, 343 },
  /*  3*/ { SCM_VM_CONSTN, NEXT, 341 },
  /*  4*/ { SCM_VM_CONSTF, NEXT, 338 },
  /*  5*/ { SCM_VM_CONSTU, NEXT, 336 },
  /*  6*/ { SCM_VM_CONST_PUSH, EMIT, SCM_VM_CONST_PUSH },
  /*  7*/ { SCM_VM_CONSTI_PUSH, EMIT, SCM_VM_CONSTI_PUSH },
  /*  8*/ { SCM_VM_CONSTN_PUSH, EMIT, SCM_VM_CONSTN_PUSH },
  /*  9*/ { SCM_VM_CONSTF_PUSH, EMIT, SCM_VM_CONSTF_PUSH },
  /* 10*/ { SCM_VM_CONST_RET, EMIT, SCM_VM_CONST_RET },
  /* 11*/ { SCM_VM_CONSTF_RET, EMIT, SCM_VM_CONSTF_RET },
  /* 12*/ { SCM_VM_CONSTU_RET, EMIT, SCM_VM_CONSTU_RET },
  /* 13*/ { SCM_VM_PUSH, NEXT, 329 },
  /* 14*/ { SCM_VM_PRE_CALL, EMIT, SCM_VM_PRE_CALL },
  /* 15*/ { SCM_VM_PUSH_PRE_CALL, EMIT, SCM_VM_PUSH_PRE_CALL },
  /* 16*/ { SCM_VM_CHECK_STACK, EMIT, SCM_VM_CHECK_STACK },
  /* 17*/ { SCM_VM_CALL, EMIT, SCM_VM_CALL },
  /* 18*/ { SCM_VM_TAIL_CALL, EMIT, SCM_VM_TAIL_CALL },
  /* 19*/ { SCM_VM_JUMP, EMIT, SCM_VM_JUMP },
  /* 20*/ { SCM_VM_RET, EMIT, SCM_VM_RET },
  /* 21*/ { SCM_VM_DEFINE, EMIT, SCM_VM_DEFINE },
  /* 22*/ { SCM_VM_CLOSURE, EMIT, SCM_VM_CLOSURE },
  /* 23*/ { SCM_VM_LOCAL_ENV, EMIT, SCM_VM_LOCAL_ENV },
  /* 24*/ { SCM_VM_PUSH_LOCAL_ENV, EMIT, SCM_VM_PUSH_LOCAL_ENV },
  /* 25*/ { SCM_VM_LOCAL_ENV_CLOSURES, EMIT, SCM_VM_LOCAL_ENV_CLOSURES },
  /* 26*/ { SCM_VM_POP_LOCAL_ENV, EMIT, SCM_VM_POP_LOCAL_ENV },
  /* 27*/ { SCM_VM_LOCAL_ENV_JUMP, EMIT, SCM_VM_LOCAL_ENV_JUMP },
  /* 28*/ { SCM_VM_LOCAL_ENV_CALL, EMIT, SCM_VM_LOCAL_ENV_CALL },
  /* 29*/ { SCM_VM_LOCAL_ENV_TAIL_CALL, EMIT, SCM_VM_LOCAL_ENV_TAIL_CALL },
  /* 30*/ { SCM_VM_BF, EMIT, SCM_VM_BF },
  /* 31*/ { SCM_VM_BT, EMIT, SCM_VM_BT },
  /* 32*/ { SCM_VM_BNEQ, EMIT, SCM_VM_BNEQ },
  /* 33*/ { SCM_VM_BNEQV, EMIT, SCM_VM_BNEQV },
  /* 34*/ { SCM_VM_BNNULL, EMIT, SCM_VM_BNNULL },
  /* 35*/ { SCM_VM_BNUMNE, EMIT, SCM_VM_BNUMNE },
  /* 36*/ { SCM_VM_BNLT, EMIT, SCM_VM_BNLT },
  /* 37*/ { SCM_VM_BNLE, EMIT, SCM_VM_BNLE },
  /* 38*/ { SCM_VM_BNGT, EMIT, SCM_VM_BNGT },
  /* 39*/ { SCM_VM_BNGE, EMIT, SCM_VM_BNGE },
  /* 40*/ { SCM_VM_LREF_VAL0_BNUMNE, EMIT, SCM_VM_LREF_VAL0_BNUMNE },
  /* 41*/ { SCM_VM_LREF_VAL0_BNLT, EMIT, SCM_VM_LREF_VAL0_BNLT },
  /* 42*/ { SCM_VM_LREF_VAL0_BNLE, EMIT, SCM_VM_LREF_VAL0_BNLE },
  /* 43*/ { SCM_VM_LREF_VAL0_BNGT, EMIT, SCM_VM_LREF_VAL0_BNGT },
  /* 44*/ { SCM_VM_LREF_VAL0_BNGE, EMIT, SCM_VM_LREF_VAL0_BNGE },
  /* 45*/ { SCM_VM_BNUMNEI, EMIT, SCM_VM_BNUMNEI },
  /* 46*/ { SCM_VM_BNEQC, EMIT, SCM_VM_BNEQC },
  /* 47*/ { SCM_VM_BNEQVC, EMIT, SCM_VM_BNEQVC },
  /* 48*/ { SCM_VM_RF, EMIT, SCM_VM_RF },
  /* 49*/ { SCM_VM_RT, EMIT, SCM_VM_RT },
  /* 50*/ { SCM_VM_RNEQ, EMIT, SCM_VM_RNEQ },
  /* 51*/ { SCM_VM_RNEQV, EMIT, SCM_VM_RNEQV },
  /* 52*/ { SCM_VM_RNNULL, EMIT, SCM_VM_RNNULL },
  /* 53*/ { SCM_VM_RECEIVE, EMIT, SCM_VM_RECEIVE },
  /* 54*/ { SCM_VM_TAIL_RECEIVE, EMIT, SCM_VM_TAIL_RECEIVE },
  /* 55*/ { SCM_VM_RECEIVE_ALL, EMIT, SCM_VM_RECEIVE_ALL },
  /* 56*/ { SCM_VM_TAIL_RECEIVE_ALL, EMIT, SCM_VM_TAIL_RECEIVE_ALL },
  /* 57*/ { SCM_VM_VALUES_N, EMIT, SCM_VM_VALUES_N },
  /* 58*/ { SCM_VM_LSET, EMIT, SCM_VM_LSET },
  /* 59*/ { SCM_VM_GSET, EMIT, SCM_VM_GSET },
  /* 60*/ { SCM_VM_LREF, NEXT, 326 },
  /* 61*/ { SCM_VM_LREF0, NEXT, 318 },
  /* 62*/ { SCM_VM_LREF1, NEXT, 310 },
  /* 63*/ { SCM_VM_LREF2, NEXT, 302 },
  /* 64*/ { SCM_VM_LREF3, NEXT, 294 },
  /* 65*/ { SCM_VM_LREF10, NEXT, 286 },
  /* 66*/ { SCM_VM_LREF11, NEXT, 278 },
  /* 67*/ { SCM_VM_LREF12, NEXT, 270 },
  /* 68*/ { SCM_VM_LREF20, NEXT, 262 },
  /* 69*/ { SCM_VM_LREF21, NEXT, 254 },
  /* 70*/ { SCM_VM_LREF30, NEXT, 246 },
  /* 71*/ { SCM_VM_LREF_PUSH, EMIT, SCM_VM_LREF_PUSH },
  /* 72*/ { SCM_VM_LREF0_PUSH, EMIT, SCM_VM_LREF0_PUSH },
  /* 73*/ { SCM_VM_LREF1_PUSH, EMIT, SCM_VM_LREF1_PUSH },
  /* 74*/ { SCM_VM_LREF2_PUSH, EMIT, SCM_VM_LREF2_PUSH },
  /* 75*/ { SCM_VM_LREF3_PUSH, EMIT, SCM_VM_LREF3_PUSH },
  /* 76*/ { SCM_VM_LREF10_PUSH, EMIT, SCM_VM_LREF10_PUSH },
  /* 77*/ { SCM_VM_LREF11_PUSH, EMIT, SCM_VM_LREF11_PUSH },
  /* 78*/ { SCM_VM_LREF12_PUSH, EMIT, SCM_VM_LREF12_PUSH },
  /* 79*/ { SCM_VM_LREF20_PUSH, EMIT, SCM_VM_LREF20_PUSH },
  /* 80*/ { SCM_VM_LREF21_PUSH, EMIT, SCM_VM_LREF21_PUSH },
  /* 81*/ { SCM_VM_LREF30_PUSH, EMIT, SCM_VM_LREF30_PUSH },
  /* 82*/ { SCM_VM_GREF, NEXT, 242 },
  /* 83*/ { SCM_VM_GREF_PUSH, EMIT, SCM_VM_GREF_PUSH },
  /* 84*/ { SCM_VM_GREF_CALL, EMIT, SCM_VM_GREF_CALL },
  /* 85*/ { SCM_VM_GREF_TAIL_CALL, EMIT, SCM_VM_GREF_TAIL_CALL },
  /* 86*/ { SCM_VM_PUSH_GREF, EMIT, SCM_VM_PUSH_GREF },
  /* 87*/ { SCM_VM_PUSH_GREF_CALL, EMIT, SCM_VM_PUSH_GREF_CALL },
  /* 88*/ { SCM_VM_PUSH_GREF_TAIL_CALL, EMIT, SCM_VM_PUSH_GREF_TAIL_CALL },
  /* 89*/ { SCM_VM_LREF0_PUSH_GREF, EMIT, SCM_VM_LREF0_PUSH_GREF },
  /* 90*/ { SCM_VM_LREF0_PUSH_GREF_CALL, EMIT, SCM_VM_LREF0_PUSH_GREF_CALL },
  /* 91*/ { SCM_VM_LREF0_PUSH_GREF_TAIL_CALL, EMIT, SCM_VM_LREF0_PUSH_GREF_TAIL_CALL },
  /* 92*/ { SCM_VM_PROMISE, EMIT, SCM_VM_PROMISE },
  /* 93*/ { SCM_VM_VALUES_APPLY, EMIT, SCM_VM_VALUES_APPLY },
  /* 94*/ { SCM_VM_CONS, NEXT, 240 },
  /* 95*/ { SCM_VM_CONS_PUSH, EMIT, SCM_VM_CONS_PUSH },
  /* 96*/ { SCM_VM_CAR, NEXT, 238 },
  /* 97*/ { SCM_VM_CAR_PUSH, EMIT, SCM_VM_CAR_PUSH },
  /* 98*/ { SCM_VM_LREF0_CAR, EMIT, SCM_VM_LREF0_CAR },
  /* 99*/ { SCM_VM_LREF1_CAR, EMIT, SCM_VM_LREF1_CAR },
  /*100*/ { SCM_VM_LREF2_CAR, EMIT, SCM_VM_LREF2_CAR },
  /*101*/ { SCM_VM_LREF3_CAR, EMIT, SCM_VM_LREF3_CAR },
  /*102*/ { SCM_VM_LREF10_CAR, EMIT, SCM_VM_LREF10_CAR },
  /*103*/ { SCM_VM_LREF11_CAR, EMIT, SCM_VM_LREF11_CAR },
  /*104*/ { SCM_VM_LREF12_CAR, EMIT, SCM_VM_LREF12_CAR },
  /*105*/ { SCM_VM_LREF20_CAR, EMIT, SCM_VM_LREF20_CAR },
  /*106*/ { SCM_VM_LREF21_CAR, EMIT, SCM_VM_LREF21_CAR },
  /*107*/ { SCM_VM_LREF30_CAR, EMIT, SCM_VM_LREF30_CAR },
  /*108*/ { SCM_VM_CDR, NEXT, 236 },
  /*109*/ { SCM_VM_CDR_PUSH, EMIT, SCM_VM_CDR_PUSH },
  /*110*/ { SCM_VM_LREF0_CDR, EMIT, SCM_VM_LREF0_CDR },
  /*111*/ { SCM_VM_LREF1_CDR, EMIT, SCM_VM_LREF1_CDR },
  /*112*/ { SCM_VM_LREF2_CDR, EMIT, SCM_VM_LREF2_CDR },
  /*113*/ { SCM_VM_LREF3_CDR, EMIT, SCM_VM_LREF3_CDR },
  /*114*/ { SCM_VM_LREF10_CDR, EMIT, SCM_VM_LREF10_CDR },
  /*115*/ { SCM_VM_LREF11_CDR, EMIT, SCM_VM_LREF11_CDR },
  /*116*/ { SCM_VM_LREF12_CDR, EMIT, SCM_VM_LREF12_CDR },
  /*117*/ { SCM_VM_LREF20_CDR, EMIT, SCM_VM_LREF20_CDR },
  /*118*/ { SCM_VM_LREF21_CDR, EMIT, SCM_VM_LREF21_CDR },
  /*119*/ { SCM_VM_LREF30_CDR, EMIT, SCM_VM_LREF30_CDR },
  /*120*/ { SCM_VM_CAAR, NEXT, 234 },
  /*121*/ { SCM_VM_CAAR_PUSH, EMIT, SCM_VM_CAAR_PUSH },
  /*122*/ { SCM_VM_CADR, NEXT, 232 },
  /*123*/ { SCM_VM_CADR_PUSH, EMIT, SCM_VM_CADR_PUSH },
  /*124*/ { SCM_VM_CDAR, NEXT, 230 },
  /*125*/ { SCM_VM_CDAR_PUSH, EMIT, SCM_VM_CDAR_PUSH },
  /*126*/ { SCM_VM_CDDR, NEXT, 228 },
  /*127*/ { SCM_VM_CDDR_PUSH, EMIT, SCM_VM_CDDR_PUSH },
  /*128*/ { SCM_VM_LIST, EMIT, SCM_VM_LIST },
  /*129*/ { SCM_VM_LIST_STAR, EMIT, SCM_VM_LIST_STAR },
  /*130*/ { SCM_VM_LENGTH, EMIT, SCM_VM_LENGTH },
  /*131*/ { SCM_VM_MEMQ, EMIT, SCM_VM_MEMQ },
  /*132*/ { SCM_VM_MEMV, EMIT, SCM_VM_MEMV },
  /*133*/ { SCM_VM_ASSQ, EMIT, SCM_VM_ASSQ },
  /*134*/ { SCM_VM_ASSV, EMIT, SCM_VM_ASSV },
  /*135*/ { SCM_VM_EQ, EMIT, SCM_VM_EQ },
  /*136*/ { SCM_VM_EQV, EMIT, SCM_VM_EQV },
  /*137*/ { SCM_VM_APPEND, EMIT, SCM_VM_APPEND },
  /*138*/ { SCM_VM_NOT, EMIT, SCM_VM_NOT },
  /*139*/ { SCM_VM_REVERSE, EMIT, SCM_VM_REVERSE },
  /*140*/ { SCM_VM_APPLY, EMIT, SCM_VM_APPLY },
  /*141*/ { SCM_VM_TAIL_APPLY, EMIT, SCM_VM_TAIL_APPLY },
  /*142*/ { SCM_VM_IS_A, EMIT, SCM_VM_IS_A },
  /*143*/ { SCM_VM_NULLP, EMIT, SCM_VM_NULLP },
  /*144*/ { SCM_VM_PAIRP, EMIT, SCM_VM_PAIRP },
  /*145*/ { SCM_VM_CHARP, EMIT, SCM_VM_CHARP },
  /*146*/ { SCM_VM_EOFP, EMIT, SCM_VM_EOFP },
  /*147*/ { SCM_VM_STRINGP, EMIT, SCM_VM_STRINGP },
  /*148*/ { SCM_VM_SYMBOLP, EMIT, SCM_VM_SYMBOLP },
  /*149*/ { SCM_VM_VECTORP, EMIT, SCM_VM_VECTORP },
  /*150*/ { SCM_VM_IDENTIFIERP, EMIT, SCM_VM_IDENTIFIERP },
  /*151*/ { SCM_VM_NUMBERP, EMIT, SCM_VM_NUMBERP },
  /*152*/ { SCM_VM_REALP, EMIT, SCM_VM_REALP },
  /*153*/ { SCM_VM_SETTER, EMIT, SCM_VM_SETTER },
  /*154*/ { SCM_VM_VALUES, NEXT, 226 },
  /*155*/ { SCM_VM_VALUES_RET, EMIT, SCM_VM_VALUES_RET },
  /*156*/ { SCM_VM_VEC, EMIT, SCM_VM_VEC },
  /*157*/ { SCM_VM_LIST2VEC, EMIT, SCM_VM_LIST2VEC },
  /*158*/ { SCM_VM_APP_VEC, EMIT, SCM_VM_APP_VEC },
  /*159*/ { SCM_VM_VEC_LEN, EMIT, SCM_VM_VEC_LEN },
  /*160*/ { SCM_VM_VEC_REF, EMIT, SCM_VM_VEC_REF },
  /*161*/ { SCM_VM_VEC_SET, EMIT, SCM_VM_VEC_SET },
  /*162*/ { SCM_VM_VEC_REFI, EMIT, SCM_VM_VEC_REFI },
  /*163*/ { SCM_VM_VEC_SETI, EMIT, SCM_VM_VEC_SETI },
  /*164*/ { SCM_VM_UVEC_REF, EMIT, SCM_VM_UVEC_REF },
  /*165*/ { SCM_VM_NUMEQ2, EMIT, SCM_VM_NUMEQ2 },
  /*166*/ { SCM_VM_NUMLT2, EMIT, SCM_VM_NUMLT2 },
  /*167*/ { SCM_VM_NUMLE2, EMIT, SCM_VM_NUMLE2 },
  /*168*/ { SCM_VM_NUMGT2, EMIT, SCM_VM_NUMGT2 },
  /*169*/ { SCM_VM_NUMGE2, EMIT, SCM_VM_NUMGE2 },
  /*170*/ { SCM_VM_NUMADD2, EMIT, SCM_VM_NUMADD2 },
  /*171*/ { SCM_VM_NUMSUB2, EMIT, SCM_VM_NUMSUB2 },
  /*172*/ { SCM_VM_NUMMUL2, EMIT, SCM_VM_NUMMUL2 },
  /*173*/ { SCM_VM_NUMDIV2, EMIT, SCM_VM_NUMDIV2 },
  /*174*/ { SCM_VM_LREF_VAL0_NUMADD2, EMIT, SCM_VM_LREF_VAL0_NUMADD2 },
  /*175*/ { SCM_VM_NEGATE, EMIT, SCM_VM_NEGATE },
  /*176*/ { SCM_VM_NUMIADD2, EMIT, SCM_VM_NUMIADD2 },
  /*177*/ { SCM_VM_NUMISUB2, EMIT, SCM_VM_NUMISUB2 },
  /*178*/ { SCM_VM_NUMIMUL2, EMIT, SCM_VM_NUMIMUL2 },
  /*179*/ { SCM_VM_NUMIDIV2, EMIT, SCM_VM_NUMIDIV2 },
  /*180*/ { SCM_VM_NUMADDI, EMIT, SCM_VM_NUMADDI },
  /*181*/ { SCM_VM_LREF0_NUMADDI, EMIT, SCM_VM_LREF0_NUMADDI },
  /*182*/ { SCM_VM_LREF1_NUMADDI, EMIT, SCM_VM_LREF1_NUMADDI },
  /*183*/ { SCM_VM_LREF2_NUMADDI, EMIT, SCM_VM_LREF2_NUMADDI },
  /*184*/ { SCM_VM_LREF3_NUMADDI, EMIT, SCM_VM_LREF3_NUMADDI },
  /*185*/ { SCM_VM_LREF10_NUMADDI, EMIT, SCM_VM_LREF10_NUMADDI },
  /*186*/ { SCM_VM_LREF11_NUMADDI, EMIT, SCM_VM_LREF11_NUMADDI },
  /*187*/ { SCM_VM_LREF12_NUMADDI, EMIT, SCM_VM_LREF12_NUMADDI },
  /*188*/ { SCM_VM_LREF20_NUMADDI, EMIT, SCM_VM_LREF20_NUMADDI },
  /*189*/ { SCM_VM_LREF21_NUMADDI, EMIT, SCM_VM_LREF21_NUMADDI },
  /*190*/ { SCM_VM_LREF30_NUMADDI, EMIT, SCM_VM_LREF30_NUMADDI },
  /*191*/ { SCM_VM_LREF0_NUMADDI_PUSH, EMIT, SCM_VM_LREF0_NUMADDI_PUSH },
  /*192*/ { SCM_VM_LREF1_NUMADDI_PUSH, EMIT, SCM_VM_LREF1_NUMADDI_PUSH },
  /*193*/ { SCM_VM_LREF2_NUMADDI_PUSH, EMIT, SCM_VM_LREF2_NUMADDI_PUSH },
  /*194*/ { SCM_VM_LREF3_NUMADDI_PUSH, EMIT, SCM_VM_LREF3_NUMADDI_PUSH },
  /*195*/ { SCM_VM_LREF10_NUMADDI_PUSH, EMIT, SCM_VM_LREF10_NUMADDI_PUSH },
  /*196*/ { SCM_VM_LREF11_NUMADDI_PUSH, EMIT, SCM_VM_LREF11_NUMADDI_PUSH },
  /*197*/ { SCM_VM_LREF12_NUMADDI_PUSH, EMIT, SCM_VM_LREF12_NUMADDI_PUSH },
  /*198*/ { SCM_VM_LREF20_NUMADDI_PUSH, EMIT, SCM_VM_LREF20_NUMADDI_PUSH },
  /*199*/ { SCM_VM_LREF21_NUMADDI_PUSH, EMIT, SCM_VM_LREF21_NUMADDI_PUSH },
  /*200*/ { SCM_VM_LREF30_NUMADDI_PUSH, EMIT, SCM_VM_LREF30_NUMADDI_PUSH },
  /*201*/ { SCM_VM_NUMSUBI, EMIT, SCM_VM_NUMSUBI },
  /*202*/ { SCM_VM_READ_CHAR, EMIT, SCM_VM_READ_CHAR },
  /*203*/ { SCM_VM_PEEK_CHAR, EMIT, SCM_VM_PEEK_CHAR },
  /*204*/ { SCM_VM_WRITE_CHAR, EMIT, SCM_VM_WRITE_CHAR },
  /*205*/ { SCM_VM_CURIN, EMIT, SCM_VM_CURIN },
  /*206*/ { SCM_VM_CUROUT, EMIT, SCM_VM_CUROUT },
  /*207*/ { SCM_VM_CURERR, EMIT, SCM_VM_CURERR },
  /*208*/ { SCM_VM_SLOT_REF, EMIT, SCM_VM_SLOT_REF },
  /*209*/ { SCM_VM_SLOT_SET, EMIT, SCM_VM_SLOT_SET },
  /*210*/ { SCM_VM_SLOT_REFC, EMIT, SCM_VM_SLOT_REFC },
  /*211*/ { SCM_VM_SLOT_SETC, EMIT, SCM_VM_SLOT_SETC },
  /*212*/ { SCM_VM_PUSH_HANDLERS, EMIT, SCM_VM_PUSH_HANDLERS },
  /*213*/ { SCM_VM_POP_HANDLERS, EMIT, SCM_VM_POP_HANDLERS },
  /*214*/ { SCM_VM_LREF_RET, EMIT, SCM_VM_LREF_RET },
  /*215*/ { SCM_VM_LREF0_RET, EMIT, SCM_VM_LREF0_RET },
  /*216*/ { SCM_VM_LREF1_RET, EMIT, SCM_VM_LREF1_RET },
  /*217*/ { SCM_VM_LREF2_RET, EMIT, SCM_VM_LREF2_RET },
  /*218*/ { SCM_VM_LREF3_RET, EMIT, SCM_VM_LREF3_RET },
  /*219*/ { SCM_VM_LREF10_RET, EMIT, SCM_VM_LREF10_RET },
  /*220*/ { SCM_VM_LREF11_RET, EMIT, SCM_VM_LREF11_RET },
  /*221*/ { SCM_VM_LREF12_RET, EMIT, SCM_VM_LREF12_RET },
  /*222*/ { SCM_VM_LREF20_RET, EMIT, SCM_VM_LREF20_RET },
  /*223*/ { SCM_VM_LREF21_RET, EMIT, SCM_VM_LREF21_RET },
  /*224*/ { SCM_VM_LREF30_RET, EMIT, SCM_VM_LREF30_RET },
  /*225*/ { SCM_VM_BOX, EMIT, SCM_VM_BOX },
/* State #27 (VALUES) [226] */
  /*226*/ { SCM_VM_RET, EMIT, SCM_VM_VALUES_RET },
  /*227*/ { -1, KEEP, SCM_VM_VALUES },
/* State #26 (CDDR) [228] */
  /*228*/ { SCM_VM_PUSH, EMIT, SCM_VM_CDDR_PUSH },
  /*229*/ { -1, KEEP, SCM_VM_CDDR },
/* State #25 (CDAR) [230] */
  /*230*/ { SCM_VM_PUSH, EMIT, SCM_VM_CDAR_PUSH },
  /*231*/ { -1, KEEP, SCM_VM_CDAR },
/* State #24 (CADR) [232] */
  /*232*/ { SCM_VM_PUSH, EMIT, SCM_VM_CADR_PUSH },
  /*233*/ { -1, KEEP, SCM_VM_CADR },
/* State #23 (CAAR) [234] */
  /*234*/ { SCM_VM_PUSH, EMIT, SCM_VM_CAAR_PUSH },
  /*235*/ { -1, KEEP, SCM_VM_CAAR },
/* State #22 (CDR) [236] */
  /*236*/ { SCM_VM_PUSH, EMIT, SCM_VM_CDR_PUSH },
  /*237*/ { -1, KEEP, SCM_VM_CDR },
/* State #21 (CAR) [238] */
  /*238*/ { SCM_VM_PUSH, EMIT, SCM_VM_CAR_PUSH },
  /*239*/ { -1, KEEP, SCM_VM_CAR },
/* State #20 (CONS) [240] */
  /*240*/ { SCM_VM_PUSH, EMIT, SCM_VM_CONS_PUSH },
  /*241*/ { -1, KEEP, SCM_VM_CONS },
/* State #18 (GREF) [242] */
  /*242*/ { SCM_VM_PUSH, EMIT, SCM_VM_GREF_PUSH },
  /*243*/ { SCM_VM_CALL, EMIT, SCM_VM_GREF_CALL },
  /*244*/ { SCM_VM_TAIL_CALL, EMIT, SCM_VM_GREF_TAIL_CALL },
  /*245*/ { -1, KEEP, SCM_VM_GREF },
/* State #17 (LREF30) [246] */
  /*246*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF30_PUSH },
  /*247*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF30_CAR },
  /*248*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF30_CDR },
  /*249*/ { SCM_VM_NUMADDI, NEXT, 252 },
  /*250*/ { SCM_VM_RET, EMIT, SCM_VM_LREF30_RET },
  /*251*/ { -1, KEEP, SCM_VM_LREF30 },
/* State #37 (LREF30 NUMADDI) [252] */
  /*252*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF30_NUMADDI_PUSH },
  /*253*/ { -1, KEEP, SCM_VM_LREF30_NUMADDI },
/* State #16 (LREF21) [254] */
  /*254*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF21_PUSH },
  /*255*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF21_CAR },
  /*256*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF21_CDR },
  /*257*/ { SCM_VM_NUMADDI, NEXT, 260 },
  /*258*/ { SCM_VM_RET, EMIT, SCM_VM_LREF21_RET },
  /*259*/ { -1, KEEP, SCM_VM_LREF21 },
/* State #36 (LREF21 NUMADDI) [260] */
  /*260*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF21_NUMADDI_PUSH },
  /*261*/ { -1, KEEP, SCM_VM_LREF21_NUMADDI },
/* State #15 (LREF20) [262] */
  /*262*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF20_PUSH },
  /*263*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF20_CAR },
  /*264*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF20_CDR },
  /*265*/ { SCM_VM_NUMADDI, NEXT, 268 },
  /*266*/ { SCM_VM_RET, EMIT, SCM_VM_LREF20_RET },
  /*267*/ { -1, KEEP, SCM_VM_LREF20 },
/* State #35 (LREF20 NUMADDI) [268] */
  /*268*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF20_NUMADDI_PUSH },
  /*269*/ { -1, KEEP, SCM_VM_LREF20_NUMADDI },
/* State #14 (LREF12) [270] */
  /*270*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF12_PUSH },
  /*271*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF12_CAR },
  /*272*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF12_CDR },
  /*273*/ { SCM_VM_NUMADDI, NEXT, 276 },
  /*274*/ { SCM_VM_RET, EMIT, SCM_VM_LREF12_RET },
  /*275*/ { -1, KEEP, SCM_VM_LREF12 },
/* State #34 (LREF12 NUMADDI) [276] */
  /*276*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF12_NUMADDI_PUSH },
  /*277*/ { -1, KEEP, SCM_VM_LREF12_NUMADDI },
/* State #13 (LREF11) [278] */
  /*278*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF11_PUSH },
  /*279*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF11_CAR },
  /*280*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF11_CDR },
  /*281*/ { SCM_VM_NUMADDI, NEXT, 284 },
  /*282*/ { SCM_VM_RET, EMIT, SCM_VM_LREF11_RET },
  /*283*/ { -1, KEEP, SCM_VM_LREF11 },
/* State #33 (LREF11 NUMADDI) [284] */
  /*284*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF11_NUMADDI_PUSH },
  /*285*/ { -1, KEEP, SCM_VM_LREF11_NUMADDI },
/* State #12 (LREF10) [286] */
  /*286*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF10_PUSH },
  /*287*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF10_CAR },
  /*288*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF10_CDR },
  /*289*/ { SCM_VM_NUMADDI, NEXT, 292 },
  /*290*/ { SCM_VM_RET, EMIT, SCM_VM_LREF10_RET },
  /*291*/ { -1, KEEP, SCM_VM_LREF10 },
/* State #32 (LREF10 NUMADDI) [292] */
  /*292*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF10_NUMADDI_PUSH },
  /*293*/ { -1, KEEP, SCM_VM_LREF10_NUMADDI },
/* State #11 (LREF3) [294] */
  /*294*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF3_PUSH },
  /*295*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF3_CAR },
  /*296*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF3_CDR },
  /*297*/ { SCM_VM_NUMADDI, NEXT, 300 },
  /*298*/ { SCM_VM_RET, EMIT, SCM_VM_LREF3_RET },
  /*299*/ { -1, KEEP, SCM_VM_LREF3 },
/* State #31 (LREF3 NUMADDI) [300] */
  /*300*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF3_NUMADDI_PUSH },
  /*301*/ { -1, KEEP, SCM_VM_LREF3_NUMADDI },
/* State #10 (LREF2) [302] */
  /*302*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF2_PUSH },
  /*303*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF2_CAR },
  /*304*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF2_CDR },
  /*305*/ { SCM_VM_NUMADDI, NEXT, 308 },
  /*306*/ { SCM_VM_RET, EMIT, SCM_VM_LREF2_RET },
  /*307*/ { -1, KEEP, SCM_VM_LREF2 },
/* State #30 (LREF2 NUMADDI) [308] */
  /*308*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF2_NUMADDI_PUSH },
  /*309*/ { -1, KEEP, SCM_VM_LREF2_NUMADDI },
/* State #9 (LREF1) [310] */
  /*310*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF1_PUSH },
  /*311*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF1_CAR },
  /*312*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF1_CDR },
  /*313*/ { SCM_VM_NUMADDI, NEXT, 316 },
  /*314*/ { SCM_VM_RET, EMIT, SCM_VM_LREF1_RET },
  /*315*/ { -1, KEEP, SCM_VM_LREF1 },
/* State #29 (LREF1 NUMADDI) [316] */
  /*316*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF1_NUMADDI_PUSH },
  /*317*/ { -1, KEEP, SCM_VM_LREF1_NUMADDI },
/* State #8 (LREF0) [318] */
  /*318*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF0_PUSH },
  /*319*/ { SCM_VM_CAR, EMIT, SCM_VM_LREF0_CAR },
  /*320*/ { SCM_VM_CDR, EMIT, SCM_VM_LREF0_CDR },
  /*321*/ { SCM_VM_NUMADDI, NEXT, 324 },
  /*322*/ { SCM_VM_RET, EMIT, SCM_VM_LREF0_RET },
  /*323*/ { -1, KEEP, SCM_VM_LREF0 },
/* State #28 (LREF0 NUMADDI) [324] */
  /*324*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF0_NUMADDI_PUSH },
  /*325*/ { -1, KEEP, SCM_VM_LREF0_NUMADDI },
/* State #7 (LREF) [326] */
  /*326*/ { SCM_VM_PUSH, EMIT, SCM_VM_LREF_PUSH },
  /*327*/ { SCM_VM_RET, EMIT, SCM_VM_LREF_RET },
  /*328*/ { -1, KEEP, SCM_VM_LREF },
/* State #6 (PUSH) [329] */
  /*329*/ { SCM_VM_PRE_CALL, EMIT, SCM_VM_PUSH_PRE_CALL },
  /*330*/ { SCM_VM_LOCAL_ENV, EMIT, SCM_VM_PUSH_LOCAL_ENV },
  /*331*/ { SCM_VM_GREF, NEXT, 333 },
  /*332*/ { -1, KEEP, SCM_VM_PUSH },
/* State #19 (PUSH GREF) [333] */
  /*333*/ { SCM_VM_CALL, EMIT, SCM_VM_PUSH_GREF_CALL },
  /*334*/ { SCM_VM_TAIL_CALL, EMIT, SCM_VM_PUSH_GREF_TAIL_CALL },
  /*335*/ { -1, KEEP, SCM_VM_PUSH_GREF },
/* State #5 (CONSTU) [336] */
  /*336*/ { SCM_VM_RET, EMIT, SCM_VM_CONSTU_RET },
  /*337*/ { -1, KEEP, SCM_VM_CONSTU },
/* State #4 (CONSTF) [338] */
  /*338*/ { SCM_VM_PUSH, EMIT, SCM_VM_CONSTF_PUSH },
  /*339*/ { SCM_VM_RET, EMIT, SCM_VM_CONSTF_RET },
  /*340*/ { -1, KEEP, SCM_VM_CONSTF },
/* State #3 (CONSTN) [341] */
  /*341*/ { SCM_VM_PUSH, EMIT, SCM_VM_CONSTN_PUSH },
  /*342*/ { -1, KEEP, SCM_VM_CONSTN },
/* State #2 (CONSTI) [343] */
  /*343*/ { SCM_VM_PUSH, EMIT, SCM_VM_CONSTI_PUSH },
  /*344*/ { -1, KEEP, SCM_VM_CONSTI },
/* State #1 (CONST) [345] */
  /*345*/ { SCM_VM_PUSH, EMIT, SCM_VM_CONST_PUSH },
  /*346*/ { SCM_VM_RET, EMIT, SCM_VM_CONST_RET },
  /*347*/ { -1, KEEP, SCM_VM_CONST },
#endif /*STATE_TABLE*/
#ifdef VMLOOP

label_NOP:
CASE(SCM_VM_NOP) 
{NEXT;}

label_CONST:
CASE(SCM_VM_CONST) 
{
#line 328 "vminsn.scm"
{ScmObj val;
FETCH_OPERAND(val);INCR_PC;
#line 331 "vminsn.scm"
{VAL0=(val);NEXT1;}}}

label_CONSTI:
CASE(SCM_VM_CONSTI) 
{
#line 334 "vminsn.scm"
{long cise__858=SCM_VM_INSN_ARG(code);{VAL0=(SCM_MAKE_INT(cise__858));NEXT1;}}}

label_CONSTN:
CASE(SCM_VM_CONSTN) 
{
#line 335 "vminsn.scm"
{VAL0=(SCM_NIL);NEXT1;}}

label_CONSTF:
CASE(SCM_VM_CONSTF) 
{
#line 336 "vminsn.scm"
{VAL0=(SCM_FALSE);NEXT1;}}

label_CONSTU:
CASE(SCM_VM_CONSTU) 
{
#line 337 "vminsn.scm"
{VAL0=(SCM_UNDEFINED);NEXT1;}}

label_CONST_PUSH:
CASE(SCM_VM_CONST_PUSH) 
{
#line 328 "vminsn.scm"
{ScmObj val;
FETCH_OPERAND(val);INCR_PC;
#line 331 "vminsn.scm"
{PUSH_ARG(val);NEXT1;}}}

label_CONSTI_PUSH:
CASE(SCM_VM_CONSTI_PUSH) 
{
#line 334 "vminsn.scm"
{long cise__859=SCM_VM_INSN_ARG(code);{PUSH_ARG(SCM_MAKE_INT(cise__859));NEXT1;}}}

label_CONSTN_PUSH:
CASE(SCM_VM_CONSTN_PUSH) 
{
#line 335 "vminsn.scm"
{PUSH_ARG(SCM_NIL);NEXT1;}}

label_CONSTF_PUSH:
CASE(SCM_VM_CONSTF_PUSH) 
{
#line 336 "vminsn.scm"
{PUSH_ARG(SCM_FALSE);NEXT1;}}

label_CONST_RET:
CASE(SCM_VM_CONST_RET) 
{
#line 328 "vminsn.scm"
{ScmObj val;
FETCH_OPERAND(val);INCR_PC;
#line 331 "vminsn.scm"
{VAL0=(val);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_CONSTF_RET:
CASE(SCM_VM_CONSTF_RET) 
{
#line 336 "vminsn.scm"
{VAL0=(SCM_FALSE);(vm)->numVals=(1);RETURN_OP();NEXT;}}

label_CONSTU_RET:
CASE(SCM_VM_CONSTU_RET) 
{
#line 337 "vminsn.scm"
{VAL0=(SCM_UNDEFINED);(vm)->numVals=(1);RETURN_OP();NEXT;}}

label_PUSH:
CASE(SCM_VM_PUSH) 
{
#line 353 "vminsn.scm"
{CHECK_STACK_PARANOIA(1);PUSH_ARG(VAL0);NEXT;}}

label_PRE_CALL:
CASE(SCM_VM_PRE_CALL) 
{
#line 360 "vminsn.scm"
{ScmWord* next;
CHECK_STACK_PARANOIA(CONT_FRAME_SIZE);
FETCH_LOCATION(next);
PUSH_CONT(next);INCR_PC;NEXT;}}

label_PUSH_PRE_CALL:
CASE(SCM_VM_PUSH_PRE_CALL) 
{PUSH_ARG(VAL0);}
{goto label_PRE_CALL;}

label_CHECK_STACK:
CASE(SCM_VM_CHECK_STACK) 
{
#line 374 "vminsn.scm"
{int reqstack=SCM_VM_INSN_ARG(code);
CHECK_STACK(reqstack);NEXT;}}

label_CALL:
CASE(SCM_VM_CALL) 
{
#line 383 "vminsn.scm"
{ScmObj nm;int argc;int proctype;
call_entry :; 
#undef APPLY_CALL

#include "./vmcall.c"

tail_apply_entry :; 
#define APPLY_CALL

#include "./vmcall.c"
}}

label_TAIL_CALL:
CASE(SCM_VM_TAIL_CALL) 
{
#line 396 "vminsn.scm"
{DISCARD_ENV();goto label_CALL;}}

label_JUMP:
CASE(SCM_VM_JUMP) 
{
#line 402 "vminsn.scm"
{FETCH_LOCATION(PC);NEXT;}}

label_RET:
CASE(SCM_VM_RET) 
{
#line 408 "vminsn.scm"
{RETURN_OP();NEXT;}}

label_DEFINE:
CASE(SCM_VM_DEFINE) 
{
#line 419 "vminsn.scm"
{ScmObj var;ScmObj val=VAL0;
FETCH_OPERAND(var);
VM_ASSERT(SCM_IDENTIFIERP(var));
SCM_FLONUM_ENSURE_MEM(val);INCR_PC;
#line 424 "vminsn.scm"
{ScmModule* mod=(SCM_IDENTIFIER(var))->module;ScmSymbol* name=
(SCM_IDENTIFIER(var))->name;
switch (SCM_VM_INSN_ARG(code)) {
case 0 : {Scm_MakeBinding(mod,name,val,0);
#line 542 "../lib/gauche/cgen/cise.scm"
break;}
#line 428 "vminsn.scm"
case 1 : case SCM_BINDING_CONST : {Scm_MakeBinding(mod,name,val,SCM_BINDING_CONST);
#line 542 "../lib/gauche/cgen/cise.scm"
break;}
#line 429 "vminsn.scm"
case SCM_BINDING_INLINABLE : {Scm_MakeBinding(mod,name,val,SCM_BINDING_INLINABLE);
#line 542 "../lib/gauche/cgen/cise.scm"
break;}}
#line 430 "vminsn.scm"
{VAL0=(SCM_OBJ(name));NEXT1;}}}}

label_CLOSURE:
CASE(SCM_VM_CLOSURE) 
{
#line 437 "vminsn.scm"
{ScmObj body;
FETCH_OPERAND(body);INCR_PC;
#line 440 "vminsn.scm"
{VAL0=(Scm_MakeClosure(body,get_env(vm)));NEXT1;}}}

label_LOCAL_ENV:
CASE(SCM_VM_LOCAL_ENV) 
{
#line 446 "vminsn.scm"
{CHECK_STACK_PARANOIA(ENV_SIZE(0));
FINISH_ENV(SCM_FALSE,ENV);NEXT;}}

label_PUSH_LOCAL_ENV:
CASE(SCM_VM_PUSH_LOCAL_ENV) 
{
#line 452 "vminsn.scm"
{CHECK_STACK_PARANOIA(ENV_SIZE(1));
PUSH_ARG(VAL0);
FINISH_ENV(SCM_FALSE,ENV);NEXT;}}

label_LOCAL_ENV_CLOSURES:
CASE(SCM_VM_LOCAL_ENV_CLOSURES) 
{ScmObj cise__861;
#line 470 "vminsn.scm"
{int nlocals=SCM_VM_INSN_ARG(code);ScmObj* z;ScmObj cp;ScmObj clo=SCM_UNDEFINED;ScmEnvFrame* e;
#line 472 "vminsn.scm"
FETCH_OPERAND(cp);INCR_PC;
#line 474 "vminsn.scm"
CHECK_STACK_PARANOIA(ENV_SIZE(nlocals));
{int i=0;int cise__860=nlocals;for (; (i)<(cise__860); (i)++){*((SP)++)=(SCM_UNDEFINED);}}
FINISH_ENV(SCM_FALSE,ENV);
e=(get_env(vm));
z=((((ScmObj* )(e)))-(nlocals));
SCM_FOR_EACH(cise__861,cp) {{ScmObj c=SCM_CAR(cise__861);
if (SCM_COMPILED_CODE_P(c)){
*((z)++)=(clo=(Scm_MakeClosure(c,e)));}else if(
SCM_PROCEDUREP(c)){*((z)++)=(c);clo=(c);} else {
*((z)++)=(c);}}}
{VAL0=(clo);NEXT1;}}}

label_POP_LOCAL_ENV:
CASE(SCM_VM_POP_LOCAL_ENV) 
{
#line 492 "vminsn.scm"
{ENV=((ENV)->up);NEXT;}}

label_LOCAL_ENV_JUMP:
CASE(SCM_VM_LOCAL_ENV_JUMP) 
{
#line 500 "vminsn.scm"
{int nargs=((int )((SP)-(ARGP)));int env_depth=
SCM_VM_INSN_ARG(code);ScmObj* to;ScmEnvFrame* tenv=ENV;
#line 513 "vminsn.scm"
while(((env_depth)--)>(0)){
SCM_ASSERT(tenv);
tenv=((tenv)->up);}
if (IN_STACK_P(((ScmObj* )(tenv)))){
if ((IN_STACK_P(((ScmObj* )(CONT))))&&(
(((ScmObj* )(CONT)))>(((ScmObj* )(tenv))))){
to=(CONT_FRAME_END(CONT));} else {
to=((((ScmObj* )(tenv)))+(ENV_HDR_SIZE));}} else {
#line 522 "vminsn.scm"
if (IN_STACK_P(((ScmObj* )(CONT)))){
to=(CONT_FRAME_END(CONT));} else {
to=((vm)->stackBase);}}
if (((nargs)>(0))&&((to)!=(ARGP))){{
{ScmObj* t=to;ScmObj* a=ARGP;
{int c=0;int cise__862=nargs;for (; (c)<(cise__862); (c)++){
*((t)++)=(*((a)++));}}}}}
ARGP=(to);
SP=((to)+(nargs));
if ((nargs)>(0)){
FINISH_ENV(SCM_FALSE,tenv);} else {
ENV=(tenv);}
FETCH_LOCATION(PC);NEXT;}}

label_LOCAL_ENV_CALL:
CASE(SCM_VM_LOCAL_ENV_CALL) 
{
#line 549 "vminsn.scm"
{int nargs=((int )((SP)-(ARGP)));
VM_ASSERT(SCM_CLOSUREP(VAL0));
if ((nargs)>(0)){
CHECK_STACK_PARANOIA(ENV_SIZE(0));
FINISH_ENV(SCM_FALSE,(SCM_CLOSURE(VAL0))->env);} else {
#line 555 "vminsn.scm"
ENV=((SCM_CLOSURE(VAL0))->env);
ARGP=(SP);}
(vm)->base=(SCM_COMPILED_CODE((SCM_CLOSURE(VAL0))->code));
PC=((vm)->base->code);
CHECK_STACK((vm)->base->maxstack);
SCM_PROF_COUNT_CALL(vm,SCM_OBJ((vm)->base));NEXT;}}

label_LOCAL_ENV_TAIL_CALL:
CASE(SCM_VM_LOCAL_ENV_TAIL_CALL) 
{
#line 564 "vminsn.scm"
{int nargs=((int )((SP)-(ARGP)));ScmObj* to;
VM_ASSERT(SCM_CLOSUREP(VAL0));
if (IN_STACK_P(((ScmObj* )(CONT)))){
to=(CONT_FRAME_END(CONT));} else {
to=((vm)->stackBase);}
if (((nargs)>(0))&&((to)!=(ARGP))){{
{ScmObj* t=to;ScmObj* a=ARGP;
{int c=0;int cise__863=nargs;for (; (c)<(cise__863); (c)++){
*((t)++)=(*((a)++));}}}}}
ARGP=(to);
SP=((to)+(nargs));
goto label_LOCAL_ENV_CALL;}}

label_BF:
CASE(SCM_VM_BF) 
{
#line 590 "vminsn.scm"
{if (SCM_FALSEP(VAL0)){FETCH_LOCATION(PC);} else {INCR_PC;}NEXT;}}

label_BT:
CASE(SCM_VM_BT) 
{
#line 591 "vminsn.scm"
{if (!(SCM_FALSEP(VAL0))){FETCH_LOCATION(PC);} else {INCR_PC;}NEXT;}}

label_BNEQ:
CASE(SCM_VM_BNEQ) 
{
#line 592 "vminsn.scm"
{ScmObj z;POP_ARG(z);{if (!(SCM_EQ(VAL0,z))){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}

label_BNEQV:
CASE(SCM_VM_BNEQV) 
{
#line 593 "vminsn.scm"
{ScmObj z;POP_ARG(z);{if (!(Scm_EqvP(VAL0,z))){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}

label_BNNULL:
CASE(SCM_VM_BNNULL) 
{
#line 594 "vminsn.scm"
{if (!(SCM_NULLP(VAL0))){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}

label_BNUMNE:
CASE(SCM_VM_BNUMNE) 
{
#line 596 "vminsn.scm"
{ScmObj y=VAL0;
{ScmObj x;POP_ARG(x);{if (!(Scm_NumEq(x,y))){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}

label_BNLT:
CASE(SCM_VM_BNLT) 
{
#line 598 "vminsn.scm"
{ScmObj G864;POP_ARG(G864);{ScmObj G865=VAL0;int r;if ((SCM_INTP(G864))&&(SCM_INTP(G865))){r=((((signed long )(((intptr_t )(G864)))))<(((signed long )(((intptr_t )(G865))))));}else if((SCM_FLONUMP(G864))&&(SCM_FLONUMP(G865))){r=((SCM_FLONUM_VALUE(G864))<(SCM_FLONUM_VALUE(G865)));} else {r=(Scm_NumLT(G864,G865));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}

label_BNLE:
CASE(SCM_VM_BNLE) 
{
#line 599 "vminsn.scm"
{ScmObj G866;POP_ARG(G866);{ScmObj G867=VAL0;int r;if ((SCM_INTP(G866))&&(SCM_INTP(G867))){r=((((signed long )(((intptr_t )(G866)))))<=(((signed long )(((intptr_t )(G867))))));}else if((SCM_FLONUMP(G866))&&(SCM_FLONUMP(G867))){r=((SCM_FLONUM_VALUE(G866))<=(SCM_FLONUM_VALUE(G867)));} else {r=(Scm_NumLE(G866,G867));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}

label_BNGT:
CASE(SCM_VM_BNGT) 
{
#line 600 "vminsn.scm"
{ScmObj G868;POP_ARG(G868);{ScmObj G869=VAL0;int r;if ((SCM_INTP(G868))&&(SCM_INTP(G869))){r=((((signed long )(((intptr_t )(G868)))))>(((signed long )(((intptr_t )(G869))))));}else if((SCM_FLONUMP(G868))&&(SCM_FLONUMP(G869))){r=((SCM_FLONUM_VALUE(G868))>(SCM_FLONUM_VALUE(G869)));} else {r=(Scm_NumGT(G868,G869));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}

label_BNGE:
CASE(SCM_VM_BNGE) 
{
#line 601 "vminsn.scm"
{ScmObj G870;POP_ARG(G870);{ScmObj G871=VAL0;int r;if ((SCM_INTP(G870))&&(SCM_INTP(G871))){r=((((signed long )(((intptr_t )(G870)))))>=(((signed long )(((intptr_t )(G871))))));}else if((SCM_FLONUMP(G870))&&(SCM_FLONUMP(G871))){r=((SCM_FLONUM_VALUE(G870))>=(SCM_FLONUM_VALUE(G871)));} else {r=(Scm_NumGE(G870,G871));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}

label_LREF_VAL0_BNUMNE:
CASE(SCM_VM_LREF_VAL0_BNUMNE) 
{
#line 607 "vminsn.scm"
{
#line 596 "vminsn.scm"
{ScmObj y=VAL0;
{int G872=SCM_VM_INSN_ARG0(code);int G873=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G874=ENV;ScmObj x;switch (G872) {case 4 : {G874=((G874)->up);}case 3 : {G874=((G874)->up);}case 2 : {G874=((G874)->up);}case 1 : {G874=((G874)->up);}case 0 : {{ScmObj G875=ENV_DATA(G874,G873);if (SCM_BOXP(G875)){x=(SCM_BOX_VALUE(G875));} else {x=(G875);}}break;}default: {while(((G872)--)>(0)){G874=((G874)->up);}{ScmObj G876=ENV_DATA(G874,G873);if (SCM_BOXP(G876)){x=(SCM_BOX_VALUE(G876));} else {x=(G876);}}break;}}{if (!(Scm_NumEq(x,y))){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}}

label_LREF_VAL0_BNLT:
CASE(SCM_VM_LREF_VAL0_BNLT) 
{
#line 608 "vminsn.scm"
{
#line 598 "vminsn.scm"
{int G879=SCM_VM_INSN_ARG0(code);int G880=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G881=ENV;ScmObj G877;switch (G879) {case 4 : {G881=((G881)->up);}case 3 : {G881=((G881)->up);}case 2 : {G881=((G881)->up);}case 1 : {G881=((G881)->up);}case 0 : {{ScmObj G882=ENV_DATA(G881,G880);if (SCM_BOXP(G882)){G877=(SCM_BOX_VALUE(G882));} else {G877=(G882);}}break;}default: {while(((G879)--)>(0)){G881=((G881)->up);}{ScmObj G883=ENV_DATA(G881,G880);if (SCM_BOXP(G883)){G877=(SCM_BOX_VALUE(G883));} else {G877=(G883);}}break;}}{ScmObj G878=VAL0;int r;if ((SCM_INTP(G877))&&(SCM_INTP(G878))){r=((((signed long )(((intptr_t )(G877)))))<(((signed long )(((intptr_t )(G878))))));}else if((SCM_FLONUMP(G877))&&(SCM_FLONUMP(G878))){r=((SCM_FLONUM_VALUE(G877))<(SCM_FLONUM_VALUE(G878)));} else {r=(Scm_NumLT(G877,G878));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}}

label_LREF_VAL0_BNLE:
CASE(SCM_VM_LREF_VAL0_BNLE) 
{
#line 609 "vminsn.scm"
{
#line 599 "vminsn.scm"
{int G886=SCM_VM_INSN_ARG0(code);int G887=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G888=ENV;ScmObj G884;switch (G886) {case 4 : {G888=((G888)->up);}case 3 : {G888=((G888)->up);}case 2 : {G888=((G888)->up);}case 1 : {G888=((G888)->up);}case 0 : {{ScmObj G889=ENV_DATA(G888,G887);if (SCM_BOXP(G889)){G884=(SCM_BOX_VALUE(G889));} else {G884=(G889);}}break;}default: {while(((G886)--)>(0)){G888=((G888)->up);}{ScmObj G890=ENV_DATA(G888,G887);if (SCM_BOXP(G890)){G884=(SCM_BOX_VALUE(G890));} else {G884=(G890);}}break;}}{ScmObj G885=VAL0;int r;if ((SCM_INTP(G884))&&(SCM_INTP(G885))){r=((((signed long )(((intptr_t )(G884)))))<=(((signed long )(((intptr_t )(G885))))));}else if((SCM_FLONUMP(G884))&&(SCM_FLONUMP(G885))){r=((SCM_FLONUM_VALUE(G884))<=(SCM_FLONUM_VALUE(G885)));} else {r=(Scm_NumLE(G884,G885));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}}

label_LREF_VAL0_BNGT:
CASE(SCM_VM_LREF_VAL0_BNGT) 
{
#line 610 "vminsn.scm"
{
#line 600 "vminsn.scm"
{int G893=SCM_VM_INSN_ARG0(code);int G894=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G895=ENV;ScmObj G891;switch (G893) {case 4 : {G895=((G895)->up);}case 3 : {G895=((G895)->up);}case 2 : {G895=((G895)->up);}case 1 : {G895=((G895)->up);}case 0 : {{ScmObj G896=ENV_DATA(G895,G894);if (SCM_BOXP(G896)){G891=(SCM_BOX_VALUE(G896));} else {G891=(G896);}}break;}default: {while(((G893)--)>(0)){G895=((G895)->up);}{ScmObj G897=ENV_DATA(G895,G894);if (SCM_BOXP(G897)){G891=(SCM_BOX_VALUE(G897));} else {G891=(G897);}}break;}}{ScmObj G892=VAL0;int r;if ((SCM_INTP(G891))&&(SCM_INTP(G892))){r=((((signed long )(((intptr_t )(G891)))))>(((signed long )(((intptr_t )(G892))))));}else if((SCM_FLONUMP(G891))&&(SCM_FLONUMP(G892))){r=((SCM_FLONUM_VALUE(G891))>(SCM_FLONUM_VALUE(G892)));} else {r=(Scm_NumGT(G891,G892));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}}

label_LREF_VAL0_BNGE:
CASE(SCM_VM_LREF_VAL0_BNGE) 
{
#line 611 "vminsn.scm"
{
#line 601 "vminsn.scm"
{int G900=SCM_VM_INSN_ARG0(code);int G901=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G902=ENV;ScmObj G898;switch (G900) {case 4 : {G902=((G902)->up);}case 3 : {G902=((G902)->up);}case 2 : {G902=((G902)->up);}case 1 : {G902=((G902)->up);}case 0 : {{ScmObj G903=ENV_DATA(G902,G901);if (SCM_BOXP(G903)){G898=(SCM_BOX_VALUE(G903));} else {G898=(G903);}}break;}default: {while(((G900)--)>(0)){G902=((G902)->up);}{ScmObj G904=ENV_DATA(G902,G901);if (SCM_BOXP(G904)){G898=(SCM_BOX_VALUE(G904));} else {G898=(G904);}}break;}}{ScmObj G899=VAL0;int r;if ((SCM_INTP(G898))&&(SCM_INTP(G899))){r=((((signed long )(((intptr_t )(G898)))))>=(((signed long )(((intptr_t )(G899))))));}else if((SCM_FLONUMP(G898))&&(SCM_FLONUMP(G899))){r=((SCM_FLONUM_VALUE(G898))>=(SCM_FLONUM_VALUE(G899)));} else {r=(Scm_NumGE(G898,G899));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}}

label_BNUMNEI:
CASE(SCM_VM_BNUMNEI) 
{
#line 620 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj v0=VAL0;
if (!(SCM_NUMBERP(v0))){{Scm_Error("%s required, but got %S","number",v0);}}
{if (
!(((SCM_INTP(v0))&&((SCM_INT_VALUE(v0))==(imm)))||(
(SCM_FLONUMP(v0))&&((SCM_FLONUM_VALUE(v0))==(imm))))){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}}

label_BNEQC:
CASE(SCM_VM_BNEQC) 
{
#line 627 "vminsn.scm"
{ScmObj z;FETCH_OPERAND(z);INCR_PC;{if (!(SCM_EQ(VAL0,z))){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}

label_BNEQVC:
CASE(SCM_VM_BNEQVC) 
{
#line 629 "vminsn.scm"
{ScmObj z;FETCH_OPERAND(z);INCR_PC;{if (!(Scm_EqvP(VAL0,z))){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}NEXT;}}}

label_RF:
CASE(SCM_VM_RF) 
{
#line 637 "vminsn.scm"
{if (SCM_FALSEP(VAL0)){{RETURN_OP();}}NEXT;}}

label_RT:
CASE(SCM_VM_RT) 
{
#line 638 "vminsn.scm"
{if (!(SCM_FALSEP(VAL0))){{RETURN_OP();}}NEXT;}}

label_RNEQ:
CASE(SCM_VM_RNEQ) 
{
#line 639 "vminsn.scm"
{ScmObj v;POP_ARG(v);
{if (!(SCM_EQ(VAL0,v))){{VAL0=(SCM_FALSE);(vm)->numVals=(1);RETURN_OP();}}NEXT;}}}

label_RNEQV:
CASE(SCM_VM_RNEQV) 
{
#line 641 "vminsn.scm"
{ScmObj v;POP_ARG(v);
{if (!(Scm_EqvP(VAL0,v))){{VAL0=(SCM_FALSE);(vm)->numVals=(1);RETURN_OP();}}NEXT;}}}

label_RNNULL:
CASE(SCM_VM_RNNULL) 
{
#line 643 "vminsn.scm"
{if (!(SCM_NULLP(VAL0))){{VAL0=(SCM_FALSE);(vm)->numVals=(1);RETURN_OP();}}NEXT;}}

label_RECEIVE:
CASE(SCM_VM_RECEIVE) 
{
#line 680 "vminsn.scm"
{int reqargs=SCM_VM_INSN_ARG0(code);int restarg=SCM_VM_INSN_ARG1(code);int size;int i=0;int argsize;ScmObj rest=SCM_NIL;ScmObj tail=SCM_NIL;ScmWord* nextpc;if (((vm)->numVals)<(reqargs)){{Scm_Error("received fewer values than expected");}}if ((!(restarg))&&(((vm)->numVals)>(reqargs))){{Scm_Error("received more values than expected");}}argsize=((reqargs)+(((restarg)?(1):(0))));size=((CONT_FRAME_SIZE)+(ENV_SIZE((reqargs)+(restarg))));
CHECK_STACK_PARANOIA(size);
FETCH_LOCATION(nextpc);INCR_PC;
#line 684 "vminsn.scm"
PUSH_CONT(nextpc);if ((reqargs)>(0)){PUSH_ARG(VAL0);(i)++;}else if((restarg)&&(((vm)->numVals)>(0))){SCM_APPEND1(rest,tail,VAL0);(i)++;}for (; (i)<(reqargs); (i)++){PUSH_ARG(((vm)->vals)[(i)-(1)]);}if (restarg){{for (; (i)<((vm)->numVals); (i)++){SCM_APPEND1(rest,tail,((vm)->vals)[(i)-(1)]);}PUSH_ARG(rest);}}FINISH_ENV(SCM_FALSE,ENV);NEXT1;}}

label_TAIL_RECEIVE:
CASE(SCM_VM_TAIL_RECEIVE) 
{
#line 692 "vminsn.scm"
{int reqargs=SCM_VM_INSN_ARG0(code);int restarg=SCM_VM_INSN_ARG1(code);int size;int i=0;int argsize;ScmObj rest=SCM_NIL;ScmObj tail=SCM_NIL;ScmWord* nextpc;if (((vm)->numVals)<(reqargs)){{Scm_Error("received fewer values than expected");}}if ((!(restarg))&&(((vm)->numVals)>(reqargs))){{Scm_Error("received more values than expected");}}argsize=((reqargs)+(((restarg)?(1):(0))));size=(ENV_SIZE((reqargs)+(restarg)));if ((reqargs)>(0)){PUSH_ARG(VAL0);(i)++;}else if((restarg)&&(((vm)->numVals)>(0))){SCM_APPEND1(rest,tail,VAL0);(i)++;}for (; (i)<(reqargs); (i)++){PUSH_ARG(((vm)->vals)[(i)-(1)]);}if (restarg){{for (; (i)<((vm)->numVals); (i)++){SCM_APPEND1(rest,tail,((vm)->vals)[(i)-(1)]);}PUSH_ARG(rest);}}FINISH_ENV(SCM_FALSE,ENV);NEXT1;}}

label_RECEIVE_ALL:
CASE(SCM_VM_RECEIVE_ALL) 
{
#line 703 "vminsn.scm"
{ScmWord* nextpc;
CHECK_STACK_PARANOIA(CONT_FRAME_SIZE);
FETCH_LOCATION(nextpc);INCR_PC;
#line 707 "vminsn.scm"
PUSH_CONT(nextpc);
goto label_TAIL_RECEIVE_ALL;}}

label_TAIL_RECEIVE_ALL:
CASE(SCM_VM_TAIL_RECEIVE_ALL) 
{
#line 713 "vminsn.scm"
{CHECK_STACK_PARANOIA(ENV_SIZE(((vm)->numVals)+(1)));
PUSH_ARG(VAL0);
{int i=0;int cise__905=((vm)->numVals)-(1);for (; (i)<(cise__905); (i)++){
PUSH_ARG(((vm)->vals)[i]);}}
FINISH_ENV(SCM_FALSE,ENV);NEXT;}}

label_VALUES_N:
CASE(SCM_VM_VALUES_N) 
{
#line 725 "vminsn.scm"
{
VM_ASSERT(ENV);
{int nvals=((int )((ENV)->size));ScmObj v;
(vm)->numVals=(nvals);
for (; (nvals)>(1); (nvals)--){
POP_ARG(((vm)->vals)[(nvals)-(1)]);}
POP_ARG(VAL0);NEXT;}}}

label_LSET:
CASE(SCM_VM_LSET) 
{
#line 738 "vminsn.scm"
{int dep=SCM_VM_INSN_ARG0(code);int off=
SCM_VM_INSN_ARG1(code);ScmEnvFrame* e=ENV;
#line 741 "vminsn.scm"
for (; (dep)>(0); (dep)--){
VM_ASSERT((e)!=(NULL));
e=((e)->up);}
VM_ASSERT((e)!=(NULL));
VM_ASSERT(((e)->size)>(off));
SCM_FLONUM_ENSURE_MEM(VAL0);
#line 748 "vminsn.scm"
{ScmObj box=ENV_DATA(e,off);
if (SCM_BOXP(box)){
SCM_BOX_SET(box,VAL0);} else {
ENV_DATA(e,off)=(VAL0);}}NEXT1;}}

label_GSET:
CASE(SCM_VM_GSET) 
{
#line 758 "vminsn.scm"
{ScmObj loc;
FETCH_OPERAND(loc);
if (
SCM_GLOCP(loc)){SCM_GLOC_SET(SCM_GLOC(loc),VAL0);}else if(
SCM_IDENTIFIERP(loc)){
#line 766 "vminsn.scm"
{ScmIdentifier* id=SCM_IDENTIFIER(loc);int limit=
#line 768 "vminsn.scm"
SCM_VM_RUNTIME_FLAG_IS_SET(vm,SCM_LIMIT_MODULE_MUTATION);ScmGloc* gloc=
#line 770 "vminsn.scm"
Scm_FindBinding((id)->module,(id)->name,
((limit)?(SCM_BINDING_STAY_IN_MODULE):(0)));
if ((gloc)==(NULL)){{
#line 774 "vminsn.scm"
if (limit){{
gloc=(Scm_FindBinding((id)->module,(id)->name,0));
if ((gloc)!=(NULL)){{
Scm_Error("can't mutate binding of %S, which is in another module",
#line 779 "vminsn.scm"
(id)->name);}}}}
#line 782 "vminsn.scm"
Scm_Error("symbol not defined: %S",loc);}}
SCM_GLOC_SET(gloc,VAL0);
#line 785 "vminsn.scm"
*(PC)=(SCM_WORD(gloc));}} else {
Scm_Error("GSET: can't be here");}INCR_PC;NEXT1;}}

label_LREF:
CASE(SCM_VM_LREF) 
{
#line 794 "vminsn.scm"
{int dep=SCM_VM_INSN_ARG0(code);int off=
SCM_VM_INSN_ARG1(code);ScmEnvFrame* e=ENV;
#line 797 "vminsn.scm"
for (; (dep)>(0); (dep)--){
VM_ASSERT((e)!=(NULL));
e=((e)->up);}
VM_ASSERT((e)!=(NULL));
VM_ASSERT(((e)->size)>(off));
#line 803 "vminsn.scm"
{ScmObj v=ENV_DATA(e,off);
if (SCM_BOXP(v)){
{VAL0=(SCM_BOX_VALUE(v));NEXT1;}} else {
{VAL0=(v);NEXT1;}}}}}

label_LREF0:
CASE(SCM_VM_LREF0) 
{
#line 815 "vminsn.scm"
{ScmObj G906=ENV_DATA(ENV,0);if (SCM_BOXP(G906)){{VAL0=(SCM_BOX_VALUE(G906));NEXT1;}} else {{VAL0=(G906);NEXT1;}}}}

label_LREF1:
CASE(SCM_VM_LREF1) 
{
#line 816 "vminsn.scm"
{ScmObj G907=ENV_DATA(ENV,1);if (SCM_BOXP(G907)){{VAL0=(SCM_BOX_VALUE(G907));NEXT1;}} else {{VAL0=(G907);NEXT1;}}}}

label_LREF2:
CASE(SCM_VM_LREF2) 
{
#line 817 "vminsn.scm"
{ScmObj G908=ENV_DATA(ENV,2);if (SCM_BOXP(G908)){{VAL0=(SCM_BOX_VALUE(G908));NEXT1;}} else {{VAL0=(G908);NEXT1;}}}}

label_LREF3:
CASE(SCM_VM_LREF3) 
{
#line 818 "vminsn.scm"
{ScmObj G909=ENV_DATA(ENV,3);if (SCM_BOXP(G909)){{VAL0=(SCM_BOX_VALUE(G909));NEXT1;}} else {{VAL0=(G909);NEXT1;}}}}

label_LREF10:
CASE(SCM_VM_LREF10) 
{
#line 819 "vminsn.scm"
{ScmObj G910=ENV_DATA((ENV)->up,0);if (SCM_BOXP(G910)){{VAL0=(SCM_BOX_VALUE(G910));NEXT1;}} else {{VAL0=(G910);NEXT1;}}}}

label_LREF11:
CASE(SCM_VM_LREF11) 
{
#line 820 "vminsn.scm"
{ScmObj G911=ENV_DATA((ENV)->up,1);if (SCM_BOXP(G911)){{VAL0=(SCM_BOX_VALUE(G911));NEXT1;}} else {{VAL0=(G911);NEXT1;}}}}

label_LREF12:
CASE(SCM_VM_LREF12) 
{
#line 821 "vminsn.scm"
{ScmObj G912=ENV_DATA((ENV)->up,2);if (SCM_BOXP(G912)){{VAL0=(SCM_BOX_VALUE(G912));NEXT1;}} else {{VAL0=(G912);NEXT1;}}}}

label_LREF20:
CASE(SCM_VM_LREF20) 
{
#line 822 "vminsn.scm"
{ScmObj G913=ENV_DATA(((ENV)->up)->up,0);if (SCM_BOXP(G913)){{VAL0=(SCM_BOX_VALUE(G913));NEXT1;}} else {{VAL0=(G913);NEXT1;}}}}

label_LREF21:
CASE(SCM_VM_LREF21) 
{
#line 823 "vminsn.scm"
{ScmObj G914=ENV_DATA(((ENV)->up)->up,1);if (SCM_BOXP(G914)){{VAL0=(SCM_BOX_VALUE(G914));NEXT1;}} else {{VAL0=(G914);NEXT1;}}}}

label_LREF30:
CASE(SCM_VM_LREF30) 
{
#line 824 "vminsn.scm"
{ScmObj G915=ENV_DATA((((ENV)->up)->up)->up,0);if (SCM_BOXP(G915)){{VAL0=(SCM_BOX_VALUE(G915));NEXT1;}} else {{VAL0=(G915);NEXT1;}}}}

label_LREF_PUSH:
CASE(SCM_VM_LREF_PUSH) 
{
#line 794 "vminsn.scm"
{int dep=SCM_VM_INSN_ARG0(code);int off=
SCM_VM_INSN_ARG1(code);ScmEnvFrame* e=ENV;
#line 797 "vminsn.scm"
for (; (dep)>(0); (dep)--){
VM_ASSERT((e)!=(NULL));
e=((e)->up);}
VM_ASSERT((e)!=(NULL));
VM_ASSERT(((e)->size)>(off));
#line 803 "vminsn.scm"
{ScmObj v=ENV_DATA(e,off);
if (SCM_BOXP(v)){
{PUSH_ARG(SCM_BOX_VALUE(v));NEXT1;}} else {
{PUSH_ARG(v);NEXT1;}}}}}

label_LREF0_PUSH:
CASE(SCM_VM_LREF0_PUSH) 
{
#line 815 "vminsn.scm"
{ScmObj G916=ENV_DATA(ENV,0);if (SCM_BOXP(G916)){{PUSH_ARG(SCM_BOX_VALUE(G916));NEXT1;}} else {{PUSH_ARG(G916);NEXT1;}}}}

label_LREF1_PUSH:
CASE(SCM_VM_LREF1_PUSH) 
{
#line 816 "vminsn.scm"
{ScmObj G917=ENV_DATA(ENV,1);if (SCM_BOXP(G917)){{PUSH_ARG(SCM_BOX_VALUE(G917));NEXT1;}} else {{PUSH_ARG(G917);NEXT1;}}}}

label_LREF2_PUSH:
CASE(SCM_VM_LREF2_PUSH) 
{
#line 817 "vminsn.scm"
{ScmObj G918=ENV_DATA(ENV,2);if (SCM_BOXP(G918)){{PUSH_ARG(SCM_BOX_VALUE(G918));NEXT1;}} else {{PUSH_ARG(G918);NEXT1;}}}}

label_LREF3_PUSH:
CASE(SCM_VM_LREF3_PUSH) 
{
#line 818 "vminsn.scm"
{ScmObj G919=ENV_DATA(ENV,3);if (SCM_BOXP(G919)){{PUSH_ARG(SCM_BOX_VALUE(G919));NEXT1;}} else {{PUSH_ARG(G919);NEXT1;}}}}

label_LREF10_PUSH:
CASE(SCM_VM_LREF10_PUSH) 
{
#line 819 "vminsn.scm"
{ScmObj G920=ENV_DATA((ENV)->up,0);if (SCM_BOXP(G920)){{PUSH_ARG(SCM_BOX_VALUE(G920));NEXT1;}} else {{PUSH_ARG(G920);NEXT1;}}}}

label_LREF11_PUSH:
CASE(SCM_VM_LREF11_PUSH) 
{
#line 820 "vminsn.scm"
{ScmObj G921=ENV_DATA((ENV)->up,1);if (SCM_BOXP(G921)){{PUSH_ARG(SCM_BOX_VALUE(G921));NEXT1;}} else {{PUSH_ARG(G921);NEXT1;}}}}

label_LREF12_PUSH:
CASE(SCM_VM_LREF12_PUSH) 
{
#line 821 "vminsn.scm"
{ScmObj G922=ENV_DATA((ENV)->up,2);if (SCM_BOXP(G922)){{PUSH_ARG(SCM_BOX_VALUE(G922));NEXT1;}} else {{PUSH_ARG(G922);NEXT1;}}}}

label_LREF20_PUSH:
CASE(SCM_VM_LREF20_PUSH) 
{
#line 822 "vminsn.scm"
{ScmObj G923=ENV_DATA(((ENV)->up)->up,0);if (SCM_BOXP(G923)){{PUSH_ARG(SCM_BOX_VALUE(G923));NEXT1;}} else {{PUSH_ARG(G923);NEXT1;}}}}

label_LREF21_PUSH:
CASE(SCM_VM_LREF21_PUSH) 
{
#line 823 "vminsn.scm"
{ScmObj G924=ENV_DATA(((ENV)->up)->up,1);if (SCM_BOXP(G924)){{PUSH_ARG(SCM_BOX_VALUE(G924));NEXT1;}} else {{PUSH_ARG(G924);NEXT1;}}}}

label_LREF30_PUSH:
CASE(SCM_VM_LREF30_PUSH) 
{
#line 824 "vminsn.scm"
{ScmObj G925=ENV_DATA((((ENV)->up)->up)->up,0);if (SCM_BOXP(G925)){{PUSH_ARG(SCM_BOX_VALUE(G925));NEXT1;}} else {{PUSH_ARG(G925);NEXT1;}}}}

label_GREF:
CASE(SCM_VM_GREF) 
{
#line 844 "vminsn.scm"
{ScmObj v;GLOBAL_REF(v);{VAL0=(v);NEXT1;}}}

label_GREF_PUSH:
CASE(SCM_VM_GREF_PUSH) 
{
#line 844 "vminsn.scm"
{ScmObj v;GLOBAL_REF(v);{PUSH_ARG(v);NEXT1;}}}

label_GREF_CALL:
CASE(SCM_VM_GREF_CALL) 
{
#line 844 "vminsn.scm"
{ScmObj v;GLOBAL_REF(v);{VAL0=(v);}}}
{goto label_CALL;}

label_GREF_TAIL_CALL:
CASE(SCM_VM_GREF_TAIL_CALL) 
{
#line 844 "vminsn.scm"
{ScmObj v;GLOBAL_REF(v);{VAL0=(v);}}}
{goto label_TAIL_CALL;}

label_PUSH_GREF:
CASE(SCM_VM_PUSH_GREF) 
{PUSH_ARG(VAL0);}
{goto label_GREF;}

label_PUSH_GREF_CALL:
CASE(SCM_VM_PUSH_GREF_CALL) 
{PUSH_ARG(VAL0);}
{goto label_GREF_CALL;}

label_PUSH_GREF_TAIL_CALL:
CASE(SCM_VM_PUSH_GREF_TAIL_CALL) 
{PUSH_ARG(VAL0);}
{goto label_GREF_TAIL_CALL;}

label_LREF0_PUSH_GREF:
CASE(SCM_VM_LREF0_PUSH_GREF) 
{{ScmObj v=ENV_DATA(ENV,0);PUSH_ARG(v);}}
{goto label_GREF;}

label_LREF0_PUSH_GREF_CALL:
CASE(SCM_VM_LREF0_PUSH_GREF_CALL) 
{{ScmObj v=ENV_DATA(ENV,0);PUSH_ARG(v);}}
{goto label_GREF_CALL;}

label_LREF0_PUSH_GREF_TAIL_CALL:
CASE(SCM_VM_LREF0_PUSH_GREF_TAIL_CALL) 
{{ScmObj v=ENV_DATA(ENV,0);PUSH_ARG(v);}}
{goto label_GREF_TAIL_CALL;}

label_PROMISE:
CASE(SCM_VM_PROMISE) 
{
#line 868 "vminsn.scm"
{VAL0=(Scm_MakePromise(FALSE,VAL0));NEXT1;}}

label_VALUES_APPLY:
CASE(SCM_VM_VALUES_APPLY) 
{ScmObj cise__927;
#line 879 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);
CHECK_STACK(ENV_SIZE(nargs));
{int i=0;int cise__926=nargs;for (; (i)<(cise__926); (i)++){
if ((i)>=((SCM_VM_MAX_VALUES)-(1))){{
SCM_FOR_EACH(cise__927,
((vm)->vals)[(SCM_VM_MAX_VALUES)-(1)]) {{ScmObj vv=SCM_CAR(cise__927);
#line 883 "vminsn.scm"
PUSH_ARG(vv);}}
#line 885 "vminsn.scm"
break;}}
PUSH_ARG(((vm)->vals)[i]);}}
goto label_TAIL_CALL;}}

label_CONS:
CASE(SCM_VM_CONS) 
{
#line 898 "vminsn.scm"
{ScmObj ca;POP_ARG(ca);{VAL0=(Scm_Cons(ca,VAL0));NEXT1;}}}

label_CONS_PUSH:
CASE(SCM_VM_CONS_PUSH) 
{
#line 898 "vminsn.scm"
{ScmObj ca;POP_ARG(ca);{PUSH_ARG(Scm_Cons(ca,VAL0));NEXT1;}}}

label_CAR:
CASE(SCM_VM_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=VAL0;if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_CAR_PUSH:
CASE(SCM_VM_CAR_PUSH) 
{
#line 902 "vminsn.scm"
{ScmObj v=VAL0;if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{PUSH_ARG(SCM_CAR(v));NEXT1;}}}

label_LREF0_CAR:
CASE(SCM_VM_LREF0_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA(ENV,0);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_LREF1_CAR:
CASE(SCM_VM_LREF1_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA(ENV,1);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_LREF2_CAR:
CASE(SCM_VM_LREF2_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA(ENV,2);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_LREF3_CAR:
CASE(SCM_VM_LREF3_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA(ENV,3);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_LREF10_CAR:
CASE(SCM_VM_LREF10_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,0);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_LREF11_CAR:
CASE(SCM_VM_LREF11_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,1);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_LREF12_CAR:
CASE(SCM_VM_LREF12_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,2);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_LREF20_CAR:
CASE(SCM_VM_LREF20_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA(((ENV)->up)->up,0);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_LREF21_CAR:
CASE(SCM_VM_LREF21_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA(((ENV)->up)->up,1);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_LREF30_CAR:
CASE(SCM_VM_LREF30_CAR) 
{
#line 902 "vminsn.scm"
{ScmObj v=ENV_DATA((((ENV)->up)->up)->up,0);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));NEXT1;}}}

label_CDR:
CASE(SCM_VM_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=VAL0;if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_CDR_PUSH:
CASE(SCM_VM_CDR_PUSH) 
{
#line 907 "vminsn.scm"
{ScmObj v=VAL0;if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{PUSH_ARG(SCM_CDR(v));NEXT1;}}}

label_LREF0_CDR:
CASE(SCM_VM_LREF0_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA(ENV,0);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_LREF1_CDR:
CASE(SCM_VM_LREF1_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA(ENV,1);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_LREF2_CDR:
CASE(SCM_VM_LREF2_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA(ENV,2);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_LREF3_CDR:
CASE(SCM_VM_LREF3_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA(ENV,3);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_LREF10_CDR:
CASE(SCM_VM_LREF10_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,0);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_LREF11_CDR:
CASE(SCM_VM_LREF11_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,1);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_LREF12_CDR:
CASE(SCM_VM_LREF12_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,2);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_LREF20_CDR:
CASE(SCM_VM_LREF20_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA(((ENV)->up)->up,0);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_LREF21_CDR:
CASE(SCM_VM_LREF21_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA(((ENV)->up)->up,1);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_LREF30_CDR:
CASE(SCM_VM_LREF30_CDR) 
{
#line 907 "vminsn.scm"
{ScmObj v=ENV_DATA((((ENV)->up)->up)->up,0);if (SCM_BOXP(v)){v=(SCM_BOX_VALUE(v));}if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));NEXT1;}}}

label_CAAR:
CASE(SCM_VM_CAAR) 
{
#line 919 "vminsn.scm"
{ScmObj obj=VAL0;if (!(SCM_PAIRP(obj))){{Scm_Error("%s required, but got %S","pair",obj);}}{ScmObj obj2=SCM_CAR(obj);if (!(SCM_PAIRP(obj2))){{Scm_Error("%s required, but got %S","pair",obj2);}}{VAL0=(SCM_CAR(obj2));NEXT1;}}}}

label_CAAR_PUSH:
CASE(SCM_VM_CAAR_PUSH) 
{
#line 919 "vminsn.scm"
{ScmObj obj=VAL0;if (!(SCM_PAIRP(obj))){{Scm_Error("%s required, but got %S","pair",obj);}}{ScmObj obj2=SCM_CAR(obj);if (!(SCM_PAIRP(obj2))){{Scm_Error("%s required, but got %S","pair",obj2);}}{PUSH_ARG(SCM_CAR(obj2));NEXT1;}}}}

label_CADR:
CASE(SCM_VM_CADR) 
{
#line 921 "vminsn.scm"
{ScmObj obj=VAL0;if (!(SCM_PAIRP(obj))){{Scm_Error("%s required, but got %S","pair",obj);}}{ScmObj obj2=SCM_CDR(obj);if (!(SCM_PAIRP(obj2))){{Scm_Error("%s required, but got %S","pair",obj2);}}{VAL0=(SCM_CAR(obj2));NEXT1;}}}}

label_CADR_PUSH:
CASE(SCM_VM_CADR_PUSH) 
{
#line 921 "vminsn.scm"
{ScmObj obj=VAL0;if (!(SCM_PAIRP(obj))){{Scm_Error("%s required, but got %S","pair",obj);}}{ScmObj obj2=SCM_CDR(obj);if (!(SCM_PAIRP(obj2))){{Scm_Error("%s required, but got %S","pair",obj2);}}{PUSH_ARG(SCM_CAR(obj2));NEXT1;}}}}

label_CDAR:
CASE(SCM_VM_CDAR) 
{
#line 923 "vminsn.scm"
{ScmObj obj=VAL0;if (!(SCM_PAIRP(obj))){{Scm_Error("%s required, but got %S","pair",obj);}}{ScmObj obj2=SCM_CAR(obj);if (!(SCM_PAIRP(obj2))){{Scm_Error("%s required, but got %S","pair",obj2);}}{VAL0=(SCM_CDR(obj2));NEXT1;}}}}

label_CDAR_PUSH:
CASE(SCM_VM_CDAR_PUSH) 
{
#line 923 "vminsn.scm"
{ScmObj obj=VAL0;if (!(SCM_PAIRP(obj))){{Scm_Error("%s required, but got %S","pair",obj);}}{ScmObj obj2=SCM_CAR(obj);if (!(SCM_PAIRP(obj2))){{Scm_Error("%s required, but got %S","pair",obj2);}}{PUSH_ARG(SCM_CDR(obj2));NEXT1;}}}}

label_CDDR:
CASE(SCM_VM_CDDR) 
{
#line 925 "vminsn.scm"
{ScmObj obj=VAL0;if (!(SCM_PAIRP(obj))){{Scm_Error("%s required, but got %S","pair",obj);}}{ScmObj obj2=SCM_CDR(obj);if (!(SCM_PAIRP(obj2))){{Scm_Error("%s required, but got %S","pair",obj2);}}{VAL0=(SCM_CDR(obj2));NEXT1;}}}}

label_CDDR_PUSH:
CASE(SCM_VM_CDDR_PUSH) 
{
#line 925 "vminsn.scm"
{ScmObj obj=VAL0;if (!(SCM_PAIRP(obj))){{Scm_Error("%s required, but got %S","pair",obj);}}{ScmObj obj2=SCM_CDR(obj);if (!(SCM_PAIRP(obj2))){{Scm_Error("%s required, but got %S","pair",obj2);}}{PUSH_ARG(SCM_CDR(obj2));NEXT1;}}}}

label_LIST:
CASE(SCM_VM_LIST) 
{
#line 929 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);ScmObj cp=SCM_NIL;ScmObj arg;
if ((nargs)>(0)){{
SCM_FLONUM_ENSURE_MEM(VAL0);
cp=(Scm_Cons(VAL0,cp));
while((--(nargs))>(0)){
POP_ARG(arg);
cp=(Scm_Cons(arg,cp));}}}
{VAL0=(cp);NEXT1;}}}

label_LIST_STAR:
CASE(SCM_VM_LIST_STAR) 
{
#line 939 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);ScmObj cp=SCM_NIL;ScmObj arg;
if ((nargs)>(0)){{
SCM_FLONUM_ENSURE_MEM(VAL0);
cp=(VAL0);
while((--(nargs))>(0)){
POP_ARG(arg);
cp=(Scm_Cons(arg,cp));}}}
{VAL0=(cp);NEXT1;}}}

label_LENGTH:
CASE(SCM_VM_LENGTH) 
{
#line 949 "vminsn.scm"
{int len=Scm_Length(VAL0);
if ((len)<(0)){{Scm_Error("proper list required, but got %S",VAL0);}}
{long cise__928=len;{VAL0=(SCM_MAKE_INT(cise__928));NEXT1;}}}}

label_MEMQ:
CASE(SCM_VM_MEMQ) 
{
#line 953 "vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(Scm_Memq(v,VAL0));NEXT1;}}}

label_MEMV:
CASE(SCM_VM_MEMV) 
{
#line 954 "vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(Scm_Memv(v,VAL0));NEXT1;}}}

label_ASSQ:
CASE(SCM_VM_ASSQ) 
{
#line 955 "vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(Scm_Assq(v,VAL0));NEXT1;}}}

label_ASSV:
CASE(SCM_VM_ASSV) 
{
#line 956 "vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(Scm_Assv(v,VAL0));NEXT1;}}}

label_EQ:
CASE(SCM_VM_EQ) 
{
#line 957 "vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(SCM_MAKE_BOOL(SCM_EQ(v,VAL0)));NEXT1;}}}

label_EQV:
CASE(SCM_VM_EQV) 
{
#line 958 "vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(SCM_MAKE_BOOL(Scm_EqvP(v,VAL0)));NEXT1;}}}

label_APPEND:
CASE(SCM_VM_APPEND) 
{
#line 961 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);ScmObj cp=SCM_NIL;ScmObj arg;
if ((nargs)>(0)){{
SCM_FLONUM_ENSURE_MEM(VAL0);
cp=(VAL0);
while((--(nargs))>(0)){
POP_ARG(arg);
if ((Scm_Length(arg))<(0)){{Scm_Error("list required, but got %S",arg);}}
cp=(Scm_Append2(arg,cp));}}}
{VAL0=(cp);NEXT1;}}}

label_NOT:
CASE(SCM_VM_NOT) 
{
#line 971 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_FALSEP(v)));NEXT1;}}}

label_REVERSE:
CASE(SCM_VM_REVERSE) 
{
#line 972 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(Scm_Reverse(v));NEXT1;}}}

label_APPLY:
CASE(SCM_VM_APPLY) 
{
#line 977 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);ScmObj cp;
SCM_FLONUM_ENSURE_MEM(VAL0);
while((--(nargs))>(1)){
POP_ARG(cp);
VAL0=(Scm_Cons(cp,VAL0));}
cp=(VAL0);
POP_ARG(VAL0);
TAIL_CALL_INSTRUCTION();
VAL0=(Scm_VMApply(VAL0,cp));NEXT1;}}

label_TAIL_APPLY:
CASE(SCM_VM_TAIL_APPLY) 
{
#line 1015 "vminsn.scm"
{int rargc=Scm_Length(VAL0);int nargc=
(SCM_VM_INSN_ARG(code))-(2);ScmObj proc=
*(((SP)-(nargc))-(1));
if ((rargc)<(0)){{Scm_Error("improper list not allowed: %S",VAL0);}}
while((nargc)>(0)){
*(((SP)-(nargc))-(1))=(*((SP)-(nargc)));
(nargc)--;}
#line 1024 "vminsn.scm"
if ((rargc)==(0)){{
(SP)--;
VAL0=(proc);
goto label_TAIL_CALL;}}
#line 1029 "vminsn.scm"
*((SP)-(1))=(VAL0);
VAL0=(proc);
DISCARD_ENV();
goto tail_apply_entry;}}

label_IS_A:
CASE(SCM_VM_IS_A) 
{
#line 1035 "vminsn.scm"
{ScmObj obj;POP_ARG(obj);
if (!(SCM_CLASSP(VAL0))){{Scm_Error("%s required, but got %S","class",VAL0);}}
{ScmClass* c=SCM_CLASS(VAL0);
#line 1039 "vminsn.scm"
if (!(SCM_FALSEP((Scm_ClassOf(obj))->redefined))){
CHECK_STACK(CONT_FRAME_SIZE);
PUSH_CONT(PC);
PC=(PC_TO_RETURN);
{VAL0=(Scm_VMIsA(obj,c));NEXT1;}} else {
{VAL0=(SCM_MAKE_BOOL(SCM_ISA(obj,c)));NEXT1;}}}}}

label_NULLP:
CASE(SCM_VM_NULLP) 
{
#line 1046 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_NULLP(v)));NEXT1;}}}

label_PAIRP:
CASE(SCM_VM_PAIRP) 
{
#line 1047 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_PAIRP(v)));NEXT1;}}}

label_CHARP:
CASE(SCM_VM_CHARP) 
{
#line 1048 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_CHARP(v)));NEXT1;}}}

label_EOFP:
CASE(SCM_VM_EOFP) 
{
#line 1049 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_EOFP(v)));NEXT1;}}}

label_STRINGP:
CASE(SCM_VM_STRINGP) 
{
#line 1050 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_STRINGP(v)));NEXT1;}}}

label_SYMBOLP:
CASE(SCM_VM_SYMBOLP) 
{
#line 1051 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_SYMBOLP(v)));NEXT1;}}}

label_VECTORP:
CASE(SCM_VM_VECTORP) 
{
#line 1052 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_VECTORP(v)));NEXT1;}}}

label_IDENTIFIERP:
CASE(SCM_VM_IDENTIFIERP) 
{
#line 1053 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_IDENTIFIERP(v)));NEXT1;}}}

label_NUMBERP:
CASE(SCM_VM_NUMBERP) 
{
#line 1054 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_NUMBERP(v)));NEXT1;}}}

label_REALP:
CASE(SCM_VM_REALP) 
{
#line 1055 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_REALP(v)));NEXT1;}}}

label_SETTER:
CASE(SCM_VM_SETTER) 
{
#line 1057 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(Scm_Setter(v));NEXT1;}}}

label_VALUES:
CASE(SCM_VM_VALUES) 
{
#line 1059 "vminsn.scm"
{
#line 302 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);int i=
(nargs)-(1);ScmObj v=VAL0;
#line 305 "vminsn.scm"
if ((nargs)>=(SCM_VM_MAX_VALUES)){{Scm_Error("values got too many args");}}
VM_ASSERT(((nargs)-(1))<=((SP)-((vm)->stackBase)));
if ((nargs)>(0)){{
for (; (i)>(0); (i)--){
((vm)->vals)[(i)-(1)]=(v);
POP_ARG(v);}}}
VAL0=(v);
(vm)->numVals=(nargs);}NEXT;}}

label_VALUES_RET:
CASE(SCM_VM_VALUES_RET) 
{
#line 1060 "vminsn.scm"
{
#line 302 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);int i=
(nargs)-(1);ScmObj v=VAL0;
#line 305 "vminsn.scm"
if ((nargs)>=(SCM_VM_MAX_VALUES)){{Scm_Error("values got too many args");}}
VM_ASSERT(((nargs)-(1))<=((SP)-((vm)->stackBase)));
if ((nargs)>(0)){{
for (; (i)>(0); (i)--){
((vm)->vals)[(i)-(1)]=(v);
POP_ARG(v);}}}
VAL0=(v);
(vm)->numVals=(nargs);}
#line 1060 "vminsn.scm"
RETURN_OP();NEXT;}}

label_VEC:
CASE(SCM_VM_VEC) 
{
#line 1063 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);int i=
(nargs)-(1);ScmObj vec=
Scm_MakeVector(nargs,SCM_UNDEFINED);
if ((nargs)>(0)){{
{ScmObj arg=VAL0;
for (; (i)>(0); (i)--){
SCM_FLONUM_ENSURE_MEM(arg);
SCM_VECTOR_ELEMENT(vec,i)=(arg);
POP_ARG(arg);}
SCM_FLONUM_ENSURE_MEM(arg);
SCM_VECTOR_ELEMENT(vec,0)=(arg);}}}
{VAL0=(vec);NEXT1;}}}

label_LIST2VEC:
CASE(SCM_VM_LIST2VEC) 
{
#line 1077 "vminsn.scm"
{ScmObj v=VAL0;{VAL0=(Scm_ListToVector(v,0,-1));NEXT1;}}}

label_APP_VEC:
CASE(SCM_VM_APP_VEC) 
{
#line 1080 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);ScmObj cp=SCM_NIL;ScmObj arg;
if ((nargs)>(0)){{
SCM_FLONUM_ENSURE_MEM(VAL0);
cp=(VAL0);
while((--(nargs))>(0)){
POP_ARG(arg);
if ((Scm_Length(arg))<(0)){{
Scm_Error("list required, but got %S",arg);}}
cp=(Scm_Append2(arg,cp));}
{VAL0=(Scm_ListToVector(cp,0,-1));NEXT1;}}}}}

label_VEC_LEN:
CASE(SCM_VM_VEC_LEN) 
{
#line 1092 "vminsn.scm"
{ScmObj v=VAL0;
if (!(SCM_VECTORP(v))){{Scm_Error("%s required, but got %S","vector",v);}}
{long cise__929=SCM_VECTOR_SIZE(v);{VAL0=(SCM_MAKE_INT(cise__929));NEXT1;}}}}

label_VEC_REF:
CASE(SCM_VM_VEC_REF) 
{
#line 1097 "vminsn.scm"
{ScmObj k=VAL0;
{ScmObj vec;POP_ARG(vec);
if (!(SCM_VECTORP(vec))){{Scm_Error("%s required, but got %S","vector",vec);}}
if (!(SCM_INTP(k))){{Scm_Error("%s required, but got %S","fixnum",k);}}
if (((SCM_INT_VALUE(k))<(0))||(
(SCM_INT_VALUE(k))>=(SCM_VECTOR_SIZE(vec)))){{
Scm_Error("vector-ref index out of range: %S",k);}}
{VAL0=(SCM_VECTOR_ELEMENT(vec,SCM_INT_VALUE(k)));NEXT1;}}}}

label_VEC_SET:
CASE(SCM_VM_VEC_SET) 
{
#line 1107 "vminsn.scm"
{ScmObj vec;ScmObj ind;
POP_ARG(ind);
POP_ARG(vec);
if (!(SCM_VECTORP(vec))){{Scm_Error("%s required, but got %S","vector",vec);}}
if (!(SCM_INTP(ind))){{Scm_Error("%s required, but got %S","fixnum",ind);}}
{int k=SCM_INT_VALUE(ind);ScmObj v=VAL0;
if (((k)<(0))||((k)>=(SCM_VECTOR_SIZE(vec)))){{
Scm_Error("vector-set! index out of range: %d",k);}}
SCM_FLONUM_ENSURE_MEM(v);
SCM_VECTOR_ELEMENT(vec,k)=(v);
{VAL0=(SCM_UNDEFINED);NEXT1;}}}}

label_VEC_REFI:
CASE(SCM_VM_VEC_REFI) 
{
#line 1121 "vminsn.scm"
{ScmObj vec=VAL0;
if (!(SCM_VECTORP(vec))){{Scm_Error("%s required, but got %S","vector",vec);}}
{int k=SCM_VM_INSN_ARG(code);
if (((k)<(0))||((k)>=(SCM_VECTOR_SIZE(vec)))){{
Scm_Error("vector-ref index out of range: %d",k);}}
{VAL0=(SCM_VECTOR_ELEMENT(vec,k));NEXT1;}}}}

label_VEC_SETI:
CASE(SCM_VM_VEC_SETI) 
{
#line 1129 "vminsn.scm"
{ScmObj vec;POP_ARG(vec);
if (!(SCM_VECTORP(vec))){{Scm_Error("%s required, but got %S","vector",vec);}}
{int k=SCM_VM_INSN_ARG(code);ScmObj v=VAL0;
if (((k)<(0))||((k)>=(SCM_VECTOR_SIZE(vec)))){{
Scm_Error("vector-set! index out of range: %d",k);}}
SCM_FLONUM_ENSURE_MEM(v);
SCM_VECTOR_ELEMENT(vec,k)=(v);
{VAL0=(SCM_UNDEFINED);NEXT1;}}}}

label_UVEC_REF:
CASE(SCM_VM_UVEC_REF) 
{
#line 1139 "vminsn.scm"
{ScmObj k=VAL0;int utype=
SCM_VM_INSN_ARG(code);
{ScmObj vec;POP_ARG(vec);
if (!(SCM_UVECTOR_SUBTYPE_P(vec,utype))){{
Scm_Error("%s required, but got %S",Scm_UVectorTypeName(utype),vec);}}
if (!(SCM_INTP(k))){{Scm_Error("%s required, but got %S","fixnum",k);}}
if (((SCM_INT_VALUE(k))<(0))||(
(SCM_INT_VALUE(k))>=(SCM_UVECTOR_SIZE(vec)))){{
Scm_Error("uvector-ref index out of range: %S",k);}}
{VAL0=(Scm_VMUVectorRef(SCM_UVECTOR(vec),utype,SCM_INT_VALUE(k),SCM_UNBOUND));NEXT1;}}}}

label_NUMEQ2:
CASE(SCM_VM_NUMEQ2) 
{
#line 1164 "vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if (
(SCM_INTP(VAL0))&&(SCM_INTP(arg))){{VAL0=(SCM_MAKE_BOOL((VAL0)==(arg)));NEXT1;}}else if(
(SCM_FLONUMP(VAL0))&&(SCM_FLONUMP(arg))){
{VAL0=(SCM_MAKE_BOOL((SCM_FLONUM_VALUE(VAL0))==(SCM_FLONUM_VALUE(arg))));NEXT1;}} else {
{VAL0=(SCM_MAKE_BOOL(Scm_NumEq(arg,VAL0)));NEXT1;}}}}

label_NUMLT2:
CASE(SCM_VM_NUMLT2) 
{
#line 1171 "vminsn.scm"
{ScmObj G930;POP_ARG(G930);{ScmObj G931=VAL0;int r;if ((SCM_INTP(G930))&&(SCM_INTP(G931))){r=((((signed long )(((intptr_t )(G930)))))<(((signed long )(((intptr_t )(G931))))));}else if((SCM_FLONUMP(G930))&&(SCM_FLONUMP(G931))){r=((SCM_FLONUM_VALUE(G930))<(SCM_FLONUM_VALUE(G931)));} else {r=(Scm_NumLT(G930,G931));}{VAL0=(SCM_MAKE_BOOL(r));NEXT1;}}}}

label_NUMLE2:
CASE(SCM_VM_NUMLE2) 
{
#line 1172 "vminsn.scm"
{ScmObj G932;POP_ARG(G932);{ScmObj G933=VAL0;int r;if ((SCM_INTP(G932))&&(SCM_INTP(G933))){r=((((signed long )(((intptr_t )(G932)))))<=(((signed long )(((intptr_t )(G933))))));}else if((SCM_FLONUMP(G932))&&(SCM_FLONUMP(G933))){r=((SCM_FLONUM_VALUE(G932))<=(SCM_FLONUM_VALUE(G933)));} else {r=(Scm_NumLE(G932,G933));}{VAL0=(SCM_MAKE_BOOL(r));NEXT1;}}}}

label_NUMGT2:
CASE(SCM_VM_NUMGT2) 
{
#line 1173 "vminsn.scm"
{ScmObj G934;POP_ARG(G934);{ScmObj G935=VAL0;int r;if ((SCM_INTP(G934))&&(SCM_INTP(G935))){r=((((signed long )(((intptr_t )(G934)))))>(((signed long )(((intptr_t )(G935))))));}else if((SCM_FLONUMP(G934))&&(SCM_FLONUMP(G935))){r=((SCM_FLONUM_VALUE(G934))>(SCM_FLONUM_VALUE(G935)));} else {r=(Scm_NumGT(G934,G935));}{VAL0=(SCM_MAKE_BOOL(r));NEXT1;}}}}

label_NUMGE2:
CASE(SCM_VM_NUMGE2) 
{
#line 1174 "vminsn.scm"
{ScmObj G936;POP_ARG(G936);{ScmObj G937=VAL0;int r;if ((SCM_INTP(G936))&&(SCM_INTP(G937))){r=((((signed long )(((intptr_t )(G936)))))>=(((signed long )(((intptr_t )(G937))))));}else if((SCM_FLONUMP(G936))&&(SCM_FLONUMP(G937))){r=((SCM_FLONUM_VALUE(G936))>=(SCM_FLONUM_VALUE(G937)));} else {r=(Scm_NumGE(G936,G937));}{VAL0=(SCM_MAKE_BOOL(r));NEXT1;}}}}

label_NUMADD2:
CASE(SCM_VM_NUMADD2) 
{
#line 1177 "vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if (
(SCM_INTP(arg))&&(SCM_INTP(VAL0))){
{long cise__939=(SCM_INT_VALUE(arg))+(SCM_INT_VALUE(VAL0));if (SCM_SMALL_INT_FITS(cise__939)){{VAL0=(SCM_MAKE_INT(cise__939));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__939));NEXT1;}}}}else if(
(SCM_FLONUMP(arg))&&(SCM_FLONUMP(VAL0))){
{double cise__938=(SCM_FLONUM_VALUE(arg))+(SCM_FLONUM_VALUE(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__938));NEXT1;}}} else {
{VAL0=(Scm_Add(arg,VAL0));NEXT1;}}}}

label_NUMSUB2:
CASE(SCM_VM_NUMSUB2) 
{
#line 1186 "vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if (
(SCM_INTP(arg))&&(SCM_INTP(VAL0))){
{long cise__941=(SCM_INT_VALUE(arg))-(SCM_INT_VALUE(VAL0));if (SCM_SMALL_INT_FITS(cise__941)){{VAL0=(SCM_MAKE_INT(cise__941));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__941));NEXT1;}}}}else if(
(SCM_FLONUMP(arg))&&(SCM_FLONUMP(VAL0))){
{double cise__940=(SCM_FLONUM_VALUE(arg))-(SCM_FLONUM_VALUE(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__940));NEXT1;}}} else {
{VAL0=(Scm_Sub(arg,VAL0));NEXT1;}}}}

label_NUMMUL2:
CASE(SCM_VM_NUMMUL2) 
{
#line 1195 "vminsn.scm"
{ScmObj arg;POP_ARG(arg);
#line 1199 "vminsn.scm"
if (((SCM_FLONUMP(arg))&&(SCM_REALP(VAL0)))||(
(SCM_FLONUMP(VAL0))&&(SCM_REALP(arg)))){
{double cise__942=(Scm_GetDouble(arg))*(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__942));NEXT1;}}} else {
{VAL0=(Scm_Mul(arg,VAL0));NEXT1;}}}}

label_NUMDIV2:
CASE(SCM_VM_NUMDIV2) 
{
#line 1205 "vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if (((SCM_FLONUMP(arg))&&(SCM_REALP(VAL0)))||(
(SCM_FLONUMP(VAL0))&&(SCM_REALP(arg)))){
{double cise__943=(Scm_GetDouble(arg))/(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__943));NEXT1;}}} else {
{VAL0=(Scm_Div(arg,VAL0));NEXT1;}}}}

label_LREF_VAL0_NUMADD2:
CASE(SCM_VM_LREF_VAL0_NUMADD2) 
{
#line 1211 "vminsn.scm"
{
#line 1177 "vminsn.scm"
{int G944=SCM_VM_INSN_ARG0(code);int G945=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G946=ENV;ScmObj arg;switch (G944) {case 4 : {G946=((G946)->up);}case 3 : {G946=((G946)->up);}case 2 : {G946=((G946)->up);}case 1 : {G946=((G946)->up);}case 0 : {{ScmObj G947=ENV_DATA(G946,G945);if (SCM_BOXP(G947)){arg=(SCM_BOX_VALUE(G947));} else {arg=(G947);}}break;}default: {while(((G944)--)>(0)){G946=((G946)->up);}{ScmObj G948=ENV_DATA(G946,G945);if (SCM_BOXP(G948)){arg=(SCM_BOX_VALUE(G948));} else {arg=(G948);}}break;}}
if (
(SCM_INTP(arg))&&(SCM_INTP(VAL0))){
{long cise__950=(SCM_INT_VALUE(arg))+(SCM_INT_VALUE(VAL0));if (SCM_SMALL_INT_FITS(cise__950)){{VAL0=(SCM_MAKE_INT(cise__950));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__950));NEXT1;}}}}else if(
(SCM_FLONUMP(arg))&&(SCM_FLONUMP(VAL0))){
{double cise__949=(SCM_FLONUM_VALUE(arg))+(SCM_FLONUM_VALUE(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__949));NEXT1;}}} else {
{VAL0=(Scm_Add(arg,VAL0));NEXT1;}}}}}

label_NEGATE:
CASE(SCM_VM_NEGATE) 
{
#line 1214 "vminsn.scm"
{ScmObj v=VAL0;
if (
SCM_INTP(v)){{long cise__952=-(SCM_INT_VALUE(v));if (SCM_SMALL_INT_FITS(cise__952)){{VAL0=(SCM_MAKE_INT(cise__952));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__952));NEXT1;}}}}else if(
SCM_FLONUMP(v)){{double cise__951=-(Scm_GetDouble(v));{VAL0=(Scm_VMReturnFlonum(cise__951));NEXT1;}}} else {
{VAL0=(Scm_Negate(v));NEXT1;}}}}

label_NUMIADD2:
CASE(SCM_VM_NUMIADD2) 
{
#line 1221 "vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if ((SCM_REALP(arg))&&(SCM_REALP(VAL0))){
{double cise__953=(Scm_GetDouble(arg))+(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__953));NEXT1;}}} else {
{VAL0=(Scm_Add(Scm_Inexact(arg),
Scm_Inexact(VAL0)));NEXT1;}}}}

label_NUMISUB2:
CASE(SCM_VM_NUMISUB2) 
{
#line 1228 "vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if ((SCM_REALP(arg))&&(SCM_REALP(VAL0))){
{double cise__954=(Scm_GetDouble(arg))-(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__954));NEXT1;}}} else {
{VAL0=(Scm_Sub(Scm_Inexact(arg),Scm_Inexact(VAL0)));NEXT1;}}}}

label_NUMIMUL2:
CASE(SCM_VM_NUMIMUL2) 
{
#line 1234 "vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if ((SCM_REALP(arg))&&(SCM_REALP(VAL0))){
{double cise__955=(Scm_GetDouble(arg))*(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__955));NEXT1;}}} else {
{VAL0=(Scm_Mul(Scm_Inexact(arg),Scm_Inexact(VAL0)));NEXT1;}}}}

label_NUMIDIV2:
CASE(SCM_VM_NUMIDIV2) 
{
#line 1240 "vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if ((SCM_REALP(arg))&&(SCM_REALP(VAL0))){
{double cise__956=(Scm_GetDouble(arg))/(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__956));NEXT1;}}} else {
{VAL0=(Scm_Div(Scm_Inexact(arg),Scm_Inexact(VAL0)));NEXT1;}}}}

label_NUMADDI:
CASE(SCM_VM_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=VAL0;
if (SCM_INTP(arg)){{long cise__958=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__958)){{VAL0=(SCM_MAKE_INT(cise__958));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__958));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__957=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__957));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF0_NUMADDI:
CASE(SCM_VM_LREF0_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,0);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__960=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__960)){{VAL0=(SCM_MAKE_INT(cise__960));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__960));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__959=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__959));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF1_NUMADDI:
CASE(SCM_VM_LREF1_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,1);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__962=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__962)){{VAL0=(SCM_MAKE_INT(cise__962));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__962));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__961=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__961));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF2_NUMADDI:
CASE(SCM_VM_LREF2_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,2);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__964=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__964)){{VAL0=(SCM_MAKE_INT(cise__964));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__964));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__963=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__963));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF3_NUMADDI:
CASE(SCM_VM_LREF3_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,3);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__966=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__966)){{VAL0=(SCM_MAKE_INT(cise__966));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__966));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__965=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__965));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF10_NUMADDI:
CASE(SCM_VM_LREF10_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,0);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__968=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__968)){{VAL0=(SCM_MAKE_INT(cise__968));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__968));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__967=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__967));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF11_NUMADDI:
CASE(SCM_VM_LREF11_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,1);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__970=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__970)){{VAL0=(SCM_MAKE_INT(cise__970));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__970));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__969=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__969));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF12_NUMADDI:
CASE(SCM_VM_LREF12_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,2);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__972=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__972)){{VAL0=(SCM_MAKE_INT(cise__972));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__972));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__971=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__971));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF20_NUMADDI:
CASE(SCM_VM_LREF20_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(((ENV)->up)->up,0);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__974=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__974)){{VAL0=(SCM_MAKE_INT(cise__974));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__974));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__973=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__973));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF21_NUMADDI:
CASE(SCM_VM_LREF21_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(((ENV)->up)->up,1);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__976=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__976)){{VAL0=(SCM_MAKE_INT(cise__976));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__976));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__975=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__975));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF30_NUMADDI:
CASE(SCM_VM_LREF30_NUMADDI) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((((ENV)->up)->up)->up,0);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__978=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__978)){{VAL0=(SCM_MAKE_INT(cise__978));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__978));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__977=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__977));NEXT1;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF0_NUMADDI_PUSH:
CASE(SCM_VM_LREF0_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,0);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__980=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__980)){{PUSH_ARG(SCM_MAKE_INT(cise__980));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__980));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__979=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__979));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF1_NUMADDI_PUSH:
CASE(SCM_VM_LREF1_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,1);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__982=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__982)){{PUSH_ARG(SCM_MAKE_INT(cise__982));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__982));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__981=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__981));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF2_NUMADDI_PUSH:
CASE(SCM_VM_LREF2_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,2);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__984=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__984)){{PUSH_ARG(SCM_MAKE_INT(cise__984));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__984));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__983=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__983));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF3_NUMADDI_PUSH:
CASE(SCM_VM_LREF3_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,3);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__986=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__986)){{PUSH_ARG(SCM_MAKE_INT(cise__986));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__986));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__985=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__985));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF10_NUMADDI_PUSH:
CASE(SCM_VM_LREF10_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,0);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__988=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__988)){{PUSH_ARG(SCM_MAKE_INT(cise__988));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__988));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__987=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__987));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF11_NUMADDI_PUSH:
CASE(SCM_VM_LREF11_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,1);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__990=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__990)){{PUSH_ARG(SCM_MAKE_INT(cise__990));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__990));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__989=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__989));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF12_NUMADDI_PUSH:
CASE(SCM_VM_LREF12_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,2);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__992=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__992)){{PUSH_ARG(SCM_MAKE_INT(cise__992));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__992));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__991=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__991));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF20_NUMADDI_PUSH:
CASE(SCM_VM_LREF20_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(((ENV)->up)->up,0);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__994=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__994)){{PUSH_ARG(SCM_MAKE_INT(cise__994));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__994));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__993=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__993));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF21_NUMADDI_PUSH:
CASE(SCM_VM_LREF21_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(((ENV)->up)->up,1);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__996=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__996)){{PUSH_ARG(SCM_MAKE_INT(cise__996));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__996));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__995=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__995));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_LREF30_NUMADDI_PUSH:
CASE(SCM_VM_LREF30_NUMADDI_PUSH) 
{
#line 1246 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((((ENV)->up)->up)->up,0);if (SCM_BOXP(arg)){arg=(SCM_BOX_VALUE(arg));}
if (SCM_INTP(arg)){{long cise__998=(imm)+(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__998)){{PUSH_ARG(SCM_MAKE_INT(cise__998));NEXT1;}} else {{PUSH_ARG(Scm_MakeInteger(cise__998));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__997=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__997));NEXT1;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_NUMSUBI:
CASE(SCM_VM_NUMSUBI) 
{
#line 1257 "vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=VAL0;
if (SCM_INTP(arg)){{long cise__1000=(imm)-(SCM_INT_VALUE(arg));if (SCM_SMALL_INT_FITS(cise__1000)){{VAL0=(SCM_MAKE_INT(cise__1000));NEXT1;}} else {{VAL0=(Scm_MakeInteger(cise__1000));NEXT1;}}}}else if(
SCM_FLONUMP(arg)){
{double cise__999=(((double )(imm)))-(SCM_FLONUM_VALUE(arg));{VAL0=(Scm_VMReturnFlonum(cise__999));NEXT1;}}} else {
{VAL0=(Scm_Sub(SCM_MAKE_INT(imm),arg));NEXT1;}}}}}

label_READ_CHAR:
CASE(SCM_VM_READ_CHAR) 
{
#line 1278 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);int ch=0;ScmPort* port;
if ((nargs)==(1)){
if (!(SCM_IPORTP(VAL0))){{Scm_Error("%s required, but got %S","input port",VAL0);}}
port=(SCM_PORT(VAL0));} else {
#line 1283 "vminsn.scm"
port=(SCM_CURIN);}
ch=(Scm_Getc(port));
{VAL0=((((ch)<(0))?(SCM_EOF):(SCM_MAKE_CHAR(ch))));NEXT1;}}}

label_PEEK_CHAR:
CASE(SCM_VM_PEEK_CHAR) 
{
#line 1288 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);int ch=0;ScmPort* port;
if ((nargs)==(1)){
if (!(SCM_IPORTP(VAL0))){{Scm_Error("%s required, but got %S","input port",VAL0);}}
port=(SCM_PORT(VAL0));} else {
#line 1293 "vminsn.scm"
port=(SCM_CURIN);}
ch=(Scm_Peekc(port));
{VAL0=((((ch)<(0))?(SCM_EOF):(SCM_MAKE_CHAR(ch))));NEXT1;}}}

label_WRITE_CHAR:
CASE(SCM_VM_WRITE_CHAR) 
{
#line 1298 "vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);ScmObj ch;ScmPort* port;
if ((nargs)==(2)){
if (!(SCM_OPORTP(VAL0))){{Scm_Error("%s required, but got %S","output port",VAL0);}}
port=(SCM_PORT(VAL0));
POP_ARG(ch);} else {
port=(SCM_CUROUT),ch=(VAL0);}
#line 1305 "vminsn.scm"
if (!(SCM_CHARP(ch))){{Scm_Error("%s required, but got %S","character",ch);}}
SCM_PUTC(SCM_CHAR_VALUE(ch),port);
{VAL0=(SCM_UNDEFINED);NEXT1;}}}

label_CURIN:
CASE(SCM_VM_CURIN) 
{
#line 1310 "vminsn.scm"
{VAL0=(SCM_OBJ((vm)->curin));NEXT1;}}

label_CUROUT:
CASE(SCM_VM_CUROUT) 
{
#line 1312 "vminsn.scm"
{VAL0=(SCM_OBJ((vm)->curout));NEXT1;}}

label_CURERR:
CASE(SCM_VM_CURERR) 
{
#line 1314 "vminsn.scm"
{VAL0=(SCM_OBJ((vm)->curerr));NEXT1;}}

label_SLOT_REF:
CASE(SCM_VM_SLOT_REF) 
{
#line 1317 "vminsn.scm"
{ScmObj obj;POP_ARG(obj);
TAIL_CALL_INSTRUCTION();
SCM_FLONUM_ENSURE_MEM(VAL0);
{VAL0=(Scm_VMSlotRef(obj,VAL0,FALSE));NEXT1;}}}

label_SLOT_SET:
CASE(SCM_VM_SLOT_SET) 
{
#line 1323 "vminsn.scm"
{ScmObj slot;
POP_ARG(slot);
{ScmObj obj;POP_ARG(obj);
TAIL_CALL_INSTRUCTION();
SCM_FLONUM_ENSURE_MEM(slot);
SCM_FLONUM_ENSURE_MEM(VAL0);
{VAL0=(Scm_VMSlotSet(obj,slot,VAL0));NEXT1;}}}}

label_SLOT_REFC:
CASE(SCM_VM_SLOT_REFC) 
{
#line 1332 "vminsn.scm"
{ScmObj slot;
FETCH_OPERAND(slot);INCR_PC;
#line 1335 "vminsn.scm"
TAIL_CALL_INSTRUCTION();
SCM_FLONUM_ENSURE_MEM(VAL0);
{VAL0=(Scm_VMSlotRef(VAL0,slot,FALSE));NEXT1;}}}

label_SLOT_SETC:
CASE(SCM_VM_SLOT_SETC) 
{
#line 1340 "vminsn.scm"
{ScmObj slot;
FETCH_OPERAND(slot);INCR_PC;
#line 1343 "vminsn.scm"
{ScmObj obj;POP_ARG(obj);
TAIL_CALL_INSTRUCTION();
SCM_FLONUM_ENSURE_MEM(VAL0);
{VAL0=(Scm_VMSlotSet(obj,slot,VAL0));NEXT1;}}}}

label_PUSH_HANDLERS:
CASE(SCM_VM_PUSH_HANDLERS) 
{
#line 1357 "vminsn.scm"
{ScmObj before;ScmObj after=VAL0;
VM_ASSERT(((SP)-((vm)->stackBase))>=(1));
POP_ARG(before);
SCM_FLONUM_ENSURE_MEM(before);
SCM_FLONUM_ENSURE_MEM(after);
(vm)->handlers=(Scm_Acons(before,after,(vm)->handlers));NEXT;}}

label_POP_HANDLERS:
CASE(SCM_VM_POP_HANDLERS) 
{
#line 1366 "vminsn.scm"
{
VM_ASSERT(SCM_PAIRP((vm)->handlers));
(vm)->handlers=(SCM_CDR((vm)->handlers));NEXT;}}

label_LREF_RET:
CASE(SCM_VM_LREF_RET) 
{
#line 794 "vminsn.scm"
{int dep=SCM_VM_INSN_ARG0(code);int off=
SCM_VM_INSN_ARG1(code);ScmEnvFrame* e=ENV;
#line 797 "vminsn.scm"
for (; (dep)>(0); (dep)--){
VM_ASSERT((e)!=(NULL));
e=((e)->up);}
VM_ASSERT((e)!=(NULL));
VM_ASSERT(((e)->size)>(off));
#line 803 "vminsn.scm"
{ScmObj v=ENV_DATA(e,off);
if (SCM_BOXP(v)){
{VAL0=(SCM_BOX_VALUE(v));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {
{VAL0=(v);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}}

label_LREF0_RET:
CASE(SCM_VM_LREF0_RET) 
{
#line 815 "vminsn.scm"
{ScmObj G1001=ENV_DATA(ENV,0);if (SCM_BOXP(G1001)){{VAL0=(SCM_BOX_VALUE(G1001));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1001);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_LREF1_RET:
CASE(SCM_VM_LREF1_RET) 
{
#line 816 "vminsn.scm"
{ScmObj G1002=ENV_DATA(ENV,1);if (SCM_BOXP(G1002)){{VAL0=(SCM_BOX_VALUE(G1002));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1002);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_LREF2_RET:
CASE(SCM_VM_LREF2_RET) 
{
#line 817 "vminsn.scm"
{ScmObj G1003=ENV_DATA(ENV,2);if (SCM_BOXP(G1003)){{VAL0=(SCM_BOX_VALUE(G1003));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1003);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_LREF3_RET:
CASE(SCM_VM_LREF3_RET) 
{
#line 818 "vminsn.scm"
{ScmObj G1004=ENV_DATA(ENV,3);if (SCM_BOXP(G1004)){{VAL0=(SCM_BOX_VALUE(G1004));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1004);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_LREF10_RET:
CASE(SCM_VM_LREF10_RET) 
{
#line 819 "vminsn.scm"
{ScmObj G1005=ENV_DATA((ENV)->up,0);if (SCM_BOXP(G1005)){{VAL0=(SCM_BOX_VALUE(G1005));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1005);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_LREF11_RET:
CASE(SCM_VM_LREF11_RET) 
{
#line 820 "vminsn.scm"
{ScmObj G1006=ENV_DATA((ENV)->up,1);if (SCM_BOXP(G1006)){{VAL0=(SCM_BOX_VALUE(G1006));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1006);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_LREF12_RET:
CASE(SCM_VM_LREF12_RET) 
{
#line 821 "vminsn.scm"
{ScmObj G1007=ENV_DATA((ENV)->up,2);if (SCM_BOXP(G1007)){{VAL0=(SCM_BOX_VALUE(G1007));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1007);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_LREF20_RET:
CASE(SCM_VM_LREF20_RET) 
{
#line 822 "vminsn.scm"
{ScmObj G1008=ENV_DATA(((ENV)->up)->up,0);if (SCM_BOXP(G1008)){{VAL0=(SCM_BOX_VALUE(G1008));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1008);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_LREF21_RET:
CASE(SCM_VM_LREF21_RET) 
{
#line 823 "vminsn.scm"
{ScmObj G1009=ENV_DATA(((ENV)->up)->up,1);if (SCM_BOXP(G1009)){{VAL0=(SCM_BOX_VALUE(G1009));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1009);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_LREF30_RET:
CASE(SCM_VM_LREF30_RET) 
{
#line 824 "vminsn.scm"
{ScmObj G1010=ENV_DATA((((ENV)->up)->up)->up,0);if (SCM_BOXP(G1010)){{VAL0=(SCM_BOX_VALUE(G1010));(vm)->numVals=(1);RETURN_OP();NEXT;}} else {{VAL0=(G1010);(vm)->numVals=(1);RETURN_OP();NEXT;}}}}

label_BOX:
CASE(SCM_VM_BOX) 
{
#line 1379 "vminsn.scm"
{
SCM_FLONUM_ENSURE_MEM(VAL0);
{ScmBox* b=Scm_MakeBox(VAL0);
VAL0=(SCM_OBJ(b));}NEXT;}}
#endif /*VMLOOP*/


