// File: /workspace/github_c_makefile_star2_O0/c-zhou[P]yahs/binomlite.c
// Function: gamln1
static double gamln1(double a)
{
/* ----------------------------------------------------------------------- */
/*     EVALUATION OF LN(GAMMA(1 + A)) FOR -0.2 <= A <= 1.25 */
/* ----------------------------------------------------------------------- */

    double w;
    if (a < 0.6) {
    static double p0 = .577215664901533;
    static double p1 = .844203922187225;
    static double p2 = -.168860593646662;
    static double p3 = -.780427615533591;
    static double p4 = -.402055799310489;
    static double p5 = -.0673562214325671;
    static double p6 = -.00271935708322958;
    static double q1 = 2.88743195473681;
    static double q2 = 3.12755088914843;
    static double q3 = 1.56875193295039;
    static double q4 = .361951990101499;
    static double q5 = .0325038868253937;
    static double q6 = 6.67465618796164e-4;
    w = ((((((p6 * a + p5)* a + p4)* a + p3)* a + p2)* a + p1)* a + p0) /
        ((((((q6 * a + q5)* a + q4)* a + q3)* a + q2)* a + q1)* a + 1.);
    return -(a) * w;
    }
    else { /* 0.6 <= a <= 1.25 */
    static double r0 = .422784335098467;
    static double r1 = .848044614534529;
    static double r2 = .565221050691933;
    static double r3 = .156513060486551;
    static double r4 = .017050248402265;
    static double r5 = 4.97958207639485e-4;
    static double s1 = 1.24313399877507;
    static double s2 = .548042109832463;
    static double s3 = .10155218743983;
    static double s4 = .00713309612391;
    static double s5 = 1.16165475989616e-4;
    double x = a - 0.5 - 0.5;
    w = (((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x + r0) /
        (((((s5 * x + s4) * x + s3) * x + s2) * x + s1) * x + 1.);
    return x * w;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movsd %xmm0, -0x10(%rbp)
movsd 0xc19f(%rip), %xmm0     # 0x32a70
ucomisd -0x10(%rbp), %xmm0
jbe 0x26a1c
movsd 0x12cd4(%rip), %xmm0    # 0x395b8
movsd -0x10(%rbp), %xmm2
movsd 0x12cbf(%rip), %xmm1    # 0x395b0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x10(%rbp), %xmm2
movsd 0x12ca2(%rip), %xmm1    # 0x395a8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x10(%rbp), %xmm2
movsd 0x12c85(%rip), %xmm1    # 0x395a0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x10(%rbp), %xmm2
movsd 0x12c68(%rip), %xmm1    # 0x39598
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x10(%rbp), %xmm2
movsd 0x12c4b(%rip), %xmm1    # 0x39590
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x10(%rbp), %xmm2
movsd 0x12c2e(%rip), %xmm1    # 0x39588
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x12c7e(%rip), %xmm1    # 0x395e8
movsd -0x10(%rbp), %xmm3
movsd 0x12c69(%rip), %xmm2    # 0x395e0
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd -0x10(%rbp), %xmm3
movsd 0x12c4c(%rip), %xmm2    # 0x395d8
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd -0x10(%rbp), %xmm3
movsd 0x12c2f(%rip), %xmm2    # 0x395d0
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd -0x10(%rbp), %xmm3
movsd 0x12c12(%rip), %xmm2    # 0x395c8
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd -0x10(%rbp), %xmm3
movsd 0x12bf5(%rip), %xmm2    # 0x395c0
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd -0x10(%rbp), %xmm2
mulsd %xmm2, %xmm1
movsd 0xac14(%rip), %xmm2     # 0x315f8
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x10(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd -0x18(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x26b38
movsd -0x10(%rbp), %xmm0
movsd 0xabd7(%rip), %xmm1     # 0x31600
subsd %xmm1, %xmm0
movsd 0xabcb(%rip), %xmm1     # 0x31600
subsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movsd 0x12bd2(%rip), %xmm0    # 0x39618
movsd -0x20(%rbp), %xmm2
movsd 0x12bbd(%rip), %xmm1    # 0x39610
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x20(%rbp), %xmm2
movsd 0x12ba0(%rip), %xmm1    # 0x39608
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x20(%rbp), %xmm2
movsd 0x12b83(%rip), %xmm1    # 0x39600
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x20(%rbp), %xmm2
movsd 0x12b66(%rip), %xmm1    # 0x395f8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x20(%rbp), %xmm2
movsd 0x12b49(%rip), %xmm1    # 0x395f0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x12b89(%rip), %xmm1    # 0x39640
movsd -0x20(%rbp), %xmm3
movsd 0x12b74(%rip), %xmm2    # 0x39638
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd -0x20(%rbp), %xmm3
movsd 0x12b57(%rip), %xmm2    # 0x39630
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd -0x20(%rbp), %xmm3
movsd 0x12b3a(%rip), %xmm2    # 0x39628
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd -0x20(%rbp), %xmm3
movsd 0x12b1d(%rip), %xmm2    # 0x39620
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd -0x20(%rbp), %xmm2
mulsd %xmm2, %xmm1
movsd 0xaadc(%rip), %xmm2     # 0x315f8
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x20(%rbp), %xmm0
mulsd -0x18(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
popq %rbp
retq
nop