/* Generated automatically from ./mt-random.scm.  DO NOT EDIT */
#include <gauche.h>
#include <gauche/code.h>
#include <gauche/extend.h>

#line 51 "./mt-random.scm"
#include "mt-random.h"


static ScmObj math_2d_2dmt_2drandommt_random_set_seedX(ScmObj*, int, void*);
static SCM_DEFINE_SUBR(math_2d_2dmt_2drandommt_random_set_seedX__STUB, 2, 0,SCM_FALSE,math_2d_2dmt_2drandommt_random_set_seedX, NULL, NULL);


static ScmObj math_2d_2dmt_2drandommt_random_get_state(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(math_2d_2dmt_2drandommt_random_get_state__STUB, 1, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, math_2d_2dmt_2drandommt_random_get_state, NULL, NULL);


static ScmObj math_2d_2dmt_2drandommt_random_set_stateX(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(math_2d_2dmt_2drandommt_random_set_stateX__STUB, 2, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, math_2d_2dmt_2drandommt_random_set_stateX, NULL, NULL);


static ScmObj math_2d_2dmt_2drandommt_random_real(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(math_2d_2dmt_2drandommt_random_real__STUB, 1, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, math_2d_2dmt_2drandommt_random_real, NULL, NULL);


static ScmObj math_2d_2dmt_2drandommt_random_real0(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(math_2d_2dmt_2drandommt_random_real0__STUB, 1, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, math_2d_2dmt_2drandommt_random_real0, NULL, NULL);


static ScmObj math_2d_2dmt_2drandom_25mt_random_integer(ScmObj*, int, void*);
static SCM_DEFINE_SUBR(math_2d_2dmt_2drandom_25mt_random_integer__STUB, 2, 0,SCM_FALSE,math_2d_2dmt_2drandom_25mt_random_integer, NULL, NULL);


static ScmObj math_2d_2dmt_2drandom_25mt_random_uint32(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(math_2d_2dmt_2drandom_25mt_random_uint32__STUB, 1, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, math_2d_2dmt_2drandom_25mt_random_uint32, NULL, NULL);


static ScmObj math_2d_2dmt_2drandommt_random_fill_u32vectorX(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(math_2d_2dmt_2drandommt_random_fill_u32vectorX__STUB, 2, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, math_2d_2dmt_2drandommt_random_fill_u32vectorX, NULL, NULL);


static ScmObj math_2d_2dmt_2drandommt_random_fill_f32vectorX(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(math_2d_2dmt_2drandommt_random_fill_f32vectorX__STUB, 2, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, math_2d_2dmt_2drandommt_random_fill_f32vectorX, NULL, NULL);


static ScmObj math_2d_2dmt_2drandommt_random_fill_f64vectorX(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(math_2d_2dmt_2drandommt_random_fill_f64vectorX__STUB, 2, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, math_2d_2dmt_2drandommt_random_fill_f64vectorX, NULL, NULL);

#if defined(__CYGWIN__) || defined(GAUCHE_WINDOWS)
#define SCM_CGEN_CONST /*empty*/
#else
#define SCM_CGEN_CONST const
#endif
static SCM_CGEN_CONST struct scm__scRec {
  ScmString d1490[29];
} scm__sc SCM_UNUSED = {
  {   /* ScmString d1490 */
      SCM_STRING_CONST_INITIALIZER("math.mt-random", 14, 14),
      SCM_STRING_CONST_INITIALIZER("mt-random-set-seed!", 19, 19),
      SCM_STRING_CONST_INITIALIZER("mt", 2, 2),
      SCM_STRING_CONST_INITIALIZER("init", 4, 4),
      SCM_STRING_CONST_INITIALIZER("source-info", 11, 11),
      SCM_STRING_CONST_INITIALIZER("./mt-random.scm", 15, 15),
      SCM_STRING_CONST_INITIALIZER("bind-info", 9, 9),
      SCM_STRING_CONST_INITIALIZER("mt-random-get-state", 19, 19),
      SCM_STRING_CONST_INITIALIZER("mt-random-set-state!", 20, 20),
      SCM_STRING_CONST_INITIALIZER("state", 5, 5),
      SCM_STRING_CONST_INITIALIZER("mt-random-real", 14, 14),
      SCM_STRING_CONST_INITIALIZER("mt-random-real0", 15, 15),
      SCM_STRING_CONST_INITIALIZER("%mt-random-integer", 18, 18),
      SCM_STRING_CONST_INITIALIZER("n", 1, 1),
      SCM_STRING_CONST_INITIALIZER("%mt-random-uint32", 17, 17),
      SCM_STRING_CONST_INITIALIZER("mt-random-fill-u32vector!", 25, 25),
      SCM_STRING_CONST_INITIALIZER("v", 1, 1),
      SCM_STRING_CONST_INITIALIZER("mt-random-fill-f32vector!", 25, 25),
      SCM_STRING_CONST_INITIALIZER("mt-random-fill-f64vector!", 25, 25),
      SCM_STRING_CONST_INITIALIZER("%get-nword-random-int", 21, 21),
      SCM_STRING_CONST_INITIALIZER("unused-args", 11, 11),
      SCM_STRING_CONST_INITIALIZER("mt-random-integer", 17, 17),
      SCM_STRING_CONST_INITIALIZER("positive\077", 9, 9),
      SCM_STRING_CONST_INITIALIZER("invalid range", 13, 13),
      SCM_STRING_CONST_INITIALIZER("error", 5, 5),
      SCM_STRING_CONST_INITIALIZER("100000000", 9, 9),
      SCM_STRING_CONST_INITIALIZER("integer-length", 14, 14),
      SCM_STRING_CONST_INITIALIZER("ash", 3, 3),
      SCM_STRING_CONST_INITIALIZER("quotient", 8, 8),
  },
};
static struct scm__rcRec {
  ScmCompiledCode d1507[2];
  ScmWord d1506[102];
  ScmPair d1500[102] SCM_ALIGN_PAIR;
  ScmObj d1489[49];
} scm__rc SCM_UNUSED = {
  {   /* ScmCompiledCode d1507 */
        SCM_COMPILED_CODE_CONST_INITIALIZER(  /* %get-nword-random-int */
            (ScmWord*)(SCM_OBJ(&scm__rc.d1506[0])), 25,
            22, 2, 0, SCM_FALSE, SCM_NIL, SCM_OBJ(&scm__rc.d1500[96]),
            SCM_FALSE, SCM_FALSE),
        SCM_COMPILED_CODE_CONST_INITIALIZER(  /* mt-random-integer */
            (ScmWord*)(SCM_OBJ(&scm__rc.d1506[25])), 77,
            33, 2, 0, SCM_FALSE, SCM_NIL, SCM_OBJ(&scm__rc.d1500[101]),
            SCM_FALSE, SCM_FALSE),
  },
  {   /* ScmWord d1506 */
    /* %get-nword-random-int */
    0x00000007    /*   0 (CONSTI-PUSH 0) */,
    0x0000100e    /*   1 (PRE-CALL 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[0]) + 6),
    0x00000049    /*   3 (LREF1-PUSH) */,
    0x0000105f    /*   4 (GREF-CALL 1) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#%mt-random-uint32.8542bca0> */,
    0x00002018    /*   6 (PUSH-LOCAL-ENV 2) */,
    0x00000041    /*   7 (LREF10) */,
    0x00400028    /*   8 (LREF-VAL0-BNUMNE 0 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[0]) + 11),
    0x00000053    /*  10 (LREF0-RET) */,
    0x000010c8    /*  11 (LREF1-NUMADDI-PUSH 1) */,
    0x0000003d    /*  12 (LREF0) */,
    0x000200d4    /*  13 (ASHI 32) */,
    0x0000100f    /*  14 (PUSH-PRE-CALL 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[0]) + 19),
    0x0000004d    /*  16 (LREF11-PUSH) */,
    0x0000105f    /*  17 (GREF-CALL 1) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#%mt-random-uint32.8542bd40> */,
    0x000000b2    /*  19 (NUMADD2) */,
    0x0000000d    /*  20 (PUSH) */,
    0x0000101b    /*  21 (LOCAL-ENV-JUMP 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[0]) + 7),
    0x00000014    /*  23 (RET) */,
    0x00000014    /*  24 (RET) */,
    /* mt-random-integer */
    0x0000100e    /*   0 (PRE-CALL 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 5),
    0x00000048    /*   2 (LREF0-PUSH) */,
    0x0000105f    /*   3 (GREF-CALL 1) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#positive?.8605dc00> */,
    0x0000001e    /*   5 (BF) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 9),
    0x00000013    /*   7 (JUMP) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 16),
    0x0000200e    /*   9 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 16),
    0x00000006    /*  11 (CONST-PUSH) */,
    SCM_WORD(SCM_OBJ(&scm__sc.d1490[23])) /* "invalid range" */,
    0x00000048    /*  13 (LREF0-PUSH) */,
    0x0000205f    /*  14 (GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#error.8605dba0> */,
    0x00000001    /*  16 (CONST) */,
    SCM_WORD(SCM_UNDEFINED) /* 4294967296 */,
    0x0000002a    /*  18 (LREF-VAL0-BNLE 0 0) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 25),
    0x00000049    /*  20 (LREF1-PUSH) */,
    0x00000048    /*  21 (LREF0-PUSH) */,
    0x00002060    /*  22 (GREF-TAIL-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#%mt-random-integer.8605da60> */,
    0x00000014    /*  24 (RET) */,
    0x0000100e    /*  25 (PRE-CALL 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 30),
    0x00000048    /*  27 (LREF0-PUSH) */,
    0x0000105f    /*  28 (GREF-CALL 1) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#integer-length.8605d840> */,
    -0x00004f2c   /*  30 (ASHI -5) */,
    0x00001018    /*  31 (PUSH-LOCAL-ENV 1) */,
    0x0000200e    /*  32 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 46),
    0x0000200e    /*  34 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 42),
    0x00001007    /*  36 (CONSTI-PUSH 1) */,
    0x00020007    /*  37 (CONSTI-PUSH 32) */,
    0x000010bd    /*  38 (LREF0-NUMADDI 1) */,
    0x000000b4    /*  39 (NUMMUL2) */,
    0x00002062    /*  40 (PUSH-GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#ash.8605d2a0> */,
    0x0000000d    /*  42 (PUSH) */,
    0x0000004c    /*  43 (LREF10-PUSH) */,
    0x0000205f    /*  44 (GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#quotient.8605d7c0> */,
    0x00001018    /*  46 (PUSH-LOCAL-ENV 1) */,
    0x00000048    /*  47 (LREF0-PUSH) */,
    0x00000044    /*  48 (LREF20) */,
    0x000000b4    /*  49 (NUMMUL2) */,
    0x00001018    /*  50 (PUSH-LOCAL-ENV 1) */,
    0x0000200e    /*  51 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 57),
    0x00403047    /*  53 (LREF-PUSH 3 1) */,
    0x0000004f    /*  54 (LREF20-PUSH) */,
    0x0000205f    /*  55 (GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#%get-nword-random-int.86069340> */,
    0x00001018    /*  57 (PUSH-LOCAL-ENV 1) */,
    0x00000041    /*  58 (LREF10) */,
    0x00000029    /*  59 (LREF-VAL0-BNLT 0 0) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 66),
    0x00000048    /*  61 (LREF0-PUSH) */,
    0x0000004f    /*  62 (LREF20-PUSH) */,
    0x00002060    /*  63 (GREF-TAIL-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#quotient.860695e0> */,
    0x00000014    /*  65 (RET) */,
    0x0000200e    /*  66 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 72),
    0x00404047    /*  68 (LREF-PUSH 4 1) */,
    0x00000051    /*  69 (LREF30-PUSH) */,
    0x0000205f    /*  70 (GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#%get-nword-random-int.860693e0> */,
    0x0000000d    /*  72 (PUSH) */,
    0x0000101b    /*  73 (LOCAL-ENV-JUMP 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]) + 58),
    0x00000014    /*  75 (RET) */,
    0x00000014    /*  76 (RET) */,
  },
  {   /* ScmPair d1500 */
       { SCM_NIL, SCM_NIL },
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[1])},
       { SCM_MAKE_INT(59U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[3])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[4])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[6])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[7])},
       { SCM_OBJ(&scm__rc.d1500[8]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[5]), SCM_OBJ(&scm__rc.d1500[9])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_MAKE_INT(62U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[12])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[13])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[15])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[16])},
       { SCM_OBJ(&scm__rc.d1500[17]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[14]), SCM_OBJ(&scm__rc.d1500[18])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[20])},
       { SCM_MAKE_INT(69U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[22])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[23])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[25])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[26])},
       { SCM_OBJ(&scm__rc.d1500[27]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[24]), SCM_OBJ(&scm__rc.d1500[28])},
       { SCM_MAKE_INT(79U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[30])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[31])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[33])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[34])},
       { SCM_OBJ(&scm__rc.d1500[35]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[32]), SCM_OBJ(&scm__rc.d1500[36])},
       { SCM_MAKE_INT(82U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[38])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[39])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[41])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[42])},
       { SCM_OBJ(&scm__rc.d1500[43]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[40]), SCM_OBJ(&scm__rc.d1500[44])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[46])},
       { SCM_MAKE_INT(85U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[48])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[49])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[51])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[52])},
       { SCM_OBJ(&scm__rc.d1500[53]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[50]), SCM_OBJ(&scm__rc.d1500[54])},
       { SCM_MAKE_INT(88U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[56])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[57])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[59])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[60])},
       { SCM_OBJ(&scm__rc.d1500[61]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[58]), SCM_OBJ(&scm__rc.d1500[62])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[64])},
       { SCM_MAKE_INT(91U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[66])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[67])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[69])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[70])},
       { SCM_OBJ(&scm__rc.d1500[71]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[68]), SCM_OBJ(&scm__rc.d1500[72])},
       { SCM_MAKE_INT(97U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[74])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[75])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[77])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[78])},
       { SCM_OBJ(&scm__rc.d1500[79]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[76]), SCM_OBJ(&scm__rc.d1500[80])},
       { SCM_MAKE_INT(103U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[82])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[83])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[85])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[86])},
       { SCM_OBJ(&scm__rc.d1500[87]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[84]), SCM_OBJ(&scm__rc.d1500[88])},
       { SCM_MAKE_INT(110U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[90])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[91])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[93]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[92]), SCM_OBJ(&scm__rc.d1500[94])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_MAKE_INT(117U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[97])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[98])},
       { SCM_OBJ(&scm__rc.d1500[99]), SCM_OBJ(&scm__rc.d1500[94])},
       { SCM_UNDEFINED, SCM_NIL},
  },
  {   /* ScmObj d1489 */
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
  },
};
static ScmObj math_2d_2dmt_2drandommt_random_set_seedX(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj init_scm;
  ScmObj init;
  ScmObj SCM_SUBRARGS[2];
  SCM_ENTER_SUBR("mt-random-set-seed!");
  for (int SCM_i=0; SCM_i<2; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  init_scm = SCM_SUBRARGS[1];
  init = (init_scm);
  {
Scm_MTSetSeed(mt,init);
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(SCM_UNDEFINED);
  }
}

static ScmObj math_2d_2dmt_2drandommt_random_get_state(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj SCM_SUBRARGS[1];
  SCM_ENTER_SUBR("mt-random-get-state");
  for (int SCM_i=0; SCM_i<1; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  {
{
ScmObj SCM_RESULT;

#line 63 "./mt-random.scm"
{ScmObj v=Scm_MakeU32Vector((N)+(1),0);
{int i=0;int cise__1501=N;for (; (i)<(cise__1501); (i)++){
(SCM_U32VECTOR_ELEMENTS(v))[i]=(((mt)->mt)[i]);}}
(SCM_U32VECTOR_ELEMENTS(v))[N]=((mt)->mti);
{SCM_RESULT=(v);goto SCM_STUB_RETURN;}}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
}
  }
}

static ScmObj math_2d_2dmt_2drandommt_random_set_stateX(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj state_scm;
  ScmUVector* state;
  ScmObj SCM_SUBRARGS[2];
  SCM_ENTER_SUBR("mt-random-set-state!");
  for (int SCM_i=0; SCM_i<2; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  state_scm = SCM_SUBRARGS[1];
  if (!SCM_U32VECTORP(state_scm)) Scm_Error("u32vector required, but got %S", state_scm);
  state = SCM_U32VECTOR(state_scm);
  {

#line 71 "./mt-random.scm"
if (!((SCM_U32VECTOR_SIZE(state))==((N)+(1)))){{
Scm_Error("u32vector of length %d is required, but got length %d",
(N)+(1),SCM_U32VECTOR_SIZE(state));}}

#line 74 "./mt-random.scm"
{int i=0;int cise__1502=N;for (; (i)<(cise__1502); (i)++){
((mt)->mt)[i]=(
(SCM_U32VECTOR_ELEMENTS(state))[i]);}}

#line 77 "./mt-random.scm"
(mt)->mti=((SCM_U32VECTOR_ELEMENTS(state))[N]);
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(SCM_UNDEFINED);
  }
}

static ScmObj math_2d_2dmt_2drandommt_random_real(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj SCM_SUBRARGS[1];
  SCM_ENTER_SUBR("mt-random-real");
  for (int SCM_i=0; SCM_i<1; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  {
{
double SCM_RESULT;

#line 80 "./mt-random.scm"
{SCM_RESULT=(Scm_MTGenrandF64(mt,TRUE));goto SCM_STUB_RETURN;}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(Scm_VMReturnFlonum(SCM_RESULT));
}
  }
}

static ScmObj math_2d_2dmt_2drandommt_random_real0(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj SCM_SUBRARGS[1];
  SCM_ENTER_SUBR("mt-random-real0");
  for (int SCM_i=0; SCM_i<1; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  {
{
double SCM_RESULT;

#line 83 "./mt-random.scm"
{SCM_RESULT=(Scm_MTGenrandF64(mt,FALSE));goto SCM_STUB_RETURN;}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(Scm_VMReturnFlonum(SCM_RESULT));
}
  }
}

static ScmObj math_2d_2dmt_2drandom_25mt_random_integer(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj n_scm;
  ScmObj n;
  ScmObj SCM_SUBRARGS[2];
  SCM_ENTER_SUBR("%mt-random-integer");
  for (int SCM_i=0; SCM_i<2; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  n_scm = SCM_SUBRARGS[1];
  n = (n_scm);
  {
{
ScmObj SCM_RESULT;
{SCM_RESULT=(Scm_MTGenrandInt(mt,n));goto SCM_STUB_RETURN;}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
}
  }
}

static ScmObj math_2d_2dmt_2drandom_25mt_random_uint32(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj SCM_SUBRARGS[1];
  SCM_ENTER_SUBR("%mt-random-uint32");
  for (int SCM_i=0; SCM_i<1; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  {
{
u_long SCM_RESULT;
{SCM_RESULT=(Scm_MTGenrandU32(mt));goto SCM_STUB_RETURN;}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(Scm_MakeIntegerFromUI(SCM_RESULT));
}
  }
}

static ScmObj math_2d_2dmt_2drandommt_random_fill_u32vectorX(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj v_scm;
  ScmUVector* v;
  ScmObj SCM_SUBRARGS[2];
  SCM_ENTER_SUBR("mt-random-fill-u32vector!");
  for (int SCM_i=0; SCM_i<2; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  v_scm = SCM_SUBRARGS[1];
  if (!SCM_U32VECTORP(v_scm)) Scm_Error("u32vector required, but got %S", v_scm);
  v = SCM_U32VECTOR(v_scm);
  {
{
ScmObj SCM_RESULT;

#line 92 "./mt-random.scm"
{uint32_t* p=SCM_U32VECTOR_ELEMENTS(v);
{int i=0;int cise__1503=SCM_U32VECTOR_SIZE(v);for (; (i)<(cise__1503); (i)++){
*((p)++)=(Scm_MTGenrandU32(mt));}}
{SCM_RESULT=(SCM_OBJ(v));goto SCM_STUB_RETURN;}}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
}
  }
}

static ScmObj math_2d_2dmt_2drandommt_random_fill_f32vectorX(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj v_scm;
  ScmUVector* v;
  ScmObj SCM_SUBRARGS[2];
  SCM_ENTER_SUBR("mt-random-fill-f32vector!");
  for (int SCM_i=0; SCM_i<2; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  v_scm = SCM_SUBRARGS[1];
  if (!SCM_F32VECTORP(v_scm)) Scm_Error("f32vector required, but got %S", v_scm);
  v = SCM_F32VECTOR(v_scm);
  {
{
ScmObj SCM_RESULT;

#line 98 "./mt-random.scm"
{float* p=SCM_F32VECTOR_ELEMENTS(v);
{int i=0;int cise__1504=SCM_F32VECTOR_SIZE(v);for (; (i)<(cise__1504); (i)++){
*((p)++)=(Scm_MTGenrandF32(mt,TRUE));}}
{SCM_RESULT=(SCM_OBJ(v));goto SCM_STUB_RETURN;}}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
}
  }
}

static ScmObj math_2d_2dmt_2drandommt_random_fill_f64vectorX(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj mt_scm;
  ScmMersenneTwister* mt;
  ScmObj v_scm;
  ScmUVector* v;
  ScmObj SCM_SUBRARGS[2];
  SCM_ENTER_SUBR("mt-random-fill-f64vector!");
  for (int SCM_i=0; SCM_i<2; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  mt_scm = SCM_SUBRARGS[0];
  if (!SCM_MERSENNE_TWISTER_P(mt_scm)) Scm_Error("<mersenne-twister> required, but got %S", mt_scm);
  mt = SCM_MERSENNE_TWISTER(mt_scm);
  v_scm = SCM_SUBRARGS[1];
  if (!SCM_F64VECTORP(v_scm)) Scm_Error("f64vector required, but got %S", v_scm);
  v = SCM_F64VECTOR(v_scm);
  {
{
ScmObj SCM_RESULT;

#line 104 "./mt-random.scm"
{double* p=SCM_F64VECTOR_ELEMENTS(v);
{int i=0;int cise__1505=SCM_F64VECTOR_SIZE(v);for (; (i)<(cise__1505); (i)++){
*((p)++)=(Scm_MTGenrandF64(mt,TRUE));}}
{SCM_RESULT=(SCM_OBJ(v));goto SCM_STUB_RETURN;}}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
}
  }
}

static ScmCompiledCode *toplevels[] = {
 NULL /*termination*/
};
SCM_EXTENSION_ENTRY void Scm_Init_math__mt_random() {
   Scm_SelectModule(SCM_MODULE(SCM_OBJ(Scm_GaucheModule())));
SCM_INIT_EXTENSION(mt_random);
  scm__rc.d1489[1] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[0])),TRUE); /* math.mt-random */
  scm__rc.d1489[0] = SCM_OBJ(Scm_FindModule(SCM_SYMBOL(scm__rc.d1489[1]), SCM_FIND_MODULE_CREATE)); /* module math.mt-random */
   Scm_SelectModule(SCM_MODULE(scm__rc.d1489[0]));
   Scm_SelectModule(SCM_MODULE(SCM_OBJ(Scm_GaucheModule())));
   Scm_SelectModule(SCM_MODULE(scm__rc.d1489[0]));

#line 52 "./mt-random.scm"
Scm_Init_mt_random();
  scm__rc.d1489[2] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[1])),TRUE); /* mt-random-set-seed! */
  scm__rc.d1489[3] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[2])),TRUE); /* mt */
  scm__rc.d1489[4] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[3])),TRUE); /* init */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[1]), scm__rc.d1489[4]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[2]), scm__rc.d1489[3]);
  scm__rc.d1489[5] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[4])),TRUE); /* source-info */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[5]), scm__rc.d1489[5]);
  scm__rc.d1489[6] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[6])),TRUE); /* bind-info */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[6]), scm__rc.d1489[2]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[7]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[8]), scm__rc.d1489[6]);
  scm__rc.d1489[7] = Scm_MakeExtendedPair(scm__rc.d1489[2], SCM_OBJ(&scm__rc.d1500[2]), SCM_OBJ(&scm__rc.d1500[10]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("mt-random-set-seed!")), SCM_OBJ(&math_2d_2dmt_2drandommt_random_set_seedX__STUB), 0);
  math_2d_2dmt_2drandommt_random_set_seedX__STUB.common.info = scm__rc.d1489[7];
  scm__rc.d1489[8] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[7])),TRUE); /* mt-random-get-state */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[11]), scm__rc.d1489[3]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[14]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[15]), scm__rc.d1489[8]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[16]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[17]), scm__rc.d1489[6]);
  scm__rc.d1489[9] = Scm_MakeExtendedPair(scm__rc.d1489[8], SCM_OBJ(&scm__rc.d1500[11]), SCM_OBJ(&scm__rc.d1500[19]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("mt-random-get-state")), SCM_OBJ(&math_2d_2dmt_2drandommt_random_get_state__STUB), 0);
  math_2d_2dmt_2drandommt_random_get_state__STUB.common.info = scm__rc.d1489[9];
  scm__rc.d1489[10] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[8])),TRUE); /* mt-random-set-state! */
  scm__rc.d1489[11] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[9])),TRUE); /* state */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[20]), scm__rc.d1489[11]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[21]), scm__rc.d1489[3]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[24]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[25]), scm__rc.d1489[10]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[26]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[27]), scm__rc.d1489[6]);
  scm__rc.d1489[12] = Scm_MakeExtendedPair(scm__rc.d1489[10], SCM_OBJ(&scm__rc.d1500[21]), SCM_OBJ(&scm__rc.d1500[29]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("mt-random-set-state!")), SCM_OBJ(&math_2d_2dmt_2drandommt_random_set_stateX__STUB), 0);
  math_2d_2dmt_2drandommt_random_set_stateX__STUB.common.info = scm__rc.d1489[12];
  scm__rc.d1489[13] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[10])),TRUE); /* mt-random-real */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[32]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[33]), scm__rc.d1489[13]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[34]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[35]), scm__rc.d1489[6]);
  scm__rc.d1489[14] = Scm_MakeExtendedPair(scm__rc.d1489[13], SCM_OBJ(&scm__rc.d1500[11]), SCM_OBJ(&scm__rc.d1500[37]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("mt-random-real")), SCM_OBJ(&math_2d_2dmt_2drandommt_random_real__STUB), 0);
  math_2d_2dmt_2drandommt_random_real__STUB.common.info = scm__rc.d1489[14];
  scm__rc.d1489[15] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[11])),TRUE); /* mt-random-real0 */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[40]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[41]), scm__rc.d1489[15]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[42]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[43]), scm__rc.d1489[6]);
  scm__rc.d1489[16] = Scm_MakeExtendedPair(scm__rc.d1489[15], SCM_OBJ(&scm__rc.d1500[11]), SCM_OBJ(&scm__rc.d1500[45]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("mt-random-real0")), SCM_OBJ(&math_2d_2dmt_2drandommt_random_real0__STUB), 0);
  math_2d_2dmt_2drandommt_random_real0__STUB.common.info = scm__rc.d1489[16];
  scm__rc.d1489[17] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[12])),TRUE); /* %mt-random-integer */
  scm__rc.d1489[18] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[13])),TRUE); /* n */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[46]), scm__rc.d1489[18]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[47]), scm__rc.d1489[3]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[50]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[51]), scm__rc.d1489[17]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[52]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[53]), scm__rc.d1489[6]);
  scm__rc.d1489[19] = Scm_MakeExtendedPair(scm__rc.d1489[17], SCM_OBJ(&scm__rc.d1500[47]), SCM_OBJ(&scm__rc.d1500[55]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("%mt-random-integer")), SCM_OBJ(&math_2d_2dmt_2drandom_25mt_random_integer__STUB), 0);
  math_2d_2dmt_2drandom_25mt_random_integer__STUB.common.info = scm__rc.d1489[19];
  scm__rc.d1489[20] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[14])),TRUE); /* %mt-random-uint32 */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[58]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[59]), scm__rc.d1489[20]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[60]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[61]), scm__rc.d1489[6]);
  scm__rc.d1489[21] = Scm_MakeExtendedPair(scm__rc.d1489[20], SCM_OBJ(&scm__rc.d1500[11]), SCM_OBJ(&scm__rc.d1500[63]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("%mt-random-uint32")), SCM_OBJ(&math_2d_2dmt_2drandom_25mt_random_uint32__STUB), 0);
  math_2d_2dmt_2drandom_25mt_random_uint32__STUB.common.info = scm__rc.d1489[21];
  scm__rc.d1489[22] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[15])),TRUE); /* mt-random-fill-u32vector! */
  scm__rc.d1489[23] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[16])),TRUE); /* v */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[64]), scm__rc.d1489[23]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[65]), scm__rc.d1489[3]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[68]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[69]), scm__rc.d1489[22]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[70]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[71]), scm__rc.d1489[6]);
  scm__rc.d1489[24] = Scm_MakeExtendedPair(scm__rc.d1489[22], SCM_OBJ(&scm__rc.d1500[65]), SCM_OBJ(&scm__rc.d1500[73]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("mt-random-fill-u32vector!")), SCM_OBJ(&math_2d_2dmt_2drandommt_random_fill_u32vectorX__STUB), 0);
  math_2d_2dmt_2drandommt_random_fill_u32vectorX__STUB.common.info = scm__rc.d1489[24];
  scm__rc.d1489[25] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[17])),TRUE); /* mt-random-fill-f32vector! */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[76]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[77]), scm__rc.d1489[25]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[78]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[79]), scm__rc.d1489[6]);
  scm__rc.d1489[26] = Scm_MakeExtendedPair(scm__rc.d1489[25], SCM_OBJ(&scm__rc.d1500[65]), SCM_OBJ(&scm__rc.d1500[81]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("mt-random-fill-f32vector!")), SCM_OBJ(&math_2d_2dmt_2drandommt_random_fill_f32vectorX__STUB), 0);
  math_2d_2dmt_2drandommt_random_fill_f32vectorX__STUB.common.info = scm__rc.d1489[26];
  scm__rc.d1489[27] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[18])),TRUE); /* mt-random-fill-f64vector! */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[84]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[85]), scm__rc.d1489[27]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[86]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[87]), scm__rc.d1489[6]);
  scm__rc.d1489[28] = Scm_MakeExtendedPair(scm__rc.d1489[27], SCM_OBJ(&scm__rc.d1500[65]), SCM_OBJ(&scm__rc.d1500[89]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("mt-random-fill-f64vector!")), SCM_OBJ(&math_2d_2dmt_2drandommt_random_fill_f64vectorX__STUB), 0);
  math_2d_2dmt_2drandommt_random_fill_f64vectorX__STUB.common.info = scm__rc.d1489[28];
  scm__rc.d1489[29] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[19])),TRUE); /* %get-nword-random-int */
  scm__rc.d1489[31] = SCM_OBJ(Scm_FindModule(SCM_SYMBOL(scm__rc.d1489[1]), SCM_FIND_MODULE_CREATE|SCM_FIND_MODULE_PLACEHOLDING)); /* module math.mt-random */
  scm__rc.d1489[30] = Scm_MakeIdentifier(scm__rc.d1489[20], SCM_MODULE(scm__rc.d1489[31]), SCM_NIL); /* math.mt-random#%mt-random-uint32 */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[92]), scm__rc.d1489[5]);
  scm__rc.d1489[32] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[20])),TRUE); /* unused-args */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[93]), scm__rc.d1489[32]);
  scm__rc.d1489[33] = Scm_MakeExtendedPair(scm__rc.d1489[29], SCM_OBJ(&scm__rc.d1500[47]), SCM_OBJ(&scm__rc.d1500[95]));
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[96]), scm__rc.d1489[33]);
  SCM_COMPILED_CODE(SCM_OBJ(&scm__rc.d1507[0]))->name = scm__rc.d1489[29];/* %get-nword-random-int */
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[0]))[5] = SCM_WORD(scm__rc.d1489[30]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[0]))[18] = SCM_WORD(scm__rc.d1489[30]);
  ScmObj G1508 = Scm_MakeClosure(SCM_OBJ(&scm__rc.d1507[0]), NULL);

  Scm_MakeBinding(SCM_MODULE(Scm_CurrentModule()) /*  */, SCM_SYMBOL(scm__rc.d1489[29]) /* %get-nword-random-int */, G1508,0);

  scm__rc.d1489[34] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[21])),TRUE); /* mt-random-integer */
  scm__rc.d1489[36] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[22])),TRUE); /* positive? */
  scm__rc.d1489[35] = Scm_MakeIdentifier(scm__rc.d1489[36], SCM_MODULE(scm__rc.d1489[31]), SCM_NIL); /* math.mt-random#positive? */
  scm__rc.d1489[38] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[24])),TRUE); /* error */
  scm__rc.d1489[37] = Scm_MakeIdentifier(scm__rc.d1489[38], SCM_MODULE(scm__rc.d1489[31]), SCM_NIL); /* math.mt-random#error */
  scm__rc.d1489[39] = Scm_StringToNumber(SCM_STRING(SCM_OBJ(&scm__sc.d1490[25])), 16, 0);
  scm__rc.d1489[40] = Scm_MakeIdentifier(scm__rc.d1489[17], SCM_MODULE(scm__rc.d1489[31]), SCM_NIL); /* math.mt-random#%mt-random-integer */
  scm__rc.d1489[42] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[26])),TRUE); /* integer-length */
  scm__rc.d1489[41] = Scm_MakeIdentifier(scm__rc.d1489[42], SCM_MODULE(scm__rc.d1489[31]), SCM_NIL); /* math.mt-random#integer-length */
  scm__rc.d1489[44] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[27])),TRUE); /* ash */
  scm__rc.d1489[43] = Scm_MakeIdentifier(scm__rc.d1489[44], SCM_MODULE(scm__rc.d1489[31]), SCM_NIL); /* math.mt-random#ash */
  scm__rc.d1489[46] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[28])),TRUE); /* quotient */
  scm__rc.d1489[45] = Scm_MakeIdentifier(scm__rc.d1489[46], SCM_MODULE(scm__rc.d1489[31]), SCM_NIL); /* math.mt-random#quotient */
  scm__rc.d1489[47] = Scm_MakeIdentifier(scm__rc.d1489[29], SCM_MODULE(scm__rc.d1489[31]), SCM_NIL); /* math.mt-random#%get-nword-random-int */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[99]), scm__rc.d1489[5]);
  scm__rc.d1489[48] = Scm_MakeExtendedPair(scm__rc.d1489[34], SCM_OBJ(&scm__rc.d1500[47]), SCM_OBJ(&scm__rc.d1500[100]));
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[101]), scm__rc.d1489[48]);
  SCM_COMPILED_CODE(SCM_OBJ(&scm__rc.d1507[1]))->name = scm__rc.d1489[34];/* mt-random-integer */
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[4] = SCM_WORD(scm__rc.d1489[35]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[15] = SCM_WORD(scm__rc.d1489[37]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[17] = SCM_WORD(scm__rc.d1489[39]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[23] = SCM_WORD(scm__rc.d1489[40]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[29] = SCM_WORD(scm__rc.d1489[41]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[41] = SCM_WORD(scm__rc.d1489[43]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[45] = SCM_WORD(scm__rc.d1489[45]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[56] = SCM_WORD(scm__rc.d1489[47]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[64] = SCM_WORD(scm__rc.d1489[45]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1506[25]))[71] = SCM_WORD(scm__rc.d1489[47]);
  ScmObj G1509 = Scm_MakeClosure(SCM_OBJ(&scm__rc.d1507[1]), NULL);

  Scm_MakeBinding(SCM_MODULE(Scm_CurrentModule()) /*  */, SCM_SYMBOL(scm__rc.d1489[34]) /* mt-random-integer */, G1509,0);

  Scm_VMExecuteToplevels(toplevels);
}
