// File: /workspace/github_c_makefile_star2_O0/c-zhou[P]yahs/binomlite.c
// Function: bcorr
static double bcorr(double a0, double b0)
{
/* ----------------------------------------------------------------------- */

/*     EVALUATION OF  DEL(A0) + DEL(B0) - DEL(A0 + B0)  WHERE */
/*     LN(GAMMA(A)) = (A - 0.5)*LN(A) - A + 0.5*LN(2*PI) + DEL(A). */
/*     IT IS ASSUMED THAT A0 >= 8 AND B0 >= 8. */

/* ----------------------------------------------------------------------- */
    /* Initialized data */

    static double c0 = .0833333333333333;
    static double c1 = -.00277777777760991;
    static double c2 = 7.9365066682539e-4;
    static double c3 = -5.9520293135187e-4;
    static double c4 = 8.37308034031215e-4;
    static double c5 = -.00165322962780713;

    /* System generated locals */
    double ret_val, r1;

    /* Local variables */
    double a, b, c, h, t, w, x, s3, s5, x2, s7, s9, s11;
/* ------------------------ */
    a = fmin2(a0, b0);
    b = fmax2(a0, b0);

    h = a / b;
    c = h / (h + 1.);
    x = 1. / (h + 1.);
    x2 = x * x;

/*                SET SN = (1 - X^N)/(1 - X) */

    s3 = x + x2 + 1.;
    s5 = x + x2 * s3 + 1.;
    s7 = x + x2 * s5 + 1.;
    s9 = x + x2 * s7 + 1.;
    s11 = x + x2 * s9 + 1.;

/*                SET W = DEL(B) - DEL(A + B) */

/* Computing 2nd power */
    r1 = 1. / b;
    t = r1 * r1;
    w = ((((c5 * s11 * t + c4 * s9) * t + c3 * s7) * t + c2 * s5) * t + c1 *
        s3) * t + c0;
    w *= c / b;

/*                   COMPUTE  DEL(A) + W */

/* Computing 2nd power */
    r1 = 1. / a;
    t = r1 * r1;
    ret_val = (((((c5 * t + c4) * t + c3) * t + c2) * t + c1) * t + c0) / a +
        w;
    return ret_val;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x18, %rsp
movsd %xmm0, -0x8(%rbp)
movsd %xmm1, -0x10(%rbp)
movsd -0x8(%rbp), %xmm1
movsd -0x10(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x27421
movsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
jmp 0x2742e
movsd -0x10(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movsd -0x8(%rbp), %xmm0
ucomisd -0x10(%rbp), %xmm0
jb 0x27456
movsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
jmp 0x27463
movsd -0x10(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x28(%rbp), %xmm0
divsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
movsd 0xa16c(%rip), %xmm1     # 0x315f8
addsd -0x40(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd 0xa156(%rip), %xmm1     # 0x315f8
addsd -0x40(%rbp), %xmm1
movsd 0xa149(%rip), %xmm0     # 0x315f8
divsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm0
mulsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x58(%rbp), %xmm0
addsd -0x70(%rbp), %xmm0
movsd 0xa11f(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x58(%rbp), %xmm1
movsd -0x70(%rbp), %xmm0
movsd -0x60(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0xa0f7(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x58(%rbp), %xmm1
movsd -0x70(%rbp), %xmm0
movsd -0x68(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0xa0cf(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x58(%rbp), %xmm1
movsd -0x70(%rbp), %xmm0
movsd -0x78(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0xa0a7(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x58(%rbp), %xmm1
movsd -0x70(%rbp), %xmm0
movsd -0x80(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0xa07f(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd 0xa06b(%rip), %xmm0     # 0x315f8
divsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm0
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd 0x121fa(%rip), %xmm0    # 0x397a8
mulsd -0x88(%rbp), %xmm0
movsd -0x48(%rbp), %xmm2
movsd 0x121dd(%rip), %xmm1    # 0x397a0
mulsd -0x80(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x48(%rbp), %xmm2
movsd 0x121bb(%rip), %xmm1    # 0x39798
mulsd -0x78(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x48(%rbp), %xmm2
movsd 0x12199(%rip), %xmm1    # 0x39790
mulsd -0x68(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x48(%rbp), %xmm2
movsd 0x12177(%rip), %xmm1    # 0x39788
mulsd -0x60(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x48(%rbp), %xmm2
movsd 0x12155(%rip), %xmm1    # 0x39780
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x38(%rbp), %xmm0
divsd -0x30(%rbp), %xmm0
mulsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd 0x9fa4(%rip), %xmm0     # 0x315f8
divsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm0
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd 0x12133(%rip), %xmm0    # 0x397a8
movsd -0x48(%rbp), %xmm2
movsd 0x1211e(%rip), %xmm1    # 0x397a0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x48(%rbp), %xmm2
movsd 0x12101(%rip), %xmm1    # 0x39798
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x48(%rbp), %xmm2
movsd 0x120e4(%rip), %xmm1    # 0x39790
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x48(%rbp), %xmm2
movsd 0x120c7(%rip), %xmm1    # 0x39788
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x48(%rbp), %xmm2
movsd 0x120aa(%rip), %xmm1    # 0x39780
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
divsd -0x28(%rbp), %xmm0
addsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x18(%rbp), %xmm0
addq $0x18, %rsp
popq %rbp
retq
nopl (%rax,%rax)