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

label_NOP:
CASE(SCM_VM_NOP) 
{NEXT;}

label_CONST:
CASE(SCM_VM_CONST) 
{
#line 392 "./vminsn.scm"
{ScmObj val;
FETCH_OPERAND(val);INCR_PC;
#line 395 "./vminsn.scm"
{VAL0=(val);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_CONSTI:
CASE(SCM_VM_CONSTI) 
{
#line 398 "./vminsn.scm"
{long cise__1086=SCM_VM_INSN_ARG(code);{VAL0=(SCM_MAKE_INT(cise__1086));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_CONSTN:
CASE(SCM_VM_CONSTN) 
{
#line 399 "./vminsn.scm"
{VAL0=(SCM_NIL);(vm)->numVals=(1);NEXT_PUSHCHECK;}}

label_CONSTF:
CASE(SCM_VM_CONSTF) 
{
#line 400 "./vminsn.scm"
{VAL0=(SCM_FALSE);(vm)->numVals=(1);NEXT_PUSHCHECK;}}

label_CONSTU:
CASE(SCM_VM_CONSTU) 
{
#line 401 "./vminsn.scm"
{VAL0=(SCM_UNDEFINED);(vm)->numVals=(1);NEXT_PUSHCHECK;}}

label_CONST_PUSH:
CASE(SCM_VM_CONST_PUSH) 
{
#line 392 "./vminsn.scm"
{ScmObj val;
FETCH_OPERAND(val);INCR_PC;
#line 395 "./vminsn.scm"
{PUSH_ARG(val);NEXT;}}}

label_CONSTI_PUSH:
CASE(SCM_VM_CONSTI_PUSH) 
{
#line 398 "./vminsn.scm"
{long cise__1087=SCM_VM_INSN_ARG(code);{PUSH_ARG(SCM_MAKE_INT(cise__1087));NEXT;}}}

label_CONSTN_PUSH:
CASE(SCM_VM_CONSTN_PUSH) 
{
#line 399 "./vminsn.scm"
{PUSH_ARG(SCM_NIL);NEXT;}}

label_CONSTF_PUSH:
CASE(SCM_VM_CONSTF_PUSH) 
{
#line 400 "./vminsn.scm"
{PUSH_ARG(SCM_FALSE);NEXT;}}

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

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

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

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

label_PRE_CALL:
CASE(SCM_VM_PRE_CALL) 
{
#line 424 "./vminsn.scm"
{ScmWord* next;
CHECK_STACK_PARANOIA(CONT_FRAME_SIZE);
FETCH_LOCATION(next);
PUSH_CONT(next);INCR_PC;CHECK_INTR;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 439 "./vminsn.scm"
{int reqstack=SCM_VM_INSN_ARG(code);
CHECK_STACK(reqstack);NEXT;}}

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

#undef APPLY_CALL

#line 451 "./vminsn.scm"

#include "./vmcall.c"

#line 452 "./vminsn.scm"
tail_apply_entry :; 

#define APPLY_CALL

#line 454 "./vminsn.scm"

#include "./vmcall.c"
}}

label_TAIL_CALL:
CASE(SCM_VM_TAIL_CALL) 
{
#line 462 "./vminsn.scm"
{
{ScmCallTrace* ct=(vm)->callTrace;
if ((ct)!=(NULL)){{
(((ct)->entries)[(ct)->top]).base=(BASE);
(((ct)->entries)[(ct)->top]).pc=(PC);
(ct)->top=((((ct)->top)+(1))&(
((ct)->size)-(1)));}}}
DISCARD_ENV();
goto label_CALL;}}

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

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

label_DEFINE:
CASE(SCM_VM_DEFINE) 
{
#line 495 "./vminsn.scm"
{ScmObj var;ScmObj val=VAL0;
FETCH_OPERAND(var);
VM_ASSERT(SCM_IDENTIFIERP(var));
SCM_FLONUM_ENSURE_MEM(val);INCR_PC;
#line 500 "./vminsn.scm"
{ScmIdentifier* id=Scm_OutermostIdentifier(SCM_IDENTIFIER(var));ScmModule* mod=
(id)->module;ScmSymbol* name=
SCM_SYMBOL((id)->name);
switch (SCM_VM_INSN_ARG(code)) {
case 0 : {Scm_MakeBinding(mod,name,val,0);break;}
case 1 : case SCM_BINDING_CONST : {Scm_MakeBinding(mod,name,val,SCM_BINDING_CONST);break;}
case SCM_BINDING_INLINABLE : {Scm_MakeBinding(mod,name,val,SCM_BINDING_INLINABLE);break;}}
{VAL0=(SCM_OBJ(name));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_CLOSURE:
CASE(SCM_VM_CLOSURE) 
{
#line 514 "./vminsn.scm"
{ScmObj body;
FETCH_OPERAND(body);INCR_PC;
#line 517 "./vminsn.scm"
{VAL0=(Scm_MakeClosure(body,get_env(vm)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LOCAL_ENV:
CASE(SCM_VM_LOCAL_ENV) 
{
#line 523 "./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 529 "./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__1089;
#line 547 "./vminsn.scm"
{int nlocals=SCM_VM_INSN_ARG(code);ScmObj* z;ScmObj cp;ScmObj clo=SCM_UNDEFINED;ScmEnvFrame* e;
#line 549 "./vminsn.scm"
FETCH_OPERAND(cp);INCR_PC;
#line 551 "./vminsn.scm"
CHECK_STACK_PARANOIA(ENV_SIZE(nlocals));
{int i=0;int cise__1088=nlocals;for (; (i)<(cise__1088); (i)++){*((SP)++)=(SCM_UNDEFINED);}}
FINISH_ENV(SCM_FALSE,ENV);
e=(get_env(vm));
z=((((ScmObj* )(e)))-(nlocals));
SCM_FOR_EACH(cise__1089,cp) {{ScmObj c=SCM_CAR(cise__1089);
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);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

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

label_LOCAL_ENV_JUMP:
CASE(SCM_VM_LOCAL_ENV_JUMP) 
{
#line 575 "./vminsn.scm"
{
local_env_shift(vm,SCM_VM_INSN_ARG(code));
FETCH_LOCATION(PC);CHECK_INTR;NEXT;}}

label_LOCAL_ENV_CALL:
CASE(SCM_VM_LOCAL_ENV_CALL) 
{
#line 593 "./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 599 "./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);CHECK_INTR;
#line 605 "./vminsn.scm"
SCM_PROF_COUNT_CALL(vm,SCM_OBJ((vm)->base));NEXT;}}

label_LOCAL_ENV_TAIL_CALL:
CASE(SCM_VM_LOCAL_ENV_TAIL_CALL) 
{
#line 610 "./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__1090=nargs;for (; (c)<(cise__1090); (c)++){
*((t)++)=(*((a)++));}}}}}
ARGP=(to);
SP=((to)+(nargs));
goto label_LOCAL_ENV_CALL;}}

label_BF:
CASE(SCM_VM_BF) 
{
#line 637 "./vminsn.scm"
{if (SCM_CHECKED_FALSEP(VAL0)){FETCH_LOCATION(PC);} else {INCR_PC;}CHECK_INTR;NEXT;}}

label_BT:
CASE(SCM_VM_BT) 
{
#line 638 "./vminsn.scm"
{if (!(SCM_CHECKED_FALSEP(VAL0))){FETCH_LOCATION(PC);} else {INCR_PC;}CHECK_INTR;NEXT;}}

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

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

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

label_BNUMNE:
CASE(SCM_VM_BNUMNE) 
{
#line 643 "./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;}}CHECK_INTR;NEXT;}}}}

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

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

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

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

label_LREF_VAL0_BNUMNE:
CASE(SCM_VM_LREF_VAL0_BNUMNE) 
{
#line 654 "./vminsn.scm"
{
#line 643 "./vminsn.scm"
{ScmObj y=VAL0;
{int G1099=SCM_VM_INSN_ARG0(code);int G1100=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1101=ENV;ScmObj x;switch (G1099) {case 4 : {G1101=((G1101)->up);}/*FALLTHROUGH*/case 3 : {G1101=((G1101)->up);}/*FALLTHROUGH*/case 2 : {G1101=((G1101)->up);}/*FALLTHROUGH*/case 1 : {G1101=((G1101)->up);}/*FALLTHROUGH*/case 0 : {x=(ENV_DATA(G1101,G1100));break;}/*FALLTHROUGH*/default: {while(((G1099)--)>(0)){G1101=((G1101)->up);}x=(ENV_DATA(G1101,G1100));break;}/*FALLTHROUGH*/}{if (!(Scm_NumEq(x,y))){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}CHECK_INTR;NEXT;}}}}}

label_LREF_VAL0_BNLT:
CASE(SCM_VM_LREF_VAL0_BNLT) 
{
#line 655 "./vminsn.scm"
{
#line 645 "./vminsn.scm"
{int G1104=SCM_VM_INSN_ARG0(code);int G1105=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1106=ENV;ScmObj G1102;switch (G1104) {case 4 : {G1106=((G1106)->up);}/*FALLTHROUGH*/case 3 : {G1106=((G1106)->up);}/*FALLTHROUGH*/case 2 : {G1106=((G1106)->up);}/*FALLTHROUGH*/case 1 : {G1106=((G1106)->up);}/*FALLTHROUGH*/case 0 : {G1102=(ENV_DATA(G1106,G1105));break;}/*FALLTHROUGH*/default: {while(((G1104)--)>(0)){G1106=((G1106)->up);}G1102=(ENV_DATA(G1106,G1105));break;}/*FALLTHROUGH*/}{ScmObj G1103=VAL0;int r;if ((SCM_INTP(G1102))&&(SCM_INTP(G1103))){r=((((signed long )(((intptr_t )(G1102)))))<(((signed long )(((intptr_t )(G1103))))));}else if((SCM_FLONUMP(G1102))&&(SCM_FLONUMP(G1103))){r=((SCM_FLONUM_VALUE(G1102))<(SCM_FLONUM_VALUE(G1103)));} else {r=(Scm_NumLT(G1102,G1103));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}CHECK_INTR;NEXT;}}}}}

label_LREF_VAL0_BNLE:
CASE(SCM_VM_LREF_VAL0_BNLE) 
{
#line 656 "./vminsn.scm"
{
#line 646 "./vminsn.scm"
{int G1109=SCM_VM_INSN_ARG0(code);int G1110=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1111=ENV;ScmObj G1107;switch (G1109) {case 4 : {G1111=((G1111)->up);}/*FALLTHROUGH*/case 3 : {G1111=((G1111)->up);}/*FALLTHROUGH*/case 2 : {G1111=((G1111)->up);}/*FALLTHROUGH*/case 1 : {G1111=((G1111)->up);}/*FALLTHROUGH*/case 0 : {G1107=(ENV_DATA(G1111,G1110));break;}/*FALLTHROUGH*/default: {while(((G1109)--)>(0)){G1111=((G1111)->up);}G1107=(ENV_DATA(G1111,G1110));break;}/*FALLTHROUGH*/}{ScmObj G1108=VAL0;int r;if ((SCM_INTP(G1107))&&(SCM_INTP(G1108))){r=((((signed long )(((intptr_t )(G1107)))))<=(((signed long )(((intptr_t )(G1108))))));}else if((SCM_FLONUMP(G1107))&&(SCM_FLONUMP(G1108))){r=((SCM_FLONUM_VALUE(G1107))<=(SCM_FLONUM_VALUE(G1108)));} else {r=(Scm_NumLE(G1107,G1108));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}CHECK_INTR;NEXT;}}}}}

label_LREF_VAL0_BNGT:
CASE(SCM_VM_LREF_VAL0_BNGT) 
{
#line 657 "./vminsn.scm"
{
#line 647 "./vminsn.scm"
{int G1114=SCM_VM_INSN_ARG0(code);int G1115=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1116=ENV;ScmObj G1112;switch (G1114) {case 4 : {G1116=((G1116)->up);}/*FALLTHROUGH*/case 3 : {G1116=((G1116)->up);}/*FALLTHROUGH*/case 2 : {G1116=((G1116)->up);}/*FALLTHROUGH*/case 1 : {G1116=((G1116)->up);}/*FALLTHROUGH*/case 0 : {G1112=(ENV_DATA(G1116,G1115));break;}/*FALLTHROUGH*/default: {while(((G1114)--)>(0)){G1116=((G1116)->up);}G1112=(ENV_DATA(G1116,G1115));break;}/*FALLTHROUGH*/}{ScmObj G1113=VAL0;int r;if ((SCM_INTP(G1112))&&(SCM_INTP(G1113))){r=((((signed long )(((intptr_t )(G1112)))))>(((signed long )(((intptr_t )(G1113))))));}else if((SCM_FLONUMP(G1112))&&(SCM_FLONUMP(G1113))){r=((SCM_FLONUM_VALUE(G1112))>(SCM_FLONUM_VALUE(G1113)));} else {r=(Scm_NumGT(G1112,G1113));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}CHECK_INTR;NEXT;}}}}}

label_LREF_VAL0_BNGE:
CASE(SCM_VM_LREF_VAL0_BNGE) 
{
#line 658 "./vminsn.scm"
{
#line 648 "./vminsn.scm"
{int G1119=SCM_VM_INSN_ARG0(code);int G1120=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1121=ENV;ScmObj G1117;switch (G1119) {case 4 : {G1121=((G1121)->up);}/*FALLTHROUGH*/case 3 : {G1121=((G1121)->up);}/*FALLTHROUGH*/case 2 : {G1121=((G1121)->up);}/*FALLTHROUGH*/case 1 : {G1121=((G1121)->up);}/*FALLTHROUGH*/case 0 : {G1117=(ENV_DATA(G1121,G1120));break;}/*FALLTHROUGH*/default: {while(((G1119)--)>(0)){G1121=((G1121)->up);}G1117=(ENV_DATA(G1121,G1120));break;}/*FALLTHROUGH*/}{ScmObj G1118=VAL0;int r;if ((SCM_INTP(G1117))&&(SCM_INTP(G1118))){r=((((signed long )(((intptr_t )(G1117)))))>=(((signed long )(((intptr_t )(G1118))))));}else if((SCM_FLONUMP(G1117))&&(SCM_FLONUMP(G1118))){r=((SCM_FLONUM_VALUE(G1117))>=(SCM_FLONUM_VALUE(G1118)));} else {r=(Scm_NumGE(G1117,G1118));}{if (!(r)){{VAL0=(SCM_FALSE);FETCH_LOCATION(PC);}} else {{VAL0=(SCM_TRUE);INCR_PC;}}CHECK_INTR;NEXT;}}}}}

label_BNUMNEI:
CASE(SCM_VM_BNUMNEI) 
{
#line 667 "./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;}}CHECK_INTR;NEXT;}}}}

label_BNEQC:
CASE(SCM_VM_BNEQC) 
{
#line 674 "./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;}}CHECK_INTR;NEXT;}}}

label_BNEQVC:
CASE(SCM_VM_BNEQVC) 
{
#line 676 "./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;}}CHECK_INTR;NEXT;}}}

label_RF:
CASE(SCM_VM_RF) 
{
#line 684 "./vminsn.scm"
{if (SCM_CHECKED_FALSEP(VAL0)){{RETURN_OP();}}NEXT;}}

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

label_RNEQ:
CASE(SCM_VM_RNEQ) 
{
#line 686 "./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 688 "./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 690 "./vminsn.scm"
{if (!(SCM_NULLP(VAL0))){{VAL0=(SCM_FALSE);(vm)->numVals=(1);RETURN_OP();}}NEXT;}}

label_RECEIVE:
CASE(SCM_VM_RECEIVE) 
{
#line 731 "./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))));((void )(argsize));((void )(nextpc));((void )(size));size=((CONT_FRAME_SIZE)+(ENV_SIZE((reqargs)+(restarg))));
CHECK_STACK_PARANOIA(size);
FETCH_LOCATION(nextpc);INCR_PC;
#line 735 "./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);(vm)->numVals=(1);NEXT;}}

label_TAIL_RECEIVE:
CASE(SCM_VM_TAIL_RECEIVE) 
{
#line 743 "./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))));((void )(argsize));((void )(nextpc));((void )(size));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);(vm)->numVals=(1);NEXT;}}

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

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

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

label_LSET:
CASE(SCM_VM_LSET) 
{
#line 790 "./vminsn.scm"
{int G1123=SCM_VM_INSN_ARG0(code);int G1124=
SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1125=ENV;for (; (G1123)>(0); (G1123)--){VM_ASSERT((G1125)!=(NULL));G1125=((G1125)->up);}VM_ASSERT((G1125)!=(NULL));VM_ASSERT(((G1125)->size)>(G1124));SCM_FLONUM_ENSURE_MEM(VAL0);{ScmObj G1126=ENV_DATA(G1125,G1124);VM_ASSERT(SCM_BOXP(G1126));SCM_BOX_SET(G1126,VAL0);}(vm)->numVals=(1);NEXT;}}

label_GSET:
CASE(SCM_VM_GSET) 
{
#line 797 "./vminsn.scm"
{ScmObj loc;
FETCH_OPERAND(loc);
SCM_FLONUM_ENSURE_MEM(VAL0);
if (
SCM_GLOCP(loc)){SCM_GLOC_SET(SCM_GLOC(loc),VAL0);}else if(
SCM_IDENTIFIERP(loc)){
#line 806 "./vminsn.scm"
{ScmIdentifier* id=Scm_OutermostIdentifier(SCM_IDENTIFIER(loc));ScmSymbol* name=
SCM_SYMBOL((id)->name);int limit=
#line 809 "./vminsn.scm"
SCM_VM_RUNTIME_FLAG_IS_SET(vm,SCM_LIMIT_MODULE_MUTATION);ScmGloc* gloc=
#line 811 "./vminsn.scm"
Scm_FindBinding((id)->module,name,
((limit)?(SCM_BINDING_STAY_IN_MODULE):(0)));
if ((gloc)==(NULL)){{
#line 815 "./vminsn.scm"
if (limit){{
gloc=(Scm_FindBinding((id)->module,name,0));
if ((gloc)!=(NULL)){{
Scm_Error("can't mutate binding of %S, which is in another module",
#line 820 "./vminsn.scm"
(id)->name);}}}}
#line 823 "./vminsn.scm"
Scm_Error("symbol not defined: %S",loc);}}
SCM_GLOC_SET(gloc,VAL0);
#line 826 "./vminsn.scm"
*(PC)=(SCM_WORD(gloc));}} else {
Scm_Error("GSET: can't be here");}INCR_PC;
#line 829 "./vminsn.scm"
(vm)->numVals=(1);NEXT;}}

label_LREF:
CASE(SCM_VM_LREF) 
{
#line 836 "./vminsn.scm"
{int G1127=SCM_VM_INSN_ARG0(code);int G1128=
SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1129=ENV;for (; (G1127)>(0); (G1127)--){G1129=((G1129)->up);}{VAL0=(ENV_DATA(G1129,G1128));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF0:
CASE(SCM_VM_LREF0) 
{
#line 846 "./vminsn.scm"
{ScmObj G1130=ENV_DATA(ENV,0);{VAL0=(G1130);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF1:
CASE(SCM_VM_LREF1) 
{
#line 847 "./vminsn.scm"
{ScmObj G1131=ENV_DATA(ENV,1);{VAL0=(G1131);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF2:
CASE(SCM_VM_LREF2) 
{
#line 848 "./vminsn.scm"
{ScmObj G1132=ENV_DATA(ENV,2);{VAL0=(G1132);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF3:
CASE(SCM_VM_LREF3) 
{
#line 849 "./vminsn.scm"
{ScmObj G1133=ENV_DATA(ENV,3);{VAL0=(G1133);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF10:
CASE(SCM_VM_LREF10) 
{
#line 850 "./vminsn.scm"
{ScmObj G1134=ENV_DATA((ENV)->up,0);{VAL0=(G1134);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF11:
CASE(SCM_VM_LREF11) 
{
#line 851 "./vminsn.scm"
{ScmObj G1135=ENV_DATA((ENV)->up,1);{VAL0=(G1135);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF12:
CASE(SCM_VM_LREF12) 
{
#line 852 "./vminsn.scm"
{ScmObj G1136=ENV_DATA((ENV)->up,2);{VAL0=(G1136);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF20:
CASE(SCM_VM_LREF20) 
{
#line 853 "./vminsn.scm"
{ScmObj G1137=ENV_DATA(((ENV)->up)->up,0);{VAL0=(G1137);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF21:
CASE(SCM_VM_LREF21) 
{
#line 854 "./vminsn.scm"
{ScmObj G1138=ENV_DATA(((ENV)->up)->up,1);{VAL0=(G1138);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF30:
CASE(SCM_VM_LREF30) 
{
#line 855 "./vminsn.scm"
{ScmObj G1139=ENV_DATA((((ENV)->up)->up)->up,0);{VAL0=(G1139);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF_PUSH:
CASE(SCM_VM_LREF_PUSH) 
{
#line 836 "./vminsn.scm"
{int G1140=SCM_VM_INSN_ARG0(code);int G1141=
SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1142=ENV;for (; (G1140)>(0); (G1140)--){G1142=((G1142)->up);}{PUSH_ARG(ENV_DATA(G1142,G1141));NEXT;}}}

label_LREF0_PUSH:
CASE(SCM_VM_LREF0_PUSH) 
{
#line 846 "./vminsn.scm"
{ScmObj G1143=ENV_DATA(ENV,0);{PUSH_ARG(G1143);NEXT;}}}

label_LREF1_PUSH:
CASE(SCM_VM_LREF1_PUSH) 
{
#line 847 "./vminsn.scm"
{ScmObj G1144=ENV_DATA(ENV,1);{PUSH_ARG(G1144);NEXT;}}}

label_LREF2_PUSH:
CASE(SCM_VM_LREF2_PUSH) 
{
#line 848 "./vminsn.scm"
{ScmObj G1145=ENV_DATA(ENV,2);{PUSH_ARG(G1145);NEXT;}}}

label_LREF3_PUSH:
CASE(SCM_VM_LREF3_PUSH) 
{
#line 849 "./vminsn.scm"
{ScmObj G1146=ENV_DATA(ENV,3);{PUSH_ARG(G1146);NEXT;}}}

label_LREF10_PUSH:
CASE(SCM_VM_LREF10_PUSH) 
{
#line 850 "./vminsn.scm"
{ScmObj G1147=ENV_DATA((ENV)->up,0);{PUSH_ARG(G1147);NEXT;}}}

label_LREF11_PUSH:
CASE(SCM_VM_LREF11_PUSH) 
{
#line 851 "./vminsn.scm"
{ScmObj G1148=ENV_DATA((ENV)->up,1);{PUSH_ARG(G1148);NEXT;}}}

label_LREF12_PUSH:
CASE(SCM_VM_LREF12_PUSH) 
{
#line 852 "./vminsn.scm"
{ScmObj G1149=ENV_DATA((ENV)->up,2);{PUSH_ARG(G1149);NEXT;}}}

label_LREF20_PUSH:
CASE(SCM_VM_LREF20_PUSH) 
{
#line 853 "./vminsn.scm"
{ScmObj G1150=ENV_DATA(((ENV)->up)->up,0);{PUSH_ARG(G1150);NEXT;}}}

label_LREF21_PUSH:
CASE(SCM_VM_LREF21_PUSH) 
{
#line 854 "./vminsn.scm"
{ScmObj G1151=ENV_DATA(((ENV)->up)->up,1);{PUSH_ARG(G1151);NEXT;}}}

label_LREF30_PUSH:
CASE(SCM_VM_LREF30_PUSH) 
{
#line 855 "./vminsn.scm"
{ScmObj G1152=ENV_DATA((((ENV)->up)->up)->up,0);{PUSH_ARG(G1152);NEXT;}}}

label_LREF_RET:
CASE(SCM_VM_LREF_RET) 
{
#line 836 "./vminsn.scm"
{int G1153=SCM_VM_INSN_ARG0(code);int G1154=
SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1155=ENV;for (; (G1153)>(0); (G1153)--){G1155=((G1155)->up);}{VAL0=(ENV_DATA(G1155,G1154));(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF0_RET:
CASE(SCM_VM_LREF0_RET) 
{
#line 846 "./vminsn.scm"
{ScmObj G1156=ENV_DATA(ENV,0);{VAL0=(G1156);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF1_RET:
CASE(SCM_VM_LREF1_RET) 
{
#line 847 "./vminsn.scm"
{ScmObj G1157=ENV_DATA(ENV,1);{VAL0=(G1157);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF2_RET:
CASE(SCM_VM_LREF2_RET) 
{
#line 848 "./vminsn.scm"
{ScmObj G1158=ENV_DATA(ENV,2);{VAL0=(G1158);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF3_RET:
CASE(SCM_VM_LREF3_RET) 
{
#line 849 "./vminsn.scm"
{ScmObj G1159=ENV_DATA(ENV,3);{VAL0=(G1159);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF10_RET:
CASE(SCM_VM_LREF10_RET) 
{
#line 850 "./vminsn.scm"
{ScmObj G1160=ENV_DATA((ENV)->up,0);{VAL0=(G1160);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF11_RET:
CASE(SCM_VM_LREF11_RET) 
{
#line 851 "./vminsn.scm"
{ScmObj G1161=ENV_DATA((ENV)->up,1);{VAL0=(G1161);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF12_RET:
CASE(SCM_VM_LREF12_RET) 
{
#line 852 "./vminsn.scm"
{ScmObj G1162=ENV_DATA((ENV)->up,2);{VAL0=(G1162);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF20_RET:
CASE(SCM_VM_LREF20_RET) 
{
#line 853 "./vminsn.scm"
{ScmObj G1163=ENV_DATA(((ENV)->up)->up,0);{VAL0=(G1163);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF21_RET:
CASE(SCM_VM_LREF21_RET) 
{
#line 854 "./vminsn.scm"
{ScmObj G1164=ENV_DATA(((ENV)->up)->up,1);{VAL0=(G1164);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_LREF30_RET:
CASE(SCM_VM_LREF30_RET) 
{
#line 855 "./vminsn.scm"
{ScmObj G1165=ENV_DATA((((ENV)->up)->up)->up,0);{VAL0=(G1165);(vm)->numVals=(1);RETURN_OP();NEXT;}}}

label_GREF:
CASE(SCM_VM_GREF) 
{
#line 877 "./vminsn.scm"
{ScmObj v;GLOBAL_REF(v);{VAL0=(v);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_GREF_PUSH:
CASE(SCM_VM_GREF_PUSH) 
{
#line 877 "./vminsn.scm"
{ScmObj v;GLOBAL_REF(v);{PUSH_ARG(v);NEXT;}}}

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

label_GREF_TAIL_CALL:
CASE(SCM_VM_GREF_TAIL_CALL) 
{
#line 877 "./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_PROMISE:
CASE(SCM_VM_PROMISE) 
{
#line 897 "./vminsn.scm"
{VAL0=(Scm_MakePromise(FALSE,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}

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

label_CONS:
CASE(SCM_VM_CONS) 
{
#line 928 "./vminsn.scm"
{ScmObj ca;POP_ARG(ca);{VAL0=(Scm_Cons(ca,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

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

label_CAR:
CASE(SCM_VM_CAR) 
{
#line 932 "./vminsn.scm"
{ScmObj v=VAL0;if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

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

label_LREF0_CAR:
CASE(SCM_VM_LREF0_CAR) 
{
#line 932 "./vminsn.scm"
{ScmObj v=ENV_DATA(ENV,0);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF1_CAR:
CASE(SCM_VM_LREF1_CAR) 
{
#line 932 "./vminsn.scm"
{ScmObj v=ENV_DATA(ENV,1);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF2_CAR:
CASE(SCM_VM_LREF2_CAR) 
{
#line 932 "./vminsn.scm"
{ScmObj v=ENV_DATA(ENV,2);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF3_CAR:
CASE(SCM_VM_LREF3_CAR) 
{
#line 932 "./vminsn.scm"
{ScmObj v=ENV_DATA(ENV,3);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF10_CAR:
CASE(SCM_VM_LREF10_CAR) 
{
#line 932 "./vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,0);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

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

label_LREF12_CAR:
CASE(SCM_VM_LREF12_CAR) 
{
#line 932 "./vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,2);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF20_CAR:
CASE(SCM_VM_LREF20_CAR) 
{
#line 932 "./vminsn.scm"
{ScmObj v=ENV_DATA(((ENV)->up)->up,0);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

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

label_LREF30_CAR:
CASE(SCM_VM_LREF30_CAR) 
{
#line 932 "./vminsn.scm"
{ScmObj v=ENV_DATA((((ENV)->up)->up)->up,0);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CAR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_CDR:
CASE(SCM_VM_CDR) 
{
#line 937 "./vminsn.scm"
{ScmObj v=VAL0;if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

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

label_LREF0_CDR:
CASE(SCM_VM_LREF0_CDR) 
{
#line 937 "./vminsn.scm"
{ScmObj v=ENV_DATA(ENV,0);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF1_CDR:
CASE(SCM_VM_LREF1_CDR) 
{
#line 937 "./vminsn.scm"
{ScmObj v=ENV_DATA(ENV,1);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF2_CDR:
CASE(SCM_VM_LREF2_CDR) 
{
#line 937 "./vminsn.scm"
{ScmObj v=ENV_DATA(ENV,2);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF3_CDR:
CASE(SCM_VM_LREF3_CDR) 
{
#line 937 "./vminsn.scm"
{ScmObj v=ENV_DATA(ENV,3);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF10_CDR:
CASE(SCM_VM_LREF10_CDR) 
{
#line 937 "./vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,0);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

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

label_LREF12_CDR:
CASE(SCM_VM_LREF12_CDR) 
{
#line 937 "./vminsn.scm"
{ScmObj v=ENV_DATA((ENV)->up,2);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LREF20_CDR:
CASE(SCM_VM_LREF20_CDR) 
{
#line 937 "./vminsn.scm"
{ScmObj v=ENV_DATA(((ENV)->up)->up,0);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

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

label_LREF30_CDR:
CASE(SCM_VM_LREF30_CDR) 
{
#line 937 "./vminsn.scm"
{ScmObj v=ENV_DATA((((ENV)->up)->up)->up,0);if (!(SCM_PAIRP(v))){{Scm_Error("%s required, but got %S","pair",v);}}{VAL0=(SCM_CDR(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_CAAR:
CASE(SCM_VM_CAAR) 
{
#line 949 "./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));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_CAAR_PUSH:
CASE(SCM_VM_CAAR_PUSH) 
{
#line 949 "./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));NEXT;}}}}

label_CADR:
CASE(SCM_VM_CADR) 
{
#line 951 "./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));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_CADR_PUSH:
CASE(SCM_VM_CADR_PUSH) 
{
#line 951 "./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));NEXT;}}}}

label_CDAR:
CASE(SCM_VM_CDAR) 
{
#line 953 "./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));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_CDAR_PUSH:
CASE(SCM_VM_CDAR_PUSH) 
{
#line 953 "./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));NEXT;}}}}

label_CDDR:
CASE(SCM_VM_CDDR) 
{
#line 955 "./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));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_CDDR_PUSH:
CASE(SCM_VM_CDDR_PUSH) 
{
#line 955 "./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));NEXT;}}}}

label_LIST:
CASE(SCM_VM_LIST) 
{
#line 959 "./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);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LIST_STAR:
CASE(SCM_VM_LIST_STAR) 
{
#line 969 "./vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);ScmObj cp=SCM_NIL;ScmObj arg;
VM_ASSERT((nargs)>=(1));
SCM_FLONUM_ENSURE_MEM(VAL0);
cp=(VAL0);
while((--(nargs))>(0)){
POP_ARG(arg);
cp=(Scm_Cons(arg,cp));}
{VAL0=(cp);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LENGTH:
CASE(SCM_VM_LENGTH) 
{
#line 979 "./vminsn.scm"
{int len=Scm_Length(VAL0);
if ((len)<(0)){{Scm_Error("proper list required, but got %S",VAL0);}}
{long cise__1168=len;{VAL0=(SCM_MAKE_INT(cise__1168));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_MEMQ:
CASE(SCM_VM_MEMQ) 
{
#line 983 "./vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(Scm_Memq(v,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_MEMV:
CASE(SCM_VM_MEMV) 
{
#line 984 "./vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(Scm_Memv(v,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_ASSQ:
CASE(SCM_VM_ASSQ) 
{
#line 985 "./vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(Scm_Assq(v,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_ASSV:
CASE(SCM_VM_ASSV) 
{
#line 986 "./vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(Scm_Assv(v,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_EQ:
CASE(SCM_VM_EQ) 
{
#line 987 "./vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(SCM_MAKE_BOOL(SCM_EQ(v,VAL0)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_EQV:
CASE(SCM_VM_EQV) 
{
#line 988 "./vminsn.scm"
{ScmObj v;POP_ARG(v);{VAL0=(SCM_MAKE_BOOL(Scm_EqvP(v,VAL0)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_APPEND:
CASE(SCM_VM_APPEND) 
{
#line 991 "./vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);ScmObj cp=SCM_NIL;ScmObj args=SCM_NIL;ScmObj a;
#line 994 "./vminsn.scm"
switch (nargs) {
case 0 : {break;break;}
case 1 : {cp=(VAL0);break;break;}
case 2 : {SCM_FLONUM_ENSURE_MEM(VAL0);
POP_ARG(a);
cp=(Scm_Append2(a,VAL0));
break;break;}default: {
#line 1002 "./vminsn.scm"
args=(Scm_Cons(VAL0,SCM_NIL));
#line 1005 "./vminsn.scm"
while((--(nargs))>(0)){
POP_ARG(a);
args=(Scm_Cons(a,args));}
cp=(Scm_Append(args));break;}}
{VAL0=(cp);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_NOT:
CASE(SCM_VM_NOT) 
{
#line 1011 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_CHECKED_FALSEP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_REVERSE:
CASE(SCM_VM_REVERSE) 
{
#line 1012 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(Scm_Reverse(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_APPLY:
CASE(SCM_VM_APPLY) 
{
#line 1017 "./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));NEXT;}}

label_TAIL_APPLY:
CASE(SCM_VM_TAIL_APPLY) 
{
#line 1057 "./vminsn.scm"
{ScmObj rest=VAL0;int nargc=
(SCM_VM_INSN_ARG(code))-(2);ScmObj proc=
*(((SP)-(nargc))-(1));
VAL0=(proc);
(ARGP)++;
#line 1064 "./vminsn.scm"
if (SCM_NULLP(rest)){{goto label_TAIL_CALL;}}
#line 1068 "./vminsn.scm"
if (!(SCM_PAIRP(rest))){{
Scm_Error("Rest argument is not proper: %S",rest);}}
VAL0=(proc);
#line 1072 "./vminsn.scm"
*((SP)++)=(rest);
DISCARD_ENV();
goto tail_apply_entry;}}

label_IS_A:
CASE(SCM_VM_IS_A) 
{
#line 1078 "./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 1082 "./vminsn.scm"
if (!(SCM_FALSEP((Scm_ClassOf(obj))->redefined))){
Scm__VMProtectStack(vm);
{VAL0=(Scm_VMIsA(obj,c));(vm)->numVals=(1);NEXT_PUSHCHECK;}} else {
{VAL0=(SCM_MAKE_BOOL(SCM_ISA(obj,c)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_NULLP:
CASE(SCM_VM_NULLP) 
{
#line 1087 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_NULLP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_PAIRP:
CASE(SCM_VM_PAIRP) 
{
#line 1088 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_PAIRP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_CHARP:
CASE(SCM_VM_CHARP) 
{
#line 1089 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_CHARP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_EOFP:
CASE(SCM_VM_EOFP) 
{
#line 1090 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_EOFP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_STRINGP:
CASE(SCM_VM_STRINGP) 
{
#line 1091 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_STRINGP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_SYMBOLP:
CASE(SCM_VM_SYMBOLP) 
{
#line 1092 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_SYMBOLP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_VECTORP:
CASE(SCM_VM_VECTORP) 
{
#line 1093 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_VECTORP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_NUMBERP:
CASE(SCM_VM_NUMBERP) 
{
#line 1094 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_NUMBERP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_REALP:
CASE(SCM_VM_REALP) 
{
#line 1095 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL(SCM_REALP(v)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_IDENTIFIERP:
CASE(SCM_VM_IDENTIFIERP) 
{
#line 1096 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(SCM_MAKE_BOOL((SCM_SYMBOLP(v))||(SCM_IDENTIFIERP(v))));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_SETTER:
CASE(SCM_VM_SETTER) 
{
#line 1098 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(Scm_Setter(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_VALUES:
CASE(SCM_VM_VALUES) 
{
#line 1100 "./vminsn.scm"
{{int nargs=SCM_VM_INSN_ARG(code);int i=(nargs)-(1);ScmObj v=VAL0;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 1101 "./vminsn.scm"
{{int nargs=SCM_VM_INSN_ARG(code);int i=(nargs)-(1);ScmObj v=VAL0;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);}RETURN_OP();NEXT;}}

label_VEC:
CASE(SCM_VM_VEC) 
{
#line 1104 "./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);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LIST2VEC:
CASE(SCM_VM_LIST2VEC) 
{
#line 1118 "./vminsn.scm"
{ScmObj v=VAL0;{VAL0=(Scm_ListToVector(v,0,-1));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_APP_VEC:
CASE(SCM_VM_APP_VEC) 
{ScmObj cise__1169;
#line 1121 "./vminsn.scm"
{int nargs=SCM_VM_INSN_ARG(code);ScmObj cp=SCM_NIL;ScmObj args=SCM_NIL;ScmObj a;
if ((nargs)>(0)){{
SCM_FLONUM_ENSURE_MEM(VAL0);
cp=(VAL0);
while((--(nargs))>(0)){
POP_ARG(a);
args=(Scm_Cons(a,args));}
SCM_FOR_EACH(cise__1169,Scm_ReverseX(args)) {{ScmObj a=SCM_CAR(cise__1169);
if ((Scm_Length(a))<(0)){{Scm_Error("list required, but got %S",a);}}
cp=(Scm_Append2(a,cp));}}}}
{VAL0=(Scm_ListToVector(cp,0,-1));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_VEC_LEN:
CASE(SCM_VM_VEC_LEN) 
{
#line 1134 "./vminsn.scm"
{ScmObj v=VAL0;
if (!(SCM_VECTORP(v))){{Scm_Error("%s required, but got %S","vector",v);}}
{long cise__1170=SCM_VECTOR_SIZE(v);{VAL0=(SCM_MAKE_INT(cise__1170));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_VEC_REF:
CASE(SCM_VM_VEC_REF) 
{
#line 1139 "./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)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_VEC_SET:
CASE(SCM_VM_VEC_SET) 
{
#line 1149 "./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);}}
if (SCM_VECTOR_IMMUTABLE_P(vec)){{
Scm_Error("vector is immutable: %S",vec);}}
{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);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_VEC_REFI:
CASE(SCM_VM_VEC_REFI) 
{
#line 1165 "./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));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_VEC_SETI:
CASE(SCM_VM_VEC_SETI) 
{
#line 1173 "./vminsn.scm"
{ScmObj vec;POP_ARG(vec);
if (!(SCM_VECTORP(vec))){{Scm_Error("%s required, but got %S","vector",vec);}}
if (SCM_VECTOR_IMMUTABLE_P(vec)){{
Scm_Error("vector is immutable: %S",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);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_UVEC_REF:
CASE(SCM_VM_UVEC_REF) 
{
#line 1185 "./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));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMEQ2:
CASE(SCM_VM_NUMEQ2) 
{
#line 1210 "./vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if (
(SCM_INTP(VAL0))&&(SCM_INTP(arg))){{VAL0=(SCM_MAKE_BOOL((VAL0)==(arg)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}else if(
(SCM_FLONUMP(VAL0))&&(SCM_FLONUMP(arg))){
{VAL0=(SCM_MAKE_BOOL((SCM_FLONUM_VALUE(VAL0))==(SCM_FLONUM_VALUE(arg))));(vm)->numVals=(1);NEXT_PUSHCHECK;}} else {
{VAL0=(SCM_MAKE_BOOL(Scm_NumEq(arg,VAL0)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMLT2:
CASE(SCM_VM_NUMLT2) 
{
#line 1217 "./vminsn.scm"
{ScmObj G1171;POP_ARG(G1171);{ScmObj G1172=VAL0;int r;if ((SCM_INTP(G1171))&&(SCM_INTP(G1172))){r=((((signed long )(((intptr_t )(G1171)))))<(((signed long )(((intptr_t )(G1172))))));}else if((SCM_FLONUMP(G1171))&&(SCM_FLONUMP(G1172))){r=((SCM_FLONUM_VALUE(G1171))<(SCM_FLONUM_VALUE(G1172)));} else {r=(Scm_NumLT(G1171,G1172));}{VAL0=(SCM_MAKE_BOOL(r));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMLE2:
CASE(SCM_VM_NUMLE2) 
{
#line 1218 "./vminsn.scm"
{ScmObj G1173;POP_ARG(G1173);{ScmObj G1174=VAL0;int r;if ((SCM_INTP(G1173))&&(SCM_INTP(G1174))){r=((((signed long )(((intptr_t )(G1173)))))<=(((signed long )(((intptr_t )(G1174))))));}else if((SCM_FLONUMP(G1173))&&(SCM_FLONUMP(G1174))){r=((SCM_FLONUM_VALUE(G1173))<=(SCM_FLONUM_VALUE(G1174)));} else {r=(Scm_NumLE(G1173,G1174));}{VAL0=(SCM_MAKE_BOOL(r));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMGT2:
CASE(SCM_VM_NUMGT2) 
{
#line 1219 "./vminsn.scm"
{ScmObj G1175;POP_ARG(G1175);{ScmObj G1176=VAL0;int r;if ((SCM_INTP(G1175))&&(SCM_INTP(G1176))){r=((((signed long )(((intptr_t )(G1175)))))>(((signed long )(((intptr_t )(G1176))))));}else if((SCM_FLONUMP(G1175))&&(SCM_FLONUMP(G1176))){r=((SCM_FLONUM_VALUE(G1175))>(SCM_FLONUM_VALUE(G1176)));} else {r=(Scm_NumGT(G1175,G1176));}{VAL0=(SCM_MAKE_BOOL(r));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMGE2:
CASE(SCM_VM_NUMGE2) 
{
#line 1220 "./vminsn.scm"
{ScmObj G1177;POP_ARG(G1177);{ScmObj G1178=VAL0;int r;if ((SCM_INTP(G1177))&&(SCM_INTP(G1178))){r=((((signed long )(((intptr_t )(G1177)))))>=(((signed long )(((intptr_t )(G1178))))));}else if((SCM_FLONUMP(G1177))&&(SCM_FLONUMP(G1178))){r=((SCM_FLONUM_VALUE(G1177))>=(SCM_FLONUM_VALUE(G1178)));} else {r=(Scm_NumGE(G1177,G1178));}{VAL0=(SCM_MAKE_BOOL(r));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMADD2:
CASE(SCM_VM_NUMADD2) 
{
#line 1223 "./vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if (
(SCM_INTP(arg))&&(SCM_INTP(VAL0))){
{long cise__1180=(SCM_INT_VALUE(arg))+(SCM_INT_VALUE(VAL0));ScmObj cise__1181;if (SCM_SMALL_INT_FITS(cise__1180)){cise__1181=(SCM_MAKE_INT(cise__1180));} else {cise__1181=(Scm_MakeInteger(cise__1180));}{VAL0=(cise__1181);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
(SCM_FLONUMP(arg))&&(SCM_FLONUMP(VAL0))){
{double cise__1179=(SCM_FLONUM_VALUE(arg))+(SCM_FLONUM_VALUE(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1179));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(arg,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMSUB2:
CASE(SCM_VM_NUMSUB2) 
{
#line 1232 "./vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if (
(SCM_INTP(arg))&&(SCM_INTP(VAL0))){
{long cise__1183=(SCM_INT_VALUE(arg))-(SCM_INT_VALUE(VAL0));ScmObj cise__1184;if (SCM_SMALL_INT_FITS(cise__1183)){cise__1184=(SCM_MAKE_INT(cise__1183));} else {cise__1184=(Scm_MakeInteger(cise__1183));}{VAL0=(cise__1184);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
(SCM_FLONUMP(arg))&&(SCM_FLONUMP(VAL0))){
{double cise__1182=(SCM_FLONUM_VALUE(arg))-(SCM_FLONUM_VALUE(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1182));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Sub(arg,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMMUL2:
CASE(SCM_VM_NUMMUL2) 
{
#line 1241 "./vminsn.scm"
{ScmObj arg;POP_ARG(arg);
#line 1247 "./vminsn.scm"
if (SCM_FLONUMP(arg)){
if ((((SCM_MAKE_INT(0))==(VAL0))&&(
!(SCM_IS_INF(SCM_FLONUM_VALUE(arg)))))&&(
!(SCM_IS_NAN(SCM_FLONUM_VALUE(arg))))){
{VAL0=(SCM_MAKE_INT(0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}else if(
SCM_REALP(VAL0)){
{double cise__1185=(Scm_GetDouble(arg))*(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1185));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Mul(arg,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
if (SCM_FLONUMP(VAL0)){
if ((((SCM_MAKE_INT(0))==(arg))&&(
!(SCM_IS_INF(SCM_FLONUM_VALUE(VAL0)))))&&(
!(SCM_IS_NAN(SCM_FLONUM_VALUE(VAL0))))){
{VAL0=(SCM_MAKE_INT(0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}else if(
SCM_REALP(arg)){
{double cise__1186=(Scm_GetDouble(arg))*(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1186));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Mul(arg,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Mul(arg,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_NUMDIV2:
CASE(SCM_VM_NUMDIV2) 
{
#line 1266 "./vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if (((SCM_FLONUMP(arg))&&(SCM_REALP(VAL0)))||(
(SCM_FLONUMP(VAL0))&&(SCM_REALP(arg)))){
{double cise__1187=(Scm_GetDouble(arg))/(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1187));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Div(arg,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_LREF_VAL0_NUMADD2:
CASE(SCM_VM_LREF_VAL0_NUMADD2) 
{
#line 1272 "./vminsn.scm"
{
#line 1223 "./vminsn.scm"
{int G1188=SCM_VM_INSN_ARG0(code);int G1189=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1190=ENV;ScmObj arg;switch (G1188) {case 4 : {G1190=((G1190)->up);}/*FALLTHROUGH*/case 3 : {G1190=((G1190)->up);}/*FALLTHROUGH*/case 2 : {G1190=((G1190)->up);}/*FALLTHROUGH*/case 1 : {G1190=((G1190)->up);}/*FALLTHROUGH*/case 0 : {arg=(ENV_DATA(G1190,G1189));break;}/*FALLTHROUGH*/default: {while(((G1188)--)>(0)){G1190=((G1190)->up);}arg=(ENV_DATA(G1190,G1189));break;}/*FALLTHROUGH*/}
if (
(SCM_INTP(arg))&&(SCM_INTP(VAL0))){
{long cise__1192=(SCM_INT_VALUE(arg))+(SCM_INT_VALUE(VAL0));ScmObj cise__1193;if (SCM_SMALL_INT_FITS(cise__1192)){cise__1193=(SCM_MAKE_INT(cise__1192));} else {cise__1193=(Scm_MakeInteger(cise__1192));}{VAL0=(cise__1193);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
(SCM_FLONUMP(arg))&&(SCM_FLONUMP(VAL0))){
{double cise__1191=(SCM_FLONUM_VALUE(arg))+(SCM_FLONUM_VALUE(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1191));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(arg,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_NEGATE:
CASE(SCM_VM_NEGATE) 
{
#line 1275 "./vminsn.scm"
{ScmObj v=VAL0;
if (
SCM_INTP(v)){{long cise__1195=-(SCM_INT_VALUE(v));ScmObj cise__1196;if (SCM_SMALL_INT_FITS(cise__1195)){cise__1196=(SCM_MAKE_INT(cise__1195));} else {cise__1196=(Scm_MakeInteger(cise__1195));}{VAL0=(cise__1196);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(v)){{double cise__1194=-(Scm_GetDouble(v));{VAL0=(Scm_VMReturnFlonum(cise__1194));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Negate(v));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMIADD2:
CASE(SCM_VM_NUMIADD2) 
{
#line 1282 "./vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if ((SCM_REALP(arg))&&(SCM_REALP(VAL0))){
{double cise__1197=(Scm_GetDouble(arg))+(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1197));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(Scm_Inexact(arg),
Scm_Inexact(VAL0)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMISUB2:
CASE(SCM_VM_NUMISUB2) 
{
#line 1289 "./vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if ((SCM_REALP(arg))&&(SCM_REALP(VAL0))){
{double cise__1198=(Scm_GetDouble(arg))-(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1198));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Sub(Scm_Inexact(arg),Scm_Inexact(VAL0)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMIMUL2:
CASE(SCM_VM_NUMIMUL2) 
{
#line 1295 "./vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if ((SCM_REALP(arg))&&(SCM_REALP(VAL0))){
{double cise__1199=(Scm_GetDouble(arg))*(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1199));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Mul(Scm_Inexact(arg),Scm_Inexact(VAL0)));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMIDIV2:
CASE(SCM_VM_NUMIDIV2) 
{
#line 1301 "./vminsn.scm"
{ScmObj arg;POP_ARG(arg);
if ((SCM_FLONUMP(arg))&&(SCM_FLONUMP(VAL0))){
{double cise__1200=(Scm_GetDouble(arg))/(Scm_GetDouble(VAL0));{VAL0=(Scm_VMReturnFlonum(cise__1200));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_VMDivInexact(arg,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMADDI:
CASE(SCM_VM_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=VAL0;
if (SCM_INTP(arg)){{long cise__1202=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1203;if (SCM_SMALL_INT_FITS(cise__1202)){cise__1203=(SCM_MAKE_INT(cise__1202));} else {cise__1203=(Scm_MakeInteger(cise__1202));}{VAL0=(cise__1203);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1201=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1201));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF0_NUMADDI:
CASE(SCM_VM_LREF0_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,0);
if (SCM_INTP(arg)){{long cise__1205=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1206;if (SCM_SMALL_INT_FITS(cise__1205)){cise__1206=(SCM_MAKE_INT(cise__1205));} else {cise__1206=(Scm_MakeInteger(cise__1205));}{VAL0=(cise__1206);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1204=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1204));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF1_NUMADDI:
CASE(SCM_VM_LREF1_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,1);
if (SCM_INTP(arg)){{long cise__1208=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1209;if (SCM_SMALL_INT_FITS(cise__1208)){cise__1209=(SCM_MAKE_INT(cise__1208));} else {cise__1209=(Scm_MakeInteger(cise__1208));}{VAL0=(cise__1209);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1207=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1207));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF2_NUMADDI:
CASE(SCM_VM_LREF2_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,2);
if (SCM_INTP(arg)){{long cise__1211=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1212;if (SCM_SMALL_INT_FITS(cise__1211)){cise__1212=(SCM_MAKE_INT(cise__1211));} else {cise__1212=(Scm_MakeInteger(cise__1211));}{VAL0=(cise__1212);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1210=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1210));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF3_NUMADDI:
CASE(SCM_VM_LREF3_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,3);
if (SCM_INTP(arg)){{long cise__1214=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1215;if (SCM_SMALL_INT_FITS(cise__1214)){cise__1215=(SCM_MAKE_INT(cise__1214));} else {cise__1215=(Scm_MakeInteger(cise__1214));}{VAL0=(cise__1215);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1213=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1213));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF10_NUMADDI:
CASE(SCM_VM_LREF10_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,0);
if (SCM_INTP(arg)){{long cise__1217=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1218;if (SCM_SMALL_INT_FITS(cise__1217)){cise__1218=(SCM_MAKE_INT(cise__1217));} else {cise__1218=(Scm_MakeInteger(cise__1217));}{VAL0=(cise__1218);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1216=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1216));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF11_NUMADDI:
CASE(SCM_VM_LREF11_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,1);
if (SCM_INTP(arg)){{long cise__1220=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1221;if (SCM_SMALL_INT_FITS(cise__1220)){cise__1221=(SCM_MAKE_INT(cise__1220));} else {cise__1221=(Scm_MakeInteger(cise__1220));}{VAL0=(cise__1221);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1219=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1219));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF12_NUMADDI:
CASE(SCM_VM_LREF12_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,2);
if (SCM_INTP(arg)){{long cise__1223=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1224;if (SCM_SMALL_INT_FITS(cise__1223)){cise__1224=(SCM_MAKE_INT(cise__1223));} else {cise__1224=(Scm_MakeInteger(cise__1223));}{VAL0=(cise__1224);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1222=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1222));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF20_NUMADDI:
CASE(SCM_VM_LREF20_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(((ENV)->up)->up,0);
if (SCM_INTP(arg)){{long cise__1226=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1227;if (SCM_SMALL_INT_FITS(cise__1226)){cise__1227=(SCM_MAKE_INT(cise__1226));} else {cise__1227=(Scm_MakeInteger(cise__1226));}{VAL0=(cise__1227);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1225=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1225));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF21_NUMADDI:
CASE(SCM_VM_LREF21_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(((ENV)->up)->up,1);
if (SCM_INTP(arg)){{long cise__1229=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1230;if (SCM_SMALL_INT_FITS(cise__1229)){cise__1230=(SCM_MAKE_INT(cise__1229));} else {cise__1230=(Scm_MakeInteger(cise__1229));}{VAL0=(cise__1230);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1228=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1228));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF30_NUMADDI:
CASE(SCM_VM_LREF30_NUMADDI) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((((ENV)->up)->up)->up,0);
if (SCM_INTP(arg)){{long cise__1232=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1233;if (SCM_SMALL_INT_FITS(cise__1232)){cise__1233=(SCM_MAKE_INT(cise__1232));} else {cise__1233=(Scm_MakeInteger(cise__1232));}{VAL0=(cise__1233);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1231=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{VAL0=(Scm_VMReturnFlonum(cise__1231));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Add(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_LREF0_NUMADDI_PUSH:
CASE(SCM_VM_LREF0_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,0);
if (SCM_INTP(arg)){{long cise__1235=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1236;if (SCM_SMALL_INT_FITS(cise__1235)){cise__1236=(SCM_MAKE_INT(cise__1235));} else {cise__1236=(Scm_MakeInteger(cise__1235));}{PUSH_ARG(cise__1236);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1234=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1234));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_LREF1_NUMADDI_PUSH:
CASE(SCM_VM_LREF1_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,1);
if (SCM_INTP(arg)){{long cise__1238=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1239;if (SCM_SMALL_INT_FITS(cise__1238)){cise__1239=(SCM_MAKE_INT(cise__1238));} else {cise__1239=(Scm_MakeInteger(cise__1238));}{PUSH_ARG(cise__1239);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1237=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1237));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_LREF2_NUMADDI_PUSH:
CASE(SCM_VM_LREF2_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,2);
if (SCM_INTP(arg)){{long cise__1241=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1242;if (SCM_SMALL_INT_FITS(cise__1241)){cise__1242=(SCM_MAKE_INT(cise__1241));} else {cise__1242=(Scm_MakeInteger(cise__1241));}{PUSH_ARG(cise__1242);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1240=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1240));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_LREF3_NUMADDI_PUSH:
CASE(SCM_VM_LREF3_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(ENV,3);
if (SCM_INTP(arg)){{long cise__1244=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1245;if (SCM_SMALL_INT_FITS(cise__1244)){cise__1245=(SCM_MAKE_INT(cise__1244));} else {cise__1245=(Scm_MakeInteger(cise__1244));}{PUSH_ARG(cise__1245);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1243=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1243));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_LREF10_NUMADDI_PUSH:
CASE(SCM_VM_LREF10_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,0);
if (SCM_INTP(arg)){{long cise__1247=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1248;if (SCM_SMALL_INT_FITS(cise__1247)){cise__1248=(SCM_MAKE_INT(cise__1247));} else {cise__1248=(Scm_MakeInteger(cise__1247));}{PUSH_ARG(cise__1248);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1246=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1246));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_LREF11_NUMADDI_PUSH:
CASE(SCM_VM_LREF11_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,1);
if (SCM_INTP(arg)){{long cise__1250=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1251;if (SCM_SMALL_INT_FITS(cise__1250)){cise__1251=(SCM_MAKE_INT(cise__1250));} else {cise__1251=(Scm_MakeInteger(cise__1250));}{PUSH_ARG(cise__1251);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1249=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1249));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_LREF12_NUMADDI_PUSH:
CASE(SCM_VM_LREF12_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((ENV)->up,2);
if (SCM_INTP(arg)){{long cise__1253=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1254;if (SCM_SMALL_INT_FITS(cise__1253)){cise__1254=(SCM_MAKE_INT(cise__1253));} else {cise__1254=(Scm_MakeInteger(cise__1253));}{PUSH_ARG(cise__1254);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1252=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1252));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_LREF20_NUMADDI_PUSH:
CASE(SCM_VM_LREF20_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(((ENV)->up)->up,0);
if (SCM_INTP(arg)){{long cise__1256=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1257;if (SCM_SMALL_INT_FITS(cise__1256)){cise__1257=(SCM_MAKE_INT(cise__1256));} else {cise__1257=(Scm_MakeInteger(cise__1256));}{PUSH_ARG(cise__1257);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1255=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1255));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_LREF21_NUMADDI_PUSH:
CASE(SCM_VM_LREF21_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA(((ENV)->up)->up,1);
if (SCM_INTP(arg)){{long cise__1259=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1260;if (SCM_SMALL_INT_FITS(cise__1259)){cise__1260=(SCM_MAKE_INT(cise__1259));} else {cise__1260=(Scm_MakeInteger(cise__1259));}{PUSH_ARG(cise__1260);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1258=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1258));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_LREF30_NUMADDI_PUSH:
CASE(SCM_VM_LREF30_NUMADDI_PUSH) 
{
#line 1307 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=ENV_DATA((((ENV)->up)->up)->up,0);
if (SCM_INTP(arg)){{long cise__1262=(imm)+(SCM_INT_VALUE(arg));ScmObj cise__1263;if (SCM_SMALL_INT_FITS(cise__1262)){cise__1263=(SCM_MAKE_INT(cise__1262));} else {cise__1263=(Scm_MakeInteger(cise__1262));}{PUSH_ARG(cise__1263);NEXT;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1261=(SCM_FLONUM_VALUE(arg))+(((double )(imm)));{PUSH_ARG(Scm_VMReturnFlonum(cise__1261));NEXT;}}} else {
{PUSH_ARG(Scm_Add(SCM_MAKE_INT(imm),arg));NEXT;}}}}}

label_NUMSUBI:
CASE(SCM_VM_NUMSUBI) 
{
#line 1318 "./vminsn.scm"
{long imm=SCM_VM_INSN_ARG(code);
{ScmObj arg=VAL0;
if (SCM_INTP(arg)){{long cise__1265=(imm)-(SCM_INT_VALUE(arg));ScmObj cise__1266;if (SCM_SMALL_INT_FITS(cise__1265)){cise__1266=(SCM_MAKE_INT(cise__1265));} else {cise__1266=(Scm_MakeInteger(cise__1265));}{VAL0=(cise__1266);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}else if(
SCM_FLONUMP(arg)){
{double cise__1264=(((double )(imm)))-(SCM_FLONUM_VALUE(arg));{VAL0=(Scm_VMReturnFlonum(cise__1264));(vm)->numVals=(1);NEXT_PUSHCHECK;}}} else {
{VAL0=(Scm_Sub(SCM_MAKE_INT(imm),arg));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}}

label_NUMMODI:
CASE(SCM_VM_NUMMODI) 
{
#line 1327 "./vminsn.scm"
{ScmSmallInt divisor=SCM_VM_INSN_ARG(code);
{ScmObj arg=VAL0;{VAL0=(Scm_Modulo(arg,SCM_MAKE_INT(divisor),FALSE));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_NUMREMI:
CASE(SCM_VM_NUMREMI) 
{
#line 1330 "./vminsn.scm"
{ScmSmallInt divisor=SCM_VM_INSN_ARG(code);
{ScmObj arg=VAL0;{VAL0=(Scm_Modulo(arg,SCM_MAKE_INT(divisor),TRUE));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_ASHI:
CASE(SCM_VM_ASHI) 
{
#line 1334 "./vminsn.scm"
{ScmSmallInt cnt=SCM_VM_INSN_ARG(code);
{ScmObj arg=VAL0;{VAL0=(Scm_Ash(arg,cnt));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_LOGAND:
CASE(SCM_VM_LOGAND) 
{
#line 1337 "./vminsn.scm"
{ScmObj x;POP_ARG(x);{VAL0=(Scm_LogAnd(x,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LOGIOR:
CASE(SCM_VM_LOGIOR) 
{
#line 1339 "./vminsn.scm"
{ScmObj x;POP_ARG(x);{VAL0=(Scm_LogIor(x,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LOGXOR:
CASE(SCM_VM_LOGXOR) 
{
#line 1341 "./vminsn.scm"
{ScmObj x;POP_ARG(x);{VAL0=(Scm_LogXor(x,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_LOGANDC:
CASE(SCM_VM_LOGANDC) 
{
#line 1343 "./vminsn.scm"
{ScmObj obj;
{ScmObj x=VAL0;FETCH_OPERAND(obj);INCR_PC;{VAL0=(Scm_LogAnd(x,obj));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_LOGIORC:
CASE(SCM_VM_LOGIORC) 
{
#line 1346 "./vminsn.scm"
{ScmObj obj;
{ScmObj x=VAL0;FETCH_OPERAND(obj);INCR_PC;{VAL0=(Scm_LogIor(x,obj));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_LOGXORC:
CASE(SCM_VM_LOGXORC) 
{
#line 1349 "./vminsn.scm"
{ScmObj obj;
{ScmObj x=VAL0;FETCH_OPERAND(obj);INCR_PC;{VAL0=(Scm_LogXor(x,obj));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_READ_CHAR:
CASE(SCM_VM_READ_CHAR) 
{
#line 1353 "./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 1358 "./vminsn.scm"
port=(SCM_CURIN);}
ch=(Scm_Getc(port));
{VAL0=((((ch)<(0))?(SCM_EOF):(SCM_MAKE_CHAR(ch))));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_PEEK_CHAR:
CASE(SCM_VM_PEEK_CHAR) 
{
#line 1363 "./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 1368 "./vminsn.scm"
port=(SCM_CURIN);}
ch=(Scm_Peekc(port));
{VAL0=((((ch)<(0))?(SCM_EOF):(SCM_MAKE_CHAR(ch))));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_WRITE_CHAR:
CASE(SCM_VM_WRITE_CHAR) 
{
#line 1373 "./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 1380 "./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);(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_CURIN:
CASE(SCM_VM_CURIN) 
{
#line 1385 "./vminsn.scm"
{VAL0=(SCM_OBJ((vm)->curin));(vm)->numVals=(1);NEXT_PUSHCHECK;}}

label_CUROUT:
CASE(SCM_VM_CUROUT) 
{
#line 1387 "./vminsn.scm"
{VAL0=(SCM_OBJ((vm)->curout));(vm)->numVals=(1);NEXT_PUSHCHECK;}}

label_CURERR:
CASE(SCM_VM_CURERR) 
{
#line 1389 "./vminsn.scm"
{VAL0=(SCM_OBJ((vm)->curerr));(vm)->numVals=(1);NEXT_PUSHCHECK;}}

label_SLOT_REF:
CASE(SCM_VM_SLOT_REF) 
{
#line 1392 "./vminsn.scm"
{ScmObj obj;POP_ARG(obj);
TAIL_CALL_INSTRUCTION();
SCM_FLONUM_ENSURE_MEM(VAL0);
{VAL0=(Scm_VMSlotRef(obj,VAL0,FALSE));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_SLOT_SET:
CASE(SCM_VM_SLOT_SET) 
{
#line 1398 "./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));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_SLOT_REFC:
CASE(SCM_VM_SLOT_REFC) 
{
#line 1407 "./vminsn.scm"
{ScmObj slot;
FETCH_OPERAND(slot);INCR_PC;
#line 1410 "./vminsn.scm"
TAIL_CALL_INSTRUCTION();
SCM_FLONUM_ENSURE_MEM(VAL0);
{VAL0=(Scm_VMSlotRef(VAL0,slot,FALSE));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}

label_SLOT_SETC:
CASE(SCM_VM_SLOT_SETC) 
{
#line 1415 "./vminsn.scm"
{ScmObj slot;
FETCH_OPERAND(slot);INCR_PC;
#line 1418 "./vminsn.scm"
{ScmObj obj;POP_ARG(obj);
TAIL_CALL_INSTRUCTION();
SCM_FLONUM_ENSURE_MEM(VAL0);
{VAL0=(Scm_VMSlotSet(obj,slot,VAL0));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_PUSH_HANDLERS:
CASE(SCM_VM_PUSH_HANDLERS) 
{
#line 1432 "./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 1441 "./vminsn.scm"
{
VM_ASSERT(SCM_PAIRP((vm)->handlers));
(vm)->handlers=(SCM_CDR((vm)->handlers));NEXT;}}

label_BOX:
CASE(SCM_VM_BOX) 
{
#line 1454 "./vminsn.scm"
{int param=SCM_VM_INSN_ARG(code);
if ((param)==(0)){
SCM_FLONUM_ENSURE_MEM(VAL0);
{ScmBox* b=Scm_MakeBox(VAL0);
VAL0=(SCM_OBJ(b));}}else if(
(param)>(0)){
{int off=(param)-(1);
VM_ASSERT(((ENV)->size)>(off));
{ScmObj v=ENV_DATA(ENV,off);
SCM_FLONUM_ENSURE_MEM(v);
{ScmBox* b=Scm_MakeBox(v);
ENV_DATA(ENV,off)=(SCM_OBJ(b));}}}}NEXT;}}

label_ENV_SET:
CASE(SCM_VM_ENV_SET) 
{
#line 1475 "./vminsn.scm"
{int off=SCM_VM_INSN_ARG(code);
VM_ASSERT(((ENV)->size)>(off));
SCM_FLONUM_ENSURE_MEM(VAL0);
ENV_DATA(ENV,off)=(VAL0);NEXT;}}

label_UNBOX:
CASE(SCM_VM_UNBOX) 
{
#line 1484 "./vminsn.scm"
{ScmObj v=VAL0;
VAL0=(SCM_BOX_VALUE(v));NEXT;}}

label_LREF_UNBOX:
CASE(SCM_VM_LREF_UNBOX) 
{
#line 1484 "./vminsn.scm"
{int G1267=SCM_VM_INSN_ARG0(code);int G1268=SCM_VM_INSN_ARG1(code);ScmEnvFrame* G1269=ENV;ScmObj v;switch (G1267) {case 4 : {G1269=((G1269)->up);}/*FALLTHROUGH*/case 3 : {G1269=((G1269)->up);}/*FALLTHROUGH*/case 2 : {G1269=((G1269)->up);}/*FALLTHROUGH*/case 1 : {G1269=((G1269)->up);}/*FALLTHROUGH*/case 0 : {v=(ENV_DATA(G1269,G1268));break;}/*FALLTHROUGH*/default: {while(((G1267)--)>(0)){G1269=((G1269)->up);}v=(ENV_DATA(G1269,G1268));break;}/*FALLTHROUGH*/}
VAL0=(SCM_BOX_VALUE(v));NEXT;}}

label_LOCAL_ENV_SHIFT:
CASE(SCM_VM_LOCAL_ENV_SHIFT) 
{
#line 1495 "./vminsn.scm"
{
local_env_shift(vm,SCM_VM_INSN_ARG(code));NEXT;}}

label_XLREF:
CASE(SCM_VM_XLREF) 
{
#line 1504 "./vminsn.scm"
{ScmObj dep_s;
FETCH_OPERAND(dep_s);INCR_PC;
#line 1507 "./vminsn.scm"
{int G1270=SCM_INT_VALUE(dep_s);int G1271=
SCM_VM_INSN_ARG(code);ScmEnvFrame* G1272=ENV;for (; (G1270)>(0); (G1270)--){G1272=((G1272)->up);}{VAL0=(ENV_DATA(G1272,G1271));(vm)->numVals=(1);NEXT_PUSHCHECK;}}}}

label_XLSET:
CASE(SCM_VM_XLSET) 
{
#line 1513 "./vminsn.scm"
{ScmObj dep_s;
FETCH_OPERAND(dep_s);INCR_PC;
#line 1516 "./vminsn.scm"
{int G1273=SCM_INT_VALUE(dep_s);int G1274=
SCM_VM_INSN_ARG(code);ScmEnvFrame* G1275=ENV;for (; (G1273)>(0); (G1273)--){VM_ASSERT((G1275)!=(NULL));G1275=((G1275)->up);}VM_ASSERT((G1275)!=(NULL));VM_ASSERT(((G1275)->size)>(G1274));SCM_FLONUM_ENSURE_MEM(VAL0);{ScmObj G1276=ENV_DATA(G1275,G1274);VM_ASSERT(SCM_BOXP(G1276));SCM_BOX_SET(G1276,VAL0);}(vm)->numVals=(1);NEXT;}}}
#endif /*VMLOOP*/


