// File: /workspace/github_c_makefile_star2_O1/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 0x4c2f(%rip), %r14      # 0x9d50
movq %rax, (%r14)
leaq 0x213b(%rip), %rdi      # 0x7266
movq 0x4cf6(%rip), %rsi      # 0x9e28
callq *%rax
leaq 0x213d(%rip), %rdi      # 0x7278
movq 0x4a86(%rip), %rsi      # 0x9bc8
callq *(%r14)
leaq 0x213f(%rip), %rdi      # 0x728b
movq 0x4ca5(%rip), %rsi      # 0x9df8
callq *(%r14)
leaq 0x213f(%rip), %rdi      # 0x729c
movq 0x4d84(%rip), %rsi      # 0x9ee8
callq *(%r14)
leaq 0x2142(%rip), %rdi      # 0x72b0
movq 0x4e7b(%rip), %rsi      # 0x9ff0
callq *(%r14)
leaq 0x2144(%rip), %rdi      # 0x72c3
movq 0x4d0a(%rip), %rsi      # 0x9e90
callq *(%r14)
leaq 0x214d(%rip), %rdi      # 0x72dd
movq 0x4dc1(%rip), %rsi      # 0x9f58
callq *(%r14)
leaq 0x2159(%rip), %rdi      # 0x72fa
movq 0x4ad8(%rip), %r12      # 0x9c80
movq %r12, %rsi
callq *(%r14)
leaq 0x2162(%rip), %rdi      # 0x7317
movq 0x4d84(%rip), %rsi      # 0x9f40
callq *(%r14)
leaq 0x2168(%rip), %rdi      # 0x732e
movq 0x4da3(%rip), %rsi      # 0x9f70
callq *(%r14)
leaq 0x2175(%rip), %rdi      # 0x734c
movq 0x4b92(%rip), %rsi      # 0x9d70
callq *(%r14)
leaq 0x217f(%rip), %rdi      # 0x7367
movq 0x4a31(%rip), %rsi      # 0x9c20
callq *(%r14)
leaq 0x2190(%rip), %rdi      # 0x7389
movq 0x4c88(%rip), %rsi      # 0x9e88
callq *(%r14)
leaq 0x219a(%rip), %r13      # 0x73a4
movq 0x4bff(%rip), %r15      # 0x9e10
movq %r13, %rdi
movq %r15, %rsi
callq *(%r14)
leaq 0x21a3(%rip), %rdi      # 0x73c4
movq 0x4c28(%rip), %rsi      # 0x9e50
callq *(%r14)
leaq 0x21b4(%rip), %rdi      # 0x73e6
movq 0x4c6f(%rip), %rsi      # 0x9ea8
callq *(%r14)
leaq 0x21bf(%rip), %rdi      # 0x7402
movq 0x4cc6(%rip), %rsi      # 0x9f10
callq *(%r14)
leaq 0x21c8(%rip), %rdi      # 0x741c
movq 0x4a75(%rip), %rsi      # 0x9cd0
callq *(%r14)
leaq 0x21d6(%rip), %rdi      # 0x743b
movq 0x49a4(%rip), %rsi      # 0x9c10
callq *(%r14)
movq %r13, %rdi
movq %r15, %rsi
callq *(%r14)
leaq 0x21d8(%rip), %rdi      # 0x7457
movq 0x495a(%rip), %rsi      # 0x9be0
callq *(%r14)
leaq 0x21e1(%rip), %rdi      # 0x7471
movq 0x4bb1(%rip), %rsi      # 0x9e48
callq *(%r14)
leaq 0x21e5(%rip), %rdi      # 0x7486
movq 0x4b60(%rip), %rsi      # 0x9e08
callq *(%r14)
leaq 0x21e8(%rip), %rdi      # 0x749a
movq 0x4d2f(%rip), %rsi      # 0x9fe8
callq *(%r14)
leaq 0x21ec(%rip), %rdi      # 0x74af
movq 0x4b66(%rip), %rsi      # 0x9e30
callq *(%r14)
leaq 0x21ef(%rip), %rdi      # 0x74c3
movq 0x493d(%rip), %rsi      # 0x9c18
callq *(%r14)
leaq 0x21f6(%rip), %rdi      # 0x74db
movq 0x4c44(%rip), %rsi      # 0x9f30
callq *(%r14)
leaq 0x21fa(%rip), %rdi      # 0x74f0
movq 0x4c83(%rip), %rsi      # 0x9f80
callq *(%r14)
leaq 0x21fd(%rip), %rdi      # 0x7504
movq 0x4c12(%rip), %rsi      # 0x9f20
callq *(%r14)
leaq 0x2209(%rip), %rdi      # 0x7521
movq 0x4bc1(%rip), %rsi      # 0x9ee0
callq *(%r14)
leaq 0x2213(%rip), %rdi      # 0x753c
movq 0x4ba8(%rip), %rsi      # 0x9ed8
callq *(%r14)
leaq 0x2213(%rip), %rdi      # 0x754d
movq 0x4a5f(%rip), %rsi      # 0x9da0
callq *(%r14)
leaq 0x221d(%rip), %rdi      # 0x7568
movq 0x4bc6(%rip), %rsi      # 0x9f18
callq *(%r14)
leaq 0x2226(%rip), %rdi      # 0x7582
movq 0x49a5(%rip), %rsi      # 0x9d08
callq *(%r14)
leaq 0x2232(%rip), %rdi      # 0x759f
movq 0x4bb4(%rip), %rsi      # 0x9f28
callq *(%r14)
leaq 0x223b(%rip), %rdi      # 0x75b9
movq 0x4b7b(%rip), %rsi      # 0x9f00
callq *(%r14)
leaq 0x2246(%rip), %rdi      # 0x75d5
movq 0x4ae2(%rip), %rsi      # 0x9e78
callq *(%r14)
leaq 0x2257(%rip), %rdi      # 0x75f7
movq 0x4c39(%rip), %rsi      # 0x9fe0
callq *(%r14)
leaq 0x2265(%rip), %rdi      # 0x7616
movq 0x4c10(%rip), %rsi      # 0x9fc8
callq *(%r14)
leaq 0x227a(%rip), %rdi      # 0x763c
movq 0x4aef(%rip), %rsi      # 0x9eb8
callq *(%r14)
leaq 0x2282(%rip), %rdi      # 0x7655
movq 0x4b86(%rip), %rsi      # 0x9f60
callq *(%r14)
leaq 0x2296(%rip), %rdi      # 0x767a
movq 0x49d5(%rip), %rsi      # 0x9dc0
callq *(%r14)
leaq 0x22a8(%rip), %rdi      # 0x769d
movq 0x4a24(%rip), %rsi      # 0x9e20
callq *(%r14)
leaq 0x22b6(%rip), %rdi      # 0x76bc
movq 0x4863(%rip), %rsi      # 0x9c70
callq *(%r14)
leaq 0x22bc(%rip), %rdi      # 0x76d3
movq 0x49c2(%rip), %rsi      # 0x9de0
callq *(%r14)
leaq 0x22c4(%rip), %rdi      # 0x76ec
movq 0x4929(%rip), %rsi      # 0x9d58
callq *(%r14)
leaq 0x22ca(%rip), %rdi      # 0x7703
movq 0x49c0(%rip), %rsi      # 0x9e00
callq *(%r14)
leaq 0x22cf(%rip), %rdi      # 0x7719
movq 0x4aff(%rip), %rsi      # 0x9f50
callq *(%r14)
leaq 0x22dc(%rip), %rdi      # 0x7737
movq 0x4a6e(%rip), %rsi      # 0x9ed0
callq *(%r14)
leaq 0x22e1(%rip), %rdi      # 0x774d
movq 0x4b45(%rip), %rsi      # 0x9fb8
callq *(%r14)
leaq 0x22e6(%rip), %rdi      # 0x7763
movq 0x476c(%rip), %rsi      # 0x9bf0
callq *(%r14)
leaq 0x22eb(%rip), %rdi      # 0x7779
movq 0x484b(%rip), %rsi      # 0x9ce0
callq *(%r14)
leaq 0x22f0(%rip), %rdi      # 0x778f
movq 0x4752(%rip), %rsi      # 0x9bf8
callq *(%r14)
leaq 0x22fa(%rip), %rdi      # 0x77aa
movq 0x4881(%rip), %rsi      # 0x9d38
callq *(%r14)
leaq 0x22ff(%rip), %rdi      # 0x77c0
movq 0x4868(%rip), %rsi      # 0x9d30
callq *(%r14)
leaq 0x2304(%rip), %rdi      # 0x77d6
movq 0x474f(%rip), %rsi      # 0x9c28
callq *(%r14)
leaq 0x2307(%rip), %rdi      # 0x77ea
movq 0x4a1e(%rip), %rsi      # 0x9f08
callq *(%r14)
leaq 0x230d(%rip), %rdi      # 0x7801
movq 0x48b5(%rip), %rsi      # 0x9db0
callq *(%r14)
leaq 0x2312(%rip), %rdi      # 0x7817
movq 0x47dc(%rip), %rsi      # 0x9ce8
callq *(%r14)
leaq 0x2315(%rip), %rdi      # 0x782b
movq 0x47f3(%rip), %rsi      # 0x9d10
callq *(%r14)
leaq 0x231e(%rip), %rdi      # 0x7845
movq 0x4972(%rip), %rsi      # 0x9ea0
callq *(%r14)
leaq 0x232f(%rip), %rdi      # 0x7867
movq 0x49f9(%rip), %rsi      # 0x9f38
callq *(%r14)
leaq 0x233f(%rip), %rdi      # 0x7888
movq 0x4710(%rip), %rsi      # 0x9c60
callq *(%r14)
leaq 0x234e(%rip), %rdi      # 0x78a8
movq 0x48df(%rip), %rsi      # 0x9e40
callq *(%r14)
leaq 0x235c(%rip), %rdi      # 0x78c7
movq 0x4846(%rip), %rsi      # 0x9db8
callq *(%r14)
leaq 0x236f(%rip), %rdi      # 0x78eb
movq 0x4715(%rip), %rsi      # 0x9c98
callq *(%r14)
leaq 0x2378(%rip), %rdi      # 0x7905
movq 0x4814(%rip), %rsi      # 0x9da8
callq *(%r14)
leaq 0x2381(%rip), %rdi      # 0x791f
movq 0x491b(%rip), %rsi      # 0x9ec0
callq *(%r14)
leaq 0x2390(%rip), %rdi      # 0x793f
movq 0x46fa(%rip), %rsi      # 0x9cb0
callq *(%r14)
leaq 0x2393(%rip), %rdi      # 0x7953
movq 0x4811(%rip), %rsi      # 0x9dd8
callq *(%r14)
leaq 0x2396(%rip), %rdi      # 0x7967
movq 0x4658(%rip), %rsi      # 0x9c30
callq *(%r14)
leaq 0x23a7(%rip), %rdi      # 0x7989
movq 0x466f(%rip), %rsi      # 0x9c58
callq *(%r14)
leaq 0x23ab(%rip), %rdi      # 0x799e
movq 0x463e(%rip), %rsi      # 0x9c38
callq *(%r14)
leaq 0x23b2(%rip), %rdi      # 0x79b6
movq 0x463d(%rip), %rsi      # 0x9c48
callq *(%r14)
leaq 0x23bd(%rip), %rdi      # 0x79d2
movq 0x45a4(%rip), %rsi      # 0x9bc0
callq *(%r14)
leaq 0x23c2(%rip), %rdi      # 0x79e8
movq 0x4623(%rip), %rsi      # 0x9c50
callq *(%r14)
leaq 0x23cc(%rip), %rdi      # 0x7a03
movq 0x469a(%rip), %rsi      # 0x9cd8
callq *(%r14)
leaq 0x23da(%rip), %rdi      # 0x7a22
movq 0x4981(%rip), %rsi      # 0x9fd0
callq *(%r14)
leaq 0x23e7(%rip), %rdi      # 0x7a40
movq 0x46c8(%rip), %rsi      # 0x9d28
callq *(%r14)
leaq 0x23f5(%rip), %rdi      # 0x7a5f
movq 0x47ff(%rip), %rsi      # 0x9e70
callq *(%r14)
leaq 0x23fd(%rip), %rdi      # 0x7a78
movq 0x4526(%rip), %rsi      # 0x9ba8
callq *(%r14)
leaq 0x2405(%rip), %rdi      # 0x7a91
movq 0x4755(%rip), %rsi      # 0x9de8
callq *(%r14)
leaq 0x240b(%rip), %rdi      # 0x7aa8
movq 0x464c(%rip), %rsi      # 0x9cf0
callq *(%r14)
leaq 0x2411(%rip), %rdi      # 0x7abf
movq 0x464b(%rip), %rsi      # 0x9d00
callq *(%r14)
leaq 0x2417(%rip), %rdi      # 0x7ad6
movq 0x46ba(%rip), %rsi      # 0x9d80
callq *(%r14)
leaq 0x2423(%rip), %rdi      # 0x7af3
movq 0x44e1(%rip), %rsi      # 0x9bb8
callq *(%r14)
leaq 0x2429(%rip), %rdi      # 0x7b0a
movq 0x4798(%rip), %rsi      # 0x9e80
callq *(%r14)
leaq 0x2435(%rip), %rdi      # 0x7b27
movq 0x467f(%rip), %rsi      # 0x9d78
callq *(%r14)
leaq 0x243b(%rip), %rdi      # 0x7b3e
movq 0x46e6(%rip), %rsi      # 0x9df0
callq *(%r14)
leaq 0x2441(%rip), %rdi      # 0x7b55
movq 0x47dd(%rip), %rsi      # 0x9ef8
callq *(%r14)
leaq 0x2446(%rip), %rdi      # 0x7b6b
movq 0x469c(%rip), %rsi      # 0x9dc8
callq *(%r14)
leaq 0x244b(%rip), %rdi      # 0x7b81
movq 0x489b(%rip), %rsi      # 0x9fd8
callq *(%r14)
leaq 0x244e(%rip), %rdi      # 0x7b95
movq 0x471a(%rip), %rsi      # 0x9e68
callq *(%r14)
leaq 0x244d(%rip), %rdi      # 0x7ba5
movq 0x4841(%rip), %rsi      # 0x9fa0
callq *(%r14)
leaq 0x2453(%rip), %rdi      # 0x7bbc
movq 0x4628(%rip), %rsi      # 0x9d98
callq *(%r14)
leaq 0x2461(%rip), %rdi      # 0x7bdb
movq 0x4547(%rip), %rsi      # 0x9cc8
callq *(%r14)
leaq 0x2469(%rip), %rdi      # 0x7bf4
movq 0x46a6(%rip), %rsi      # 0x9e38
callq *(%r14)
leaq 0x2472(%rip), %rdi      # 0x7c0e
movq 0x46b5(%rip), %rsi      # 0x9e58
callq *(%r14)
leaq 0x247e(%rip), %rdi      # 0x7c2b
movq 0x46fc(%rip), %rsi      # 0x9eb0
callq *(%r14)
leaq 0x2486(%rip), %rdi      # 0x7c44
movq 0x47a3(%rip), %rsi      # 0x9f68
callq *(%r14)
leaq 0x2497(%rip), %rdi      # 0x7c66
movq 0x4772(%rip), %rsi      # 0x9f48
callq *(%r14)
leaq 0x24a4(%rip), %rdi      # 0x7c84
movq 0x4631(%rip), %rsi      # 0x9e18
callq *(%r14)
leaq 0x24b1(%rip), %rdi      # 0x7ca2
movq 0x4490(%rip), %rsi      # 0x9c88
callq *(%r14)
leaq 0x24b7(%rip), %rdi      # 0x7cb9
movq 0x477f(%rip), %rsi      # 0x9f88
callq *(%r14)
leaq 0x24bb(%rip), %rdi      # 0x7cce
movq 0x4486(%rip), %rsi      # 0x9ca0
callq *(%r14)
leaq 0x24bf(%rip), %rdi      # 0x7ce3
movq 0x4495(%rip), %rsi      # 0x9cc0
callq *(%r14)
leaq 0x24c3(%rip), %rdi      # 0x7cf8
movq 0x4554(%rip), %rsi      # 0x9d90
callq *(%r14)
leaq 0x24cb(%rip), %rdi      # 0x7d11
movq 0x4583(%rip), %rsi      # 0x9dd0
callq *(%r14)
leaq 0x24ce(%rip), %rdi      # 0x7d25
movq 0x441a(%rip), %rsi      # 0x9c78
callq *(%r14)
leaq 0x24d5(%rip), %rdi      # 0x7d3d
movq 0x4519(%rip), %rsi      # 0x9d88
callq *(%r14)
leaq 0x24d9(%rip), %rdi      # 0x7d52
movq 0x4778(%rip), %rsi      # 0x9ff8
callq *(%r14)
leaq 0x24dc(%rip), %rdi      # 0x7d66
movq 0x4357(%rip), %rsi      # 0x9be8
callq *(%r14)
leaq 0x24e0(%rip), %rdi      # 0x7d7b
movq 0x46ee(%rip), %rsi      # 0x9f90
callq *(%r14)
leaq 0x24e3(%rip), %rdi      # 0x7d8f
movq 0x45e5(%rip), %rsi      # 0x9e98
callq *(%r14)
leaq 0x24f1(%rip), %rdi      # 0x7dae
movq 0x437c(%rip), %rsi      # 0x9c40
callq *(%r14)
leaq 0x24fe(%rip), %rdi      # 0x7dcc
movq 0x432b(%rip), %rsi      # 0x9c00
callq *(%r14)
leaq 0x250a(%rip), %rdi      # 0x7de9
movq 0x443a(%rip), %rsi      # 0x9d20
callq *(%r14)
leaq 0x2519(%rip), %rdi      # 0x7e09
movq 0x4569(%rip), %rsi      # 0x9e60
callq *(%r14)
leaq 0x2527(%rip), %rdi      # 0x7e28
movq 0x4458(%rip), %rsi      # 0x9d60
callq *(%r14)
leaq 0x252c(%rip), %rdi      # 0x7e3e
movq 0x45af(%rip), %rsi      # 0x9ec8
callq *(%r14)
leaq 0x2531(%rip), %rdi      # 0x7e54
movq 0x4286(%rip), %rsi      # 0x9bb0
callq *(%r14)
leaq 0x2535(%rip), %rdi      # 0x7e69
movq 0x429d(%rip), %rsi      # 0x9bd8
callq *(%r14)
leaq 0x2539(%rip), %rdi      # 0x7e7e
movq 0x441c(%rip), %rsi      # 0x9d68
callq *(%r14)
leaq 0x2540(%rip), %rdi      # 0x7e96
movq 0x43eb(%rip), %rsi      # 0x9d48
callq *(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0x5980
leaq 0x185f(%rip), %rdi      # 0x71cf
callq *%rax
movl $0x1, %r12d
testl %eax, %eax
jne 0x5b31
leaq 0x1848(%rip), %rsi      # 0x71cf
movl $0x1, %r12d
movq %rbx, %rdi
movl $0x1, %edx
movl $0x1, %ecx
movq 0x45b7(%rip), %rax      # 0x9f58
callq *(%rax)
movl $0x0, (%rsp)
leaq 0x1808(%rip), %rsi      # 0x71b9
movq 0x42d8(%rip), %rdx      # 0x9c90
leaq 0x1807(%rip), %rcx      # 0x71c6
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
movq 0x44c1(%rip), %r14      # 0x9e90
callq *(%r14)
cmpl $0x1, %eax
je 0x5b31
movl $0x0, (%rsp)
leaq 0x17ed(%rip), %rsi      # 0x71d6
movq 0x42b8(%rip), %rdx      # 0x9ca8
leaq 0x17cf(%rip), %rcx      # 0x71c6
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5b31
movl $0x0, (%rsp)
leaq 0x17c8(%rip), %rsi      # 0x71e2
movq 0x42f7(%rip), %rdx      # 0x9d18
leaq 0x17a7(%rip), %rcx      # 0x71cf
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5b31
movl $0x0, (%rsp)
leaq 0x17a4(%rip), %rsi      # 0x71ef
movq 0x41b6(%rip), %rdx      # 0x9c08
leaq 0x176d(%rip), %rcx      # 0x71c6
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5b31
movl $0x0, (%rsp)
leaq 0x177f(%rip), %rsi      # 0x71fb
movq 0x414d(%rip), %rdx      # 0x9bd0
leaq 0x1745(%rip), %rcx      # 0x71cf
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5b31
movl $0x0, (%rsp)
leaq 0x175b(%rip), %rsi      # 0x7208
movq 0x4204(%rip), %rdx      # 0x9cb8
leaq 0x170b(%rip), %rcx      # 0x71c6
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5b31
movl $0x0, (%rsp)
leaq 0x1739(%rip), %rsi      # 0x7213
movq 0x44cf(%rip), %rdx      # 0x9fb0
leaq 0x16e7(%rip), %rcx      # 0x71cf
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq *(%r14)
cmpl $0x1, %eax
je 0x5b31
movl $0x0, (%rsp)
leaq 0x1718(%rip), %rsi      # 0x721f
movq 0x43e2(%rip), %rdx      # 0x9ef0
leaq 0x1716(%rip), %rcx      # 0x722b
movq %rbx, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
movq 0x436b(%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
nop