// File: /workspace/github_c_makefile_star2_O1/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:
movsd 0x6bc5(%rip), %xmm1     # 0x22b88
ucomisd %xmm0, %xmm1
jbe 0x1c07e
movsd 0x6e2b(%rip), %xmm1     # 0x22e00
mulsd %xmm0, %xmm1
addsd 0x6e27(%rip), %xmm1     # 0x22e08
mulsd %xmm0, %xmm1
addsd 0x6e23(%rip), %xmm1     # 0x22e10
mulsd %xmm0, %xmm1
addsd 0x6e1f(%rip), %xmm1     # 0x22e18
mulsd %xmm0, %xmm1
addsd 0x6e1b(%rip), %xmm1     # 0x22e20
mulsd %xmm0, %xmm1
addsd 0x6e17(%rip), %xmm1     # 0x22e28
mulsd %xmm0, %xmm1
addsd 0x69a3(%rip), %xmm1     # 0x229c0
movsd 0x6e0b(%rip), %xmm2     # 0x22e30
mulsd %xmm0, %xmm2
addsd 0x6e07(%rip), %xmm2     # 0x22e38
mulsd %xmm0, %xmm2
addsd 0x6e03(%rip), %xmm2     # 0x22e40
mulsd %xmm0, %xmm2
addsd 0x6dff(%rip), %xmm2     # 0x22e48
mulsd %xmm0, %xmm2
addsd 0x6dfb(%rip), %xmm2     # 0x22e50
mulsd %xmm0, %xmm2
addsd 0x6df7(%rip), %xmm2     # 0x22e58
mulsd %xmm0, %xmm2
addsd 0x55c3(%rip), %xmm2     # 0x21630
divsd %xmm2, %xmm1
xorpd 0x6f67(%rip), %xmm0     # 0x22fe0
jmp 0x1c11a
movsd 0x6802(%rip), %xmm1     # 0x22888
addsd %xmm1, %xmm0
addsd %xmm1, %xmm0
movsd 0x6d12(%rip), %xmm1     # 0x22da8
mulsd %xmm0, %xmm1
addsd 0x6d0e(%rip), %xmm1     # 0x22db0
mulsd %xmm0, %xmm1
addsd 0x6d0a(%rip), %xmm1     # 0x22db8
mulsd %xmm0, %xmm1
addsd 0x6d06(%rip), %xmm1     # 0x22dc0
mulsd %xmm0, %xmm1
addsd 0x6d02(%rip), %xmm1     # 0x22dc8
mulsd %xmm0, %xmm1
addsd 0x6cfe(%rip), %xmm1     # 0x22dd0
movsd 0x6cfe(%rip), %xmm2     # 0x22dd8
mulsd %xmm0, %xmm2
addsd 0x6cfa(%rip), %xmm2     # 0x22de0
mulsd %xmm0, %xmm2
addsd 0x6cf6(%rip), %xmm2     # 0x22de8
mulsd %xmm0, %xmm2
addsd 0x6cf2(%rip), %xmm2     # 0x22df0
mulsd %xmm0, %xmm2
addsd 0x6cee(%rip), %xmm2     # 0x22df8
mulsd %xmm0, %xmm2
addsd 0x551a(%rip), %xmm2     # 0x21630
divsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
retq