// File: /workspace/github_c_makefile_star2_O0/samtools[P]htslib/test/test_kfunc.c
// Function: main
int main(int argc, char **argv)
{
    test_fisher(2, 1, 0, 31,   1.0, 0.005347593583, 0.005347593583, 0.005347593583);
    test_fisher(2, 1, 0, 1,    1.0, 0.5, 1.0, 0.5);
    test_fisher(3, 1, 0, 0,    1.0, 1.0, 1.0, 1.0);
    test_fisher(3, 15, 37, 45, 0.021479750169, 0.995659202564, 0.033161943699, 0.017138952733);
    test_fisher(12, 5, 29, 2,  0.044554737835, 0.994525206022, 0.080268552074, 0.039079943857);

    test_fisher(781, 23171, 4963, 2455001,   1.0, 0.0, 0.0, 0.0);
    test_fisher(333, 381, 801722, 7664285,   1.0, 0.0, 0.0, 0.0);
    test_fisher(4155, 4903, 805463, 8507517, 1.0, 0.0, 0.0, 0.0);
    test_fisher(4455, 4903, 805463, 8507517, 1.0, 0.0, 0.0, 0.0);
    test_fisher(5455, 4903, 805463, 8507517, 1.0, 0.0, 0.0, 0.0);

    test_fisher(1, 1, 100000, 1000000, 0.991735477166, 0.173555146661, 0.173555146661, 0.165290623827);
    test_fisher(1000, 1000, 100000, 1000000, 1.0, 0.0, 0.0, 0.0);
    test_fisher(1000, 1000, 1000000, 100000, 0.0, 1.0, 0.0, 0.0);

    test_fisher(49999, 10001,  90001, 49999, 1.0, 0.0, 0.0, 0.0);
    test_fisher(50000, 10000,  90000, 50000, 1.0, 0.0, 0.0, 0.0);
    test_fisher(50001,  9999,  89999, 50001, 1.0, 0.0, 0.0, 0.0);
    test_fisher(10000, 50000, 130000, 10000, 0.0, 1.0, 0.0, 0.0);

    if (nfailed > 0) {
        const char *plural = (nfailed == 1)? "" : "s";
        fprintf(stderr, "Failed %d test case%s\n", nfailed, plural);
        return EXIT_FAILURE;
    }
    return EXIT_SUCCESS;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x2, %edi
movl $0x1, %esi
xorl %edx, %edx
movl $0x1f, %ecx
movsd 0x1c91(%rip), %xmm0     # 0x3010
movsd 0x1cf1(%rip), %xmm3     # 0x3078
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0x2, %edi
movl $0x1, %ecx
xorl %edx, %edx
movsd 0x1c6a(%rip), %xmm2     # 0x3010
movsd 0x1cc2(%rip), %xmm3     # 0x3070
movl %ecx, %esi
movaps %xmm2, %xmm0
movaps %xmm3, %xmm1
callq 0x1220
movl $0x3, %edi
movl $0x1, %esi
xorl %ecx, %ecx
movsd 0x1c41(%rip), %xmm3     # 0x3010
movl %ecx, %edx
movaps %xmm3, %xmm0
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0x3, %edi
movl $0xf, %esi
movl $0x25, %edx
movl $0x2d, %ecx
movsd 0x1c55(%rip), %xmm0     # 0x3050
movsd 0x1c55(%rip), %xmm1     # 0x3058
movsd 0x1c55(%rip), %xmm2     # 0x3060
movsd 0x1c55(%rip), %xmm3     # 0x3068
callq 0x1220
movl $0xc, %edi
movl $0x5, %esi
movl $0x1d, %edx
movl $0x2, %ecx
movsd 0x1bfc(%rip), %xmm0     # 0x3030
movsd 0x1bfc(%rip), %xmm1     # 0x3038
movsd 0x1bfc(%rip), %xmm2     # 0x3040
movsd 0x1bfc(%rip), %xmm3     # 0x3048
callq 0x1220
movl $0x30d, %edi            # imm = 0x30D
movl $0x5a83, %esi           # imm = 0x5A83
movl $0x1363, %edx           # imm = 0x1363
movl $0x2575d9, %ecx         # imm = 0x2575D9
movsd 0x1ba3(%rip), %xmm0     # 0x3010
xorps %xmm3, %xmm3
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0x14d, %edi            # imm = 0x14D
movl $0x17d, %esi            # imm = 0x17D
movl $0xc3bba, %edx          # imm = 0xC3BBA
movl $0x74f29d, %ecx         # imm = 0x74F29D
movsd 0x1b79(%rip), %xmm0     # 0x3010
xorps %xmm3, %xmm3
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0x103b, %edi           # imm = 0x103B
movl $0x1327, %esi           # imm = 0x1327
movl $0xc4a57, %edx          # imm = 0xC4A57
movl $0x81d07d, %ecx         # imm = 0x81D07D
movsd 0x1b4f(%rip), %xmm0     # 0x3010
xorps %xmm3, %xmm3
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0x1167, %edi           # imm = 0x1167
movl $0x1327, %esi           # imm = 0x1327
movl $0xc4a57, %edx          # imm = 0xC4A57
movl $0x81d07d, %ecx         # imm = 0x81D07D
movsd 0x1b25(%rip), %xmm0     # 0x3010
xorps %xmm3, %xmm3
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0x154f, %edi           # imm = 0x154F
movl $0x1327, %esi           # imm = 0x1327
movl $0xc4a57, %edx          # imm = 0xC4A57
movl $0x81d07d, %ecx         # imm = 0x81D07D
movsd 0x1afb(%rip), %xmm0     # 0x3010
xorps %xmm3, %xmm3
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0x1, %esi
movl $0x186a0, %edx          # imm = 0x186A0
movl $0xf4240, %ecx          # imm = 0xF4240
movsd 0x1ade(%rip), %xmm0     # 0x3018
movsd 0x1ade(%rip), %xmm2     # 0x3020
movsd 0x1ade(%rip), %xmm3     # 0x3028
movl %esi, %edi
movaps %xmm2, %xmm1
callq 0x1220
movl $0x3e8, %esi            # imm = 0x3E8
movl $0x186a0, %edx          # imm = 0x186A0
movl $0xf4240, %ecx          # imm = 0xF4240
movsd 0x1aa5(%rip), %xmm0     # 0x3010
xorps %xmm3, %xmm3
movl %esi, %edi
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0x3e8, %esi            # imm = 0x3E8
movl $0xf4240, %edx          # imm = 0xF4240
movl $0x186a0, %ecx          # imm = 0x186A0
xorps %xmm3, %xmm3
movsd 0x1a7b(%rip), %xmm1     # 0x3010
movl %esi, %edi
movaps %xmm3, %xmm0
movaps %xmm3, %xmm2
callq 0x1220
movl $0xc34f, %ecx           # imm = 0xC34F
movl $0x2711, %esi           # imm = 0x2711
movl $0x15f91, %edx          # imm = 0x15F91
movsd 0x1a57(%rip), %xmm0     # 0x3010
xorps %xmm3, %xmm3
movl %ecx, %edi
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0xc350, %ecx           # imm = 0xC350
movl $0x2710, %esi           # imm = 0x2710
movl $0x15f90, %edx          # imm = 0x15F90
movsd 0x1a30(%rip), %xmm0     # 0x3010
xorps %xmm3, %xmm3
movl %ecx, %edi
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0xc351, %ecx           # imm = 0xC351
movl $0x270f, %esi           # imm = 0x270F
movl $0x15f8f, %edx          # imm = 0x15F8F
movsd 0x1a09(%rip), %xmm0     # 0x3010
xorps %xmm3, %xmm3
movl %ecx, %edi
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x1220
movl $0x2710, %ecx           # imm = 0x2710
movl $0xc350, %esi           # imm = 0xC350
movl $0x1fbd0, %edx          # imm = 0x1FBD0
xorps %xmm3, %xmm3
movsd 0x19df(%rip), %xmm1     # 0x3010
movl %ecx, %edi
movaps %xmm3, %xmm0
movaps %xmm3, %xmm2
callq 0x1220
cmpl $0x0, 0x3a07(%rip)      # 0x504c
jle 0x1691
movl 0x39ff(%rip), %edx      # 0x504c
leaq 0x1a7d(%rip), %rax      # 0x30d1
leaq 0x1a5a(%rip), %rcx      # 0x30b5
cmpl $0x1, %edx
cmoveq %rcx, %rax
movq %rax, -0x18(%rbp)
movq 0x3973(%rip), %rax      # 0x4fe0
movq (%rax), %rdi
movl 0x39d6(%rip), %edx      # 0x504c
movq -0x18(%rbp), %rcx
leaq 0x1a52(%rip), %rsi      # 0x30d3
movb $0x0, %al
callq 0x1050
movl $0x1, -0x4(%rbp)
jmp 0x1698
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)