// File: /workspace/github_c_makefile_star2_O3/CBaquero[P]random/Random.cc
// Function: RedisModule_OnLoad
int RedisModule_OnLoad(RedisModuleCtx *ctx, RedisModuleString **argv, int argc) {
    if (RedisModule_Init(ctx,"random",1,REDISMODULE_APIVER_1)
        == REDISMODULE_ERR) return REDISMODULE_ERR;

    if (RedisModule_CreateCommand(ctx,"random.dunif",
        RandomDUnif_RedisCommand,"readonly random",0,0,0) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

    if (RedisModule_CreateCommand(ctx,"random.unif",
        RandomUnif_RedisCommand,"readonly random",0,0,0) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

    if (RedisModule_CreateCommand(ctx,"random.lunif",
        RandomLUnif_RedisCommand,"random",0,0,0) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

    if (RedisModule_CreateCommand(ctx,"random.norm",
        RandomNorm_RedisCommand,"readonly random",0,0,0) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

    if (RedisModule_CreateCommand(ctx,"random.lnorm",
        RandomLNorm_RedisCommand,"random",0,0,0) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

    if (RedisModule_CreateCommand(ctx,"random.exp",
        RandomExp_RedisCommand,"readonly random",0,0,0) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

    if (RedisModule_CreateCommand(ctx,"random.lexp",
        RandomLExp_RedisCommand,"random",0,0,0) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

    if (RedisModule_CreateCommand(ctx,"random.hist",
        RandomHist_RedisCommand,"readonly",0,0,0) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

    return REDISMODULE_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rax
movq 0x4c80(%rip), %r14      # 0x9d50
movq %rax, (%r14)
leaq 0x218c(%rip), %rdi      # 0x7266
movq 0x4d47(%rip), %rsi      # 0x9e28
callq *%rax
leaq 0x218e(%rip), %rdi      # 0x7278
movq 0x4ad7(%rip), %rsi      # 0x9bc8
callq *(%r14)
leaq 0x2190(%rip), %rdi      # 0x728b
movq 0x4cf6(%rip), %rsi      # 0x9df8
callq *(%r14)
leaq 0x2190(%rip), %rdi      # 0x729c
movq 0x4dd5(%rip), %rsi      # 0x9ee8
callq *(%r14)
leaq 0x2193(%rip), %rdi      # 0x72b0
movq 0x4ecc(%rip), %rsi      # 0x9ff0
callq *(%r14)
leaq 0x2195(%rip), %rdi      # 0x72c3
movq 0x4d5b(%rip), %rsi      # 0x9e90
callq *(%r14)
leaq 0x219e(%rip), %rdi      # 0x72dd
movq 0x4e12(%rip), %rsi      # 0x9f58
callq *(%r14)
leaq 0x21aa(%rip), %rdi      # 0x72fa
movq 0x4b29(%rip), %r12      # 0x9c80
movq %r12, %rsi
callq *(%r14)
leaq 0x21b3(%rip), %rdi      # 0x7317
movq 0x4dd5(%rip), %rsi      # 0x9f40
callq *(%r14)
leaq 0x21b9(%rip), %rdi      # 0x732e
movq 0x4df4(%rip), %rsi      # 0x9f70
callq *(%r14)
leaq 0x21c6(%rip), %rdi      # 0x734c
movq 0x4be3(%rip), %rsi      # 0x9d70
callq *(%r14)
leaq 0x21d0(%rip), %rdi      # 0x7367
movq 0x4a82(%rip), %rsi      # 0x9c20
callq *(%r14)
leaq 0x21e1(%rip), %rdi      # 0x7389
movq 0x4cd9(%rip), %rsi      # 0x9e88
callq *(%r14)
leaq 0x21eb(%rip), %r13      # 0x73a4
movq 0x4c50(%rip), %r15      # 0x9e10
movq %r13, %rdi
movq %r15, %rsi
callq *(%r14)
leaq 0x21f4(%rip), %rdi      # 0x73c4
movq 0x4c79(%rip), %rsi      # 0x9e50
callq *(%r14)
leaq 0x2205(%rip), %rdi      # 0x73e6
movq 0x4cc0(%rip), %rsi      # 0x9ea8
callq *(%r14)
leaq 0x2210(%rip), %rdi      # 0x7402
movq 0x4d17(%rip), %rsi      # 0x9f10
callq *(%r14)
leaq 0x2219(%rip), %rdi      # 0x741c
movq 0x4ac6(%rip), %rsi      # 0x9cd0
callq *(%r14)
leaq 0x2227(%rip), %rdi      # 0x743b
movq 0x49f5(%rip), %rsi      # 0x9c10
callq *(%r14)
movq %r13, %rdi
movq %r15, %rsi
callq *(%r14)
leaq 0x2229(%rip), %rdi      # 0x7457
movq 0x49ab(%rip), %rsi      # 0x9be0
callq *(%r14)
leaq 0x2232(%rip), %rdi      # 0x7471
movq 0x4c02(%rip), %rsi      # 0x9e48
callq *(%r14)
leaq 0x2236(%rip), %rdi      # 0x7486
movq 0x4bb1(%rip), %rsi      # 0x9e08
callq *(%r14)
leaq 0x2239(%rip), %rdi      # 0x749a
movq 0x4d80(%rip), %rsi      # 0x9fe8
callq *(%r14)
leaq 0x223d(%rip), %rdi      # 0x74af
movq 0x4bb7(%rip), %rsi      # 0x9e30
callq *(%r14)
leaq 0x2240(%rip), %rdi      # 0x74c3
movq 0x498e(%rip), %rsi      # 0x9c18
callq *(%r14)
leaq 0x2247(%rip), %rdi      # 0x74db
movq 0x4c95(%rip), %rsi      # 0x9f30
callq *(%r14)
leaq 0x224b(%rip), %rdi      # 0x74f0
movq 0x4cd4(%rip), %rsi      # 0x9f80
callq *(%r14)
leaq 0x224e(%rip), %rdi      # 0x7504
movq 0x4c63(%rip), %rsi      # 0x9f20
callq *(%r14)
leaq 0x225a(%rip), %rdi      # 0x7521
movq 0x4c12(%rip), %rsi      # 0x9ee0
callq *(%r14)
leaq 0x2264(%rip), %rdi      # 0x753c
movq 0x4bf9(%rip), %rsi      # 0x9ed8
callq *(%r14)
leaq 0x2264(%rip), %rdi      # 0x754d
movq 0x4ab0(%rip), %rsi      # 0x9da0
callq *(%r14)
leaq 0x226e(%rip), %rdi      # 0x7568
movq 0x4c17(%rip), %rsi      # 0x9f18
callq *(%r14)
leaq 0x2277(%rip), %rdi      # 0x7582
movq 0x49f6(%rip), %rsi      # 0x9d08
callq *(%r14)
leaq 0x2283(%rip), %rdi      # 0x759f
movq 0x4c05(%rip), %rsi      # 0x9f28
callq *(%r14)
leaq 0x228c(%rip), %rdi      # 0x75b9
movq 0x4bcc(%rip), %rsi      # 0x9f00
callq *(%r14)
leaq 0x2297(%rip), %rdi      # 0x75d5
movq 0x4b33(%rip), %rsi      # 0x9e78
callq *(%r14)
leaq 0x22a8(%rip), %rdi      # 0x75f7
movq 0x4c8a(%rip), %rsi      # 0x9fe0
callq *(%r14)
leaq 0x22b6(%rip), %rdi      # 0x7616
movq 0x4c61(%rip), %rsi      # 0x9fc8
callq *(%r14)
leaq 0x22cb(%rip), %rdi      # 0x763c
movq 0x4b40(%rip), %rsi      # 0x9eb8
callq *(%r14)
leaq 0x22d3(%rip), %rdi      # 0x7655
movq 0x4bd7(%rip), %rsi      # 0x9f60
callq *(%r14)
leaq 0x22e7(%rip), %rdi      # 0x767a
movq 0x4a26(%rip), %rsi      # 0x9dc0
callq *(%r14)
leaq 0x22f9(%rip), %rdi      # 0x769d
movq 0x4a75(%rip), %rsi      # 0x9e20
callq *(%r14)
leaq 0x2307(%rip), %rdi      # 0x76bc
movq 0x48b4(%rip), %rsi      # 0x9c70
callq *(%r14)
leaq 0x230d(%rip), %rdi      # 0x76d3
movq 0x4a13(%rip), %rsi      # 0x9de0
callq *(%r14)
leaq 0x2315(%rip), %rdi      # 0x76ec
movq 0x497a(%rip), %rsi      # 0x9d58
callq *(%r14)
leaq 0x231b(%rip), %rdi      # 0x7703
movq 0x4a11(%rip), %rsi      # 0x9e00
callq *(%r14)
leaq 0x2320(%rip), %rdi      # 0x7719
movq 0x4b50(%rip), %rsi      # 0x9f50
callq *(%r14)
leaq 0x232d(%rip), %rdi      # 0x7737
movq 0x4abf(%rip), %rsi      # 0x9ed0
callq *(%r14)
leaq 0x2332(%rip), %rdi      # 0x774d
movq 0x4b96(%rip), %rsi      # 0x9fb8
callq *(%r14)
leaq 0x2337(%rip), %rdi      # 0x7763
movq 0x47bd(%rip), %rsi      # 0x9bf0
callq *(%r14)
leaq 0x233c(%rip), %rdi      # 0x7779
movq 0x489c(%rip), %rsi      # 0x9ce0
callq *(%r14)
leaq 0x2341(%rip), %rdi      # 0x778f
movq 0x47a3(%rip), %rsi      # 0x9bf8
callq *(%r14)
leaq 0x234b(%rip), %rdi      # 0x77aa
movq 0x48d2(%rip), %rsi      # 0x9d38
callq *(%r14)
leaq 0x2350(%rip), %rdi      # 0x77c0
movq 0x48b9(%rip), %rsi      # 0x9d30
callq *(%r14)
leaq 0x2355(%rip), %rdi      # 0x77d6
movq 0x47a0(%rip), %rsi      # 0x9c28
callq *(%r14)
leaq 0x2358(%rip), %rdi      # 0x77ea
movq 0x4a6f(%rip), %rsi      # 0x9f08
callq *(%r14)
leaq 0x235e(%rip), %rdi      # 0x7801
movq 0x4906(%rip), %rsi      # 0x9db0
callq *(%r14)
leaq 0x2363(%rip), %rdi      # 0x7817
movq 0x482d(%rip), %rsi      # 0x9ce8
callq *(%r14)
leaq 0x2366(%rip), %rdi      # 0x782b
movq 0x4844(%rip), %rsi      # 0x9d10
callq *(%r14)
leaq 0x236f(%rip), %rdi      # 0x7845
movq 0x49c3(%rip), %rsi      # 0x9ea0
callq *(%r14)
leaq 0x2380(%rip), %rdi      # 0x7867
movq 0x4a4a(%rip), %rsi      # 0x9f38
callq *(%r14)
leaq 0x2390(%rip), %rdi      # 0x7888
movq 0x4761(%rip), %rsi      # 0x9c60
callq *(%r14)
leaq 0x239f(%rip), %rdi      # 0x78a8
movq 0x4930(%rip), %rsi      # 0x9e40
callq *(%r14)
leaq 0x23ad(%rip), %rdi      # 0x78c7
movq 0x4897(%rip), %rsi      # 0x9db8
callq *(%r14)
leaq 0x23c0(%rip), %rdi      # 0x78eb
movq 0x4766(%rip), %rsi      # 0x9c98
callq *(%r14)
leaq 0x23c9(%rip), %rdi      # 0x7905
movq 0x4865(%rip), %rsi      # 0x9da8
callq *(%r14)
leaq 0x23d2(%rip), %rdi      # 0x791f
movq 0x496c(%rip), %rsi      # 0x9ec0
callq *(%r14)
leaq 0x23e1(%rip), %rdi      # 0x793f
movq 0x474b(%rip), %rsi      # 0x9cb0
callq *(%r14)
leaq 0x23e4(%rip), %rdi      # 0x7953
movq 0x4862(%rip), %rsi      # 0x9dd8
callq *(%r14)
leaq 0x23e7(%rip), %rdi      # 0x7967
movq 0x46a9(%rip), %rsi      # 0x9c30
callq *(%r14)
leaq 0x23f8(%rip), %rdi      # 0x7989
movq 0x46c0(%rip), %rsi      # 0x9c58
callq *(%r14)
leaq 0x23fc(%rip), %rdi      # 0x799e
movq 0x468f(%rip), %rsi      # 0x9c38
callq *(%r14)
leaq 0x2403(%rip), %rdi      # 0x79b6
movq 0x468e(%rip), %rsi      # 0x9c48
callq *(%r14)
leaq 0x240e(%rip), %rdi      # 0x79d2
movq 0x45f5(%rip), %rsi      # 0x9bc0
callq *(%r14)
leaq 0x2413(%rip), %rdi      # 0x79e8
movq 0x4674(%rip), %rsi      # 0x9c50
callq *(%r14)
leaq 0x241d(%rip), %rdi      # 0x7a03
movq 0x46eb(%rip), %rsi      # 0x9cd8
callq *(%r14)
leaq 0x242b(%rip), %rdi      # 0x7a22
movq 0x49d2(%rip), %rsi      # 0x9fd0
callq *(%r14)
leaq 0x2438(%rip), %rdi      # 0x7a40
movq 0x4719(%rip), %rsi      # 0x9d28
callq *(%r14)
leaq 0x2446(%rip), %rdi      # 0x7a5f
movq 0x4850(%rip), %rsi      # 0x9e70
callq *(%r14)
leaq 0x244e(%rip), %rdi      # 0x7a78
movq 0x4577(%rip), %rsi      # 0x9ba8
callq *(%r14)
leaq 0x2456(%rip), %rdi      # 0x7a91
movq 0x47a6(%rip), %rsi      # 0x9de8
callq *(%r14)
leaq 0x245c(%rip), %rdi      # 0x7aa8
movq 0x469d(%rip), %rsi      # 0x9cf0
callq *(%r14)
leaq 0x2462(%rip), %rdi      # 0x7abf
movq 0x469c(%rip), %rsi      # 0x9d00
callq *(%r14)
leaq 0x2468(%rip), %rdi      # 0x7ad6
movq 0x470b(%rip), %rsi      # 0x9d80
callq *(%r14)
leaq 0x2474(%rip), %rdi      # 0x7af3
movq 0x4532(%rip), %rsi      # 0x9bb8
callq *(%r14)
leaq 0x247a(%rip), %rdi      # 0x7b0a
movq 0x47e9(%rip), %rsi      # 0x9e80
callq *(%r14)
leaq 0x2486(%rip), %rdi      # 0x7b27
movq 0x46d0(%rip), %rsi      # 0x9d78
callq *(%r14)
leaq 0x248c(%rip), %rdi      # 0x7b3e
movq 0x4737(%rip), %rsi      # 0x9df0
callq *(%r14)
leaq 0x2492(%rip), %rdi      # 0x7b55
movq 0x482e(%rip), %rsi      # 0x9ef8
callq *(%r14)
leaq 0x2497(%rip), %rdi      # 0x7b6b
movq 0x46ed(%rip), %rsi      # 0x9dc8
callq *(%r14)
leaq 0x249c(%rip), %rdi      # 0x7b81
movq 0x48ec(%rip), %rsi      # 0x9fd8
callq *(%r14)
leaq 0x249f(%rip), %rdi      # 0x7b95
movq 0x476b(%rip), %rsi      # 0x9e68
callq *(%r14)
leaq 0x249e(%rip), %rdi      # 0x7ba5
movq 0x4892(%rip), %rsi      # 0x9fa0
callq *(%r14)
leaq 0x24a4(%rip), %rdi      # 0x7bbc
movq 0x4679(%rip), %rsi      # 0x9d98
callq *(%r14)
leaq 0x24b2(%rip), %rdi      # 0x7bdb
movq 0x4598(%rip), %rsi      # 0x9cc8
callq *(%r14)
leaq 0x24ba(%rip), %rdi      # 0x7bf4
movq 0x46f7(%rip), %rsi      # 0x9e38
callq *(%r14)
leaq 0x24c3(%rip), %rdi      # 0x7c0e
movq 0x4706(%rip), %rsi      # 0x9e58
callq *(%r14)
leaq 0x24cf(%rip), %rdi      # 0x7c2b
movq 0x474d(%rip), %rsi      # 0x9eb0
callq *(%r14)
leaq 0x24d7(%rip), %rdi      # 0x7c44
movq 0x47f4(%rip), %rsi      # 0x9f68
callq *(%r14)
leaq 0x24e8(%rip), %rdi      # 0x7c66
movq 0x47c3(%rip), %rsi      # 0x9f48
callq *(%r14)
leaq 0x24f5(%rip), %rdi      # 0x7c84
movq 0x4682(%rip), %rsi      # 0x9e18
callq *(%r14)
leaq 0x2502(%rip), %rdi      # 0x7ca2
movq 0x44e1(%rip), %rsi      # 0x9c88
callq *(%r14)
leaq 0x2508(%rip), %rdi      # 0x7cb9
movq 0x47d0(%rip), %rsi      # 0x9f88
callq *(%r14)
leaq 0x250c(%rip), %rdi      # 0x7cce
movq 0x44d7(%rip), %rsi      # 0x9ca0
callq *(%r14)
leaq 0x2510(%rip), %rdi      # 0x7ce3
movq 0x44e6(%rip), %rsi      # 0x9cc0
callq *(%r14)
leaq 0x2514(%rip), %rdi      # 0x7cf8
movq 0x45a5(%rip), %rsi      # 0x9d90
callq *(%r14)
leaq 0x251c(%rip), %rdi      # 0x7d11
movq 0x45d4(%rip), %rsi      # 0x9dd0
callq *(%r14)
leaq 0x251f(%rip), %rdi      # 0x7d25
movq 0x446b(%rip), %rsi      # 0x9c78
callq *(%r14)
leaq 0x2526(%rip), %rdi      # 0x7d3d
movq 0x456a(%rip), %rsi      # 0x9d88
callq *(%r14)
leaq 0x252a(%rip), %rdi      # 0x7d52
movq 0x47c9(%rip), %rsi      # 0x9ff8
callq *(%r14)
leaq 0x252d(%rip), %rdi      # 0x7d66
movq 0x43a8(%rip), %rsi      # 0x9be8
callq *(%r14)
leaq 0x2531(%rip), %rdi      # 0x7d7b
movq 0x473f(%rip), %rsi      # 0x9f90
callq *(%r14)
leaq 0x2534(%rip), %rdi      # 0x7d8f
movq 0x4636(%rip), %rsi      # 0x9e98
callq *(%r14)
leaq 0x2542(%rip), %rdi      # 0x7dae
movq 0x43cd(%rip), %rsi      # 0x9c40
callq *(%r14)
leaq 0x254f(%rip), %rdi      # 0x7dcc
movq 0x437c(%rip), %rsi      # 0x9c00
callq *(%r14)
leaq 0x255b(%rip), %rdi      # 0x7de9
movq 0x448b(%rip), %rsi      # 0x9d20
callq *(%r14)
leaq 0x256a(%rip), %rdi      # 0x7e09
movq 0x45ba(%rip), %rsi      # 0x9e60
callq *(%r14)
leaq 0x2578(%rip), %rdi      # 0x7e28
movq 0x44a9(%rip), %rsi      # 0x9d60
callq *(%r14)
leaq 0x257d(%rip), %rdi      # 0x7e3e
movq 0x4600(%rip), %rsi      # 0x9ec8
callq *(%r14)
leaq 0x2582(%rip), %rdi      # 0x7e54
movq 0x42d7(%rip), %rsi      # 0x9bb0
callq *(%r14)
leaq 0x2586(%rip), %rdi      # 0x7e69
movq 0x42ee(%rip), %rsi      # 0x9bd8
callq *(%r14)
leaq 0x258a(%rip), %rdi      # 0x7e7e
movq 0x446d(%rip), %rsi      # 0x9d68
callq *(%r14)
leaq 0x2591(%rip), %rdi      # 0x7e96
movq 0x443c(%rip), %rsi      # 0x9d48
callq *(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0x592f
leaq 0x18b0(%rip), %rdi      # 0x71cf
callq *%rax
movl $0x1, %r12d
testl %eax, %eax
jne 0x5ae0
leaq 0x1899(%rip), %rsi      # 0x71cf
movl $0x1, %r12d
movq %rbx, %rdi
movl $0x1, %edx
movl $0x1, %ecx
movq 0x4608(%rip), %rax      # 0x9f58
callq *(%rax)
movl $0x0, (%rsp)
leaq 0x1859(%rip), %rsi      # 0x71b9
movq 0x4329(%rip), %rdx      # 0x9c90
leaq 0x1858(%rip), %rcx      # 0x71c6
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
movq 0x4512(%rip), %r14      # 0x9e90
callq *(%r14)
cmpl $0x1, %eax
je 0x5ae0
movl $0x0, (%rsp)
leaq 0x183e(%rip), %rsi      # 0x71d6
movq 0x4309(%rip), %rdx      # 0x9ca8
leaq 0x1820(%rip), %rcx      # 0x71c6
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5ae0
movl $0x0, (%rsp)
leaq 0x1819(%rip), %rsi      # 0x71e2
movq 0x4348(%rip), %rdx      # 0x9d18
leaq 0x17f8(%rip), %rcx      # 0x71cf
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5ae0
movl $0x0, (%rsp)
leaq 0x17f5(%rip), %rsi      # 0x71ef
movq 0x4207(%rip), %rdx      # 0x9c08
leaq 0x17be(%rip), %rcx      # 0x71c6
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5ae0
movl $0x0, (%rsp)
leaq 0x17d0(%rip), %rsi      # 0x71fb
movq 0x419e(%rip), %rdx      # 0x9bd0
leaq 0x1796(%rip), %rcx      # 0x71cf
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5ae0
movl $0x0, (%rsp)
leaq 0x17ac(%rip), %rsi      # 0x7208
movq 0x4255(%rip), %rdx      # 0x9cb8
leaq 0x175c(%rip), %rcx      # 0x71c6
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5ae0
movl $0x0, (%rsp)
leaq 0x178a(%rip), %rsi      # 0x7213
movq 0x4520(%rip), %rdx      # 0x9fb0
leaq 0x1738(%rip), %rcx      # 0x71cf
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5ae0
movl $0x0, (%rsp)
leaq 0x1769(%rip), %rsi      # 0x721f
movq 0x4433(%rip), %rdx      # 0x9ef0
leaq 0x1767(%rip), %rcx      # 0x722b
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
movq 0x43bc(%rip), %rax      # 0x9e90
callq *(%rax)
xorl %r12d, %r12d
cmpl $0x1, %eax
sete %r12b
movl %r12d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq