// File: /workspace/github_c_makefile_star2_O0/janet-lang[P]janet/src/core/math.c
// Function: janet_lib_math
void janet_lib_math(JanetTable *env) {
    JanetRegExt math_cfuns[] = {
        JANET_CORE_REG("not", janet_not),
        JANET_CORE_REG("math/random", janet_rand),
        JANET_CORE_REG("math/seedrandom", janet_srand),
        JANET_CORE_REG("math/cos", janet_cos),
        JANET_CORE_REG("math/sin", janet_sin),
        JANET_CORE_REG("math/tan", janet_tan),
        JANET_CORE_REG("math/acos", janet_acos),
        JANET_CORE_REG("math/asin", janet_asin),
        JANET_CORE_REG("math/atan", janet_atan),
        JANET_CORE_REG("math/exp", janet_exp),
        JANET_CORE_REG("math/log", janet_log),
        JANET_CORE_REG("math/log10", janet_log10),
        JANET_CORE_REG("math/log2", janet_log2),
        JANET_CORE_REG("math/sqrt", janet_sqrt),
        JANET_CORE_REG("math/cbrt", janet_cbrt),
        JANET_CORE_REG("math/floor", janet_floor),
        JANET_CORE_REG("math/ceil", janet_ceil),
        JANET_CORE_REG("math/pow", janet_pow),
        JANET_CORE_REG("math/abs", janet_fabs),
        JANET_CORE_REG("math/sinh", janet_sinh),
        JANET_CORE_REG("math/cosh", janet_cosh),
        JANET_CORE_REG("math/tanh", janet_tanh),
        JANET_CORE_REG("math/atanh", janet_atanh),
        JANET_CORE_REG("math/asinh", janet_asinh),
        JANET_CORE_REG("math/acosh", janet_acosh),
        JANET_CORE_REG("math/atan2", janet_atan2),
        JANET_CORE_REG("math/rng", cfun_rng_make),
        JANET_CORE_REG("math/rng-uniform", cfun_rng_uniform),
        JANET_CORE_REG("math/rng-int", cfun_rng_int),
        JANET_CORE_REG("math/rng-buffer", cfun_rng_buffer),
        JANET_CORE_REG("math/hypot", janet_hypot),
        JANET_CORE_REG("math/exp2", janet_exp2),
        JANET_CORE_REG("math/log1p", janet_log1p),
        JANET_CORE_REG("math/gamma", janet_tgamma),
        JANET_CORE_REG("math/log-gamma", janet_lgamma),
        JANET_CORE_REG("math/erfc", janet_erfc),
        JANET_CORE_REG("math/erf", janet_erf),
        JANET_CORE_REG("math/expm1", janet_expm1),
        JANET_CORE_REG("math/trunc", janet_trunc),
        JANET_CORE_REG("math/round", janet_round),
        JANET_CORE_REG("math/next", janet_nextafter),
        JANET_CORE_REG("math/gcd", janet_cfun_gcd),
        JANET_CORE_REG("math/lcm", janet_cfun_lcm),
        JANET_CORE_REG("math/frexp", janet_cfun_frexp),
        JANET_CORE_REG("math/ldexp", janet_cfun_ldexp),
        JANET_REG_END
    };
    janet_core_cfuns_ext(env, NULL, math_cfuns);
    janet_register_abstract_type(&janet_rng_type);
#ifdef JANET_BOOTSTRAP
    JANET_CORE_DEF(env, "math/pi", janet_wrap_number(3.1415926535897931),
                   "The value pi.");
    JANET_CORE_DEF(env, "math/e", janet_wrap_number(2.7182818284590451),
                   "The base of the natural log.");
    JANET_CORE_DEF(env, "math/inf", janet_wrap_number(INFINITY),
                   "The number representing positive infinity");
    JANET_CORE_DEF(env, "math/-inf", janet_wrap_number(-INFINITY),
                   "The number representing negative infinity");
    JANET_CORE_DEF(env, "math/int32-min", janet_wrap_number(INT32_MIN),
                   "The minimum contiguous integer representable by a 32 bit signed integer");
    JANET_CORE_DEF(env, "math/int32-max", janet_wrap_number(INT32_MAX),
                   "The maximum contiguous integer representable by a 32 bit signed integer");
    JANET_CORE_DEF(env, "math/int-min", janet_wrap_number(JANET_INTMIN_DOUBLE),
                   "The minimum contiguous integer representable by a double (2^53)");
    JANET_CORE_DEF(env, "math/int-max", janet_wrap_number(JANET_INTMAX_DOUBLE),
                   "The maximum contiguous integer representable by a double (-(2^53))");
#ifdef NAN
    JANET_CORE_DEF(env, "math/nan", janet_wrap_number(NAN), "Not a number (IEEE-754 NaN)");
#else
    JANET_CORE_DEF(env, "math/nan", janet_wrap_number(0.0 / 0.0), "Not a number (IEEE-754 NaN)");
#endif
#endif
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7d0, %rsp            # imm = 0x7D0
movq %rdi, -0x8(%rbp)
leaq -0x740(%rbp), %rdi
leaq 0x65c03(%rip), %rsi     # 0xad330
movl $0x730, %edx            # imm = 0x730
callq 0x12680
movq -0x8(%rbp), %rdi
leaq -0x740(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x6bd40
leaq 0x65b6e(%rip), %rdi     # 0xad2c0
callq 0x6c180
movq -0x8(%rbp), %rax
movq %rax, -0x7d0(%rbp)
movsd 0x4596e(%rip), %xmm0    # 0x8d0d8
callq 0x7b820
movq -0x7d0(%rbp), %rdi
movq %rax, -0x748(%rbp)
movq -0x748(%rbp), %rdx
leaq 0x45b46(%rip), %rsi     # 0x8d2d1
leaq 0x45b47(%rip), %rcx     # 0x8d2d9
leaq 0x45950(%rip), %r8      # 0x8d0e9
movl $0x1aa, %r9d            # imm = 0x1AA
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x7c8(%rbp)
movsd 0x45919(%rip), %xmm0    # 0x8d0d0
callq 0x7b820
movq -0x7c8(%rbp), %rdi
movq %rax, -0x750(%rbp)
movq -0x750(%rbp), %rdx
leaq 0x45b0f(%rip), %rsi     # 0x8d2e7
leaq 0x45b0f(%rip), %rcx     # 0x8d2ee
leaq 0x45903(%rip), %r8      # 0x8d0e9
movl $0x1ac, %r9d            # imm = 0x1AC
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x7c0(%rbp)
movsd 0x3e794(%rip), %xmm0    # 0x85f98
callq 0x7b820
movq -0x7c0(%rbp), %rdi
movq %rax, -0x758(%rbp)
movq -0x758(%rbp), %rdx
leaq 0x45ae6(%rip), %rsi     # 0x8d30b
leaq 0x45ae8(%rip), %rcx     # 0x8d314
leaq 0x458b6(%rip), %r8      # 0x8d0e9
movl $0x1ae, %r9d            # imm = 0x1AE
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x7b8(%rbp)
movsd 0x45877(%rip), %xmm0    # 0x8d0c8
callq 0x7b820
movq -0x7b8(%rbp), %rdi
movq %rax, -0x760(%rbp)
movq -0x760(%rbp), %rdx
leaq 0x45acc(%rip), %rsi     # 0x8d33e
leaq 0x45acf(%rip), %rcx     # 0x8d348
leaq 0x45869(%rip), %r8      # 0x8d0e9
movl $0x1b0, %r9d            # imm = 0x1B0
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x7b0(%rbp)
movsd 0x37bda(%rip), %xmm0    # 0x7f478
callq 0x7b820
movq -0x7b0(%rbp), %rdi
movq %rax, -0x768(%rbp)
movq -0x768(%rbp), %rdx
leaq 0x45ab3(%rip), %rsi     # 0x8d372
leaq 0x45abb(%rip), %rcx     # 0x8d381
leaq 0x4581c(%rip), %r8      # 0x8d0e9
movl $0x1b2, %r9d            # imm = 0x1B2
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x7a8(%rbp)
movsd 0x37b95(%rip), %xmm0    # 0x7f480
callq 0x7b820
movq -0x7a8(%rbp), %rdi
movq %rax, -0x770(%rbp)
movq -0x770(%rbp), %rdx
leaq 0x45abd(%rip), %rsi     # 0x8d3c9
leaq 0x45ac5(%rip), %rcx     # 0x8d3d8
leaq 0x457cf(%rip), %r8      # 0x8d0e9
movl $0x1b4, %r9d            # imm = 0x1B4
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x7a0(%rbp)
movsd 0x43488(%rip), %xmm0    # 0x8adc0
callq 0x7b820
movq -0x7a0(%rbp), %rdi
movq %rax, -0x778(%rbp)
movq -0x778(%rbp), %rdx
leaq 0x45ac7(%rip), %rsi     # 0x8d420
leaq 0x45acd(%rip), %rcx     # 0x8d42d
leaq 0x45782(%rip), %r8      # 0x8d0e9
movl $0x1b6, %r9d            # imm = 0x1B6
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x798(%rbp)
movsd 0x43443(%rip), %xmm0    # 0x8adc8
callq 0x7b820
movq -0x798(%rbp), %rdi
movq %rax, -0x780(%rbp)
movq -0x780(%rbp), %rdx
leaq 0x45ac7(%rip), %rsi     # 0x8d46d
leaq 0x45acd(%rip), %rcx     # 0x8d47a
leaq 0x45735(%rip), %r8      # 0x8d0e9
movl $0x1b8, %r9d            # imm = 0x1B8
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x790(%rbp)
movsd 0x456ee(%rip), %xmm0    # 0x8d0c0
callq 0x7b820
movq -0x790(%rbp), %rdi
movq %rax, -0x788(%rbp)
movq -0x788(%rbp), %rdx
leaq 0x45aca(%rip), %rsi     # 0x8d4bd
leaq 0x45acc(%rip), %rcx     # 0x8d4c6
leaq 0x456e8(%rip), %r8      # 0x8d0e9
movl $0x1ba, %r9d            # imm = 0x1BA
callq 0x6b430
addq $0x7d0, %rsp            # imm = 0x7D0
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop