// File: /workspace/github_c_makefile_star2_O0/c-zhou[P]yahs/binomlite.c
// Function: brcomp
static double brcomp(double a, double b, double x, double y, int log_p)
{
/* -----------------------------------------------------------------------
 *         Evaluation of x^a * y^b / Beta(a,b)
 * ----------------------------------------------------------------------- */

    static double const__ = .398942280401433; /* == 1/sqrt(2*pi); */
    /* R has  M_1_SQRT_2PI , and M_LN_SQRT_2PI = ln(sqrt(2*pi)) = 0.918938.. */
    int i, n;
    double c, e, u, v, z, a0, b0, apb;

    if (x == 0. || y == 0.) {
    return R_D__0;
    }
    a0 = fmin2(a, b);
    if (a0 < 8.) {
    double lnx, lny;
    if (x <= .375) {
        lnx = log(x);
        lny = alnrel(-x);
    }
    else {
        if (y > .375) {
        lnx = log(x);
        lny = log(y);
        } else {
        lnx = alnrel(-y);
        lny = log(y);
        }
    }

    z = a * lnx + b * lny;
    if (a0 >= 1.) {
        z -= betaln(a, b);
        return R_D_exp(z);
    }

/* ----------------------------------------------------------------------- */
/*        PROCEDURE FOR a < 1 OR b < 1 */
/* ----------------------------------------------------------------------- */

    b0 = fmax2(a, b);
    if (b0 >= 8.) { /* L80: */
        u = gamln1(a0) + algdiv(a0, b0);

        return (log_p ? log(a0) + (z - u)  : a0 * exp(z - u));
    }
    /* else : */

    if (b0 <= 1.) { /*        algorithm for max(a,b) = b0 <= 1 */

        double e_z = R_D_exp(z);

        if (!log_p && e_z == 0.) /* exp() underflow */
        return 0.;

        apb = a + b;
        if (apb > 1.) {
        u = a + b - 1.;
        z = (gam1(u) + 1.) / apb;
        } else {
        z = gam1(apb) + 1.;
        }

        c = (gam1(a) + 1.) * (gam1(b) + 1.) / z;
        /* FIXME? log(a0*c)= log(a0)+ log(c) and that is improvable */
        return (log_p
            ? e_z + log(a0 * c) - log1p(a0/b0)
            : e_z * (a0 * c) / (a0 / b0 + 1.));
    }

    /* else :           ALGORITHM FOR 1 < b0 < 8 */

    u = gamln1(a0);
    n = (int)(b0 - 1.);
    if (n >= 1) {
        c = 1.;
        for (i = 1; i <= n; ++i) {
        b0 += -1.;
        c *= b0 / (a0 + b0);
        }
        u = log(c) + u;
    }
    z -= u;
    b0 += -1.;
    apb = a0 + b0;
    double t;
    if (apb > 1.) {
        u = a0 + b0 - 1.;
        t = (gam1(u) + 1.) / apb;
    } else {
        t = gam1(apb) + 1.;
    }

    return (log_p
        ? log(a0) + z + log1p(gam1(b0))  - log(t)
        : a0 * exp(z) * (gam1(b0) + 1.) / t);

    } else {
/* ----------------------------------------------------------------------- */
/*        PROCEDURE FOR A >= 8 AND B >= 8 */
/* ----------------------------------------------------------------------- */
    double h, x0, y0, lambda;
    if (a <= b) {
        h = a / b;
        x0 = h / (h + 1.);
        y0 = 1. / (h + 1.);
        lambda = a - (a + b) * x;
    } else {
        h = b / a;
        x0 = 1. / (h + 1.);
        y0 = h / (h + 1.);
        lambda = (a + b) * y - b;
    }

    e = -lambda / a;
    if (fabs(e) > .6)
        u = e - log(x / x0);
    else
        u = rlog1(e);

    e = lambda / b;
    if (fabs(e) <= .6)
        v = rlog1(e);
    else
        v = e - log(y / y0);

    z = log_p ? -(a * u + b * v) : exp(-(a * u + b * v));

    return(log_p
           ? -M_LN_SQRT_2PI + .5*log(b * x0) + z - bcorr(a,b)
           : const__ * sqrt(b * x0) * z * exp(-bcorr(a, b)));
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x18(%rbp)
movsd %xmm2, -0x20(%rbp)
movsd %xmm3, -0x28(%rbp)
movl %edi, -0x2c(%rbp)
movsd -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x28c04
jp 0x28c04
jmp 0x28c14
movsd -0x28(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x28c59
jp 0x28c59
movl -0x2c(%rbp), %eax
movsd 0x9b61(%rip), %xmm0     # 0x32780
xorps %xmm1, %xmm1
movsd %xmm1, -0xc8(%rbp)
cmpl $0x0, %eax
movsd %xmm0, -0xc0(%rbp)
jne 0x28c47
movsd -0xc8(%rbp), %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x296a2
movsd -0x10(%rbp), %xmm1
movsd -0x18(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x28c78
movsd -0x10(%rbp), %xmm0
movsd %xmm0, -0xd0(%rbp)
jmp 0x28c85
movsd -0x18(%rbp), %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd 0x9bd6(%rip), %xmm0     # 0x32870
ucomisd -0x68(%rbp), %xmm0
jbe 0x292db
movsd 0x9b83(%rip), %xmm0     # 0x32830
ucomisd -0x20(%rbp), %xmm0
jb 0x28cee
movsd -0x20(%rbp), %xmm0
callq 0x2250
movsd %xmm0, -0x80(%rbp)
movsd -0x20(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
callq 0x25fc0
movsd %xmm0, -0x88(%rbp)
jmp 0x28d5e
movsd -0x28(%rbp), %xmm0
movsd 0x9b35(%rip), %xmm1     # 0x32830
ucomisd %xmm1, %xmm0
jbe 0x28d24
movsd -0x20(%rbp), %xmm0
callq 0x2250
movsd %xmm0, -0x80(%rbp)
movsd -0x28(%rbp), %xmm0
callq 0x2250
movsd %xmm0, -0x88(%rbp)
jmp 0x28d5c
movsd -0x28(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
callq 0x25fc0
movsd %xmm0, -0x80(%rbp)
movsd -0x28(%rbp), %xmm0
callq 0x2250
movsd %xmm0, -0x88(%rbp)
jmp 0x28d5e
movsd -0x10(%rbp), %xmm0
movsd -0x80(%rbp), %xmm2
movsd -0x18(%rbp), %xmm1
mulsd -0x88(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x68(%rbp), %xmm0
movsd 0x8869(%rip), %xmm1     # 0x315f8
ucomisd %xmm1, %xmm0
jb 0x28dee
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
callq 0x260f0
movaps %xmm0, %xmm1
movsd -0x60(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x28dca
movsd -0x60(%rbp), %xmm0
movsd %xmm0, -0xd8(%rbp)
jmp 0x28ddc
movsd -0x60(%rbp), %xmm0
callq 0x2560
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x296a2
movsd -0x10(%rbp), %xmm0
ucomisd -0x18(%rbp), %xmm0
jb 0x28e09
movsd -0x10(%rbp), %xmm0
movsd %xmm0, -0xe0(%rbp)
jmp 0x28e16
movsd -0x18(%rbp), %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd 0x9a40(%rip), %xmm1     # 0x32870
ucomisd %xmm1, %xmm0
jb 0x28edc
movsd -0x68(%rbp), %xmm0
callq 0x268c0
movsd %xmm0, -0xe8(%rbp)
movsd -0x68(%rbp), %xmm0
movsd -0x70(%rbp), %xmm1
callq 0x26b40
movaps %xmm0, %xmm1
movsd -0xe8(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x28e97
movsd -0x68(%rbp), %xmm0
callq 0x2250
movsd -0x60(%rbp), %xmm1
subsd -0x50(%rbp), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
jmp 0x28eca
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0xf8(%rbp)
movsd -0x60(%rbp), %xmm0
subsd -0x50(%rbp), %xmm0
callq 0x2560
movaps %xmm0, %xmm1
movsd -0xf8(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x296a2
movsd 0x8714(%rip), %xmm0     # 0x315f8
ucomisd -0x70(%rbp), %xmm0
jb 0x290c1
cmpl $0x0, -0x2c(%rbp)
je 0x28f04
movsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x100(%rbp)
jmp 0x28f16
movsd -0x60(%rbp), %xmm0
callq 0x2560
movsd %xmm0, -0x100(%rbp)
movsd -0x100(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
cmpl $0x0, -0x2c(%rbp)
jne 0x28f4c
movsd -0x90(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x28f4c
jp 0x28f4c
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x296a2
movsd -0x10(%rbp), %xmm0
addsd -0x18(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movsd 0x8690(%rip), %xmm1     # 0x315f8
ucomisd %xmm1, %xmm0
jbe 0x28fab
movsd -0x10(%rbp), %xmm0
addsd -0x18(%rbp), %xmm0
movsd 0x8678(%rip), %xmm1     # 0x315f8
subsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
callq 0x26e70
movsd 0x865d(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
divsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
jmp 0x28fc6
movsd -0x78(%rbp), %xmm0
callq 0x26e70
movsd 0x863b(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x26e70
movsd 0x8620(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0x18(%rbp), %xmm0
callq 0x26e70
movaps %xmm0, %xmm1
movsd -0x108(%rbp), %xmm0
movsd 0x85f7(%rip), %xmm2     # 0x315f8
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
divsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x29077
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x120(%rbp)
movsd -0x68(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
callq 0x2250
movaps %xmm0, %xmm1
movsd -0x120(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x118(%rbp)
movsd -0x68(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
callq 0x2230
movaps %xmm0, %xmm1
movsd -0x118(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
jmp 0x290af
movsd -0x90(%rbp), %xmm0
movsd -0x68(%rbp), %xmm1
mulsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd -0x68(%rbp), %xmm1
divsd -0x70(%rbp), %xmm1
movsd 0x8559(%rip), %xmm2     # 0x315f8
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
movsd -0x110(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x296a2
movsd -0x68(%rbp), %xmm0
callq 0x268c0
movsd %xmm0, -0x50(%rbp)
movsd -0x70(%rbp), %xmm0
movsd 0x851b(%rip), %xmm1     # 0x315f8
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x34(%rbp)
cmpl $0x1, -0x34(%rbp)
jl 0x29158
movsd 0x8502(%rip), %xmm0     # 0x315f8
movsd %xmm0, -0x40(%rbp)
movl $0x1, -0x30(%rbp)
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jg 0x29144
movsd 0x9766(%rip), %xmm0     # 0x32878
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd -0x68(%rbp), %xmm1
addsd -0x70(%rbp), %xmm1
divsd %xmm1, %xmm0
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x29102
movsd -0x40(%rbp), %xmm0
callq 0x2250
addsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm1
movsd -0x60(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movsd 0x9705(%rip), %xmm0     # 0x32878
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x68(%rbp), %xmm0
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movsd 0x845f(%rip), %xmm1     # 0x315f8
ucomisd %xmm1, %xmm0
jbe 0x291df
movsd -0x68(%rbp), %xmm0
addsd -0x70(%rbp), %xmm0
movsd 0x8447(%rip), %xmm1     # 0x315f8
subsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
callq 0x26e70
movsd 0x842c(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
divsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
jmp 0x291fd
movsd -0x78(%rbp), %xmm0
callq 0x26e70
movsd 0x8407(%rip), %xmm1     # 0x315f8
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x29266
movsd -0x68(%rbp), %xmm0
callq 0x2250
addsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x138(%rbp)
movsd -0x70(%rbp), %xmm0
callq 0x26e70
callq 0x2230
movaps %xmm0, %xmm1
movsd -0x138(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x130(%rbp)
movsd -0x98(%rbp), %xmm0
callq 0x2250
movaps %xmm0, %xmm1
movsd -0x130(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x128(%rbp)
jmp 0x292c9
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x148(%rbp)
movsd -0x60(%rbp), %xmm0
callq 0x2560
movaps %xmm0, %xmm1
movsd -0x148(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x140(%rbp)
movsd -0x70(%rbp), %xmm0
callq 0x26e70
movaps %xmm0, %xmm1
movsd -0x140(%rbp), %xmm0
movsd 0x8347(%rip), %xmm2     # 0x315f8
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
divsd -0x98(%rbp), %xmm0
movsd %xmm0, -0x128(%rbp)
movsd -0x128(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x296a2
movsd -0x10(%rbp), %xmm1
movsd -0x18(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x29389
movsd -0x10(%rbp), %xmm0
divsd -0x18(%rbp), %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd 0x82e7(%rip), %xmm1     # 0x315f8
addsd -0xa0(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movsd 0x82cb(%rip), %xmm1     # 0x315f8
addsd -0xa0(%rbp), %xmm1
movsd 0x82bb(%rip), %xmm0     # 0x315f8
divsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0x10(%rbp), %xmm1
movsd -0x10(%rbp), %xmm0
addsd -0x18(%rbp), %xmm0
movsd -0x20(%rbp), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
jmp 0x2941e
movsd -0x18(%rbp), %xmm0
divsd -0x10(%rbp), %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd 0x8255(%rip), %xmm1     # 0x315f8
addsd -0xa0(%rbp), %xmm1
movsd 0x8245(%rip), %xmm0     # 0x315f8
divsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd 0x8229(%rip), %xmm1     # 0x315f8
addsd -0xa0(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0x10(%rbp), %xmm0
addsd -0x18(%rbp), %xmm0
movsd -0x28(%rbp), %xmm2
movsd -0x18(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
divsd -0x10(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
movaps 0x969d(%rip), %xmm1     # 0x32af0
pand %xmm1, %xmm0
movsd 0x9611(%rip), %xmm1     # 0x32a70
ucomisd %xmm1, %xmm0
jbe 0x2949a
movsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x150(%rbp)
movsd -0x20(%rbp), %xmm0
divsd -0xa8(%rbp), %xmm0
callq 0x2250
movaps %xmm0, %xmm1
movsd -0x150(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
jmp 0x294a9
movsd -0x48(%rbp), %xmm0
callq 0x27190
movsd %xmm0, -0x50(%rbp)
movsd -0xb8(%rbp), %xmm0
divsd -0x18(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm1
movaps 0x9629(%rip), %xmm0     # 0x32af0
pand %xmm0, %xmm1
movsd 0x959d(%rip), %xmm0     # 0x32a70
ucomisd %xmm1, %xmm0
jb 0x294ea
movsd -0x48(%rbp), %xmm0
callq 0x27190
movsd %xmm0, -0x58(%rbp)
jmp 0x2951d
movsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x158(%rbp)
movsd -0x28(%rbp), %xmm0
divsd -0xb0(%rbp), %xmm0
callq 0x2250
movaps %xmm0, %xmm1
movsd -0x158(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x29560
movsd -0x10(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
movsd -0x18(%rbp), %xmm1
mulsd -0x58(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x160(%rbp)
jmp 0x295a0
movsd -0x10(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
movsd -0x18(%rbp), %xmm1
mulsd -0x58(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
callq 0x2560
movsd %xmm0, -0x160(%rbp)
movsd -0x160(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x29615
movsd -0x18(%rbp), %xmm0
mulsd -0xa8(%rbp), %xmm0
callq 0x2250
movsd 0x8033(%rip), %xmm1     # 0x31600
mulsd %xmm1, %xmm0
movsd 0x950f(%rip), %xmm1     # 0x32ae8
addsd %xmm1, %xmm0
addsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x170(%rbp)
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
callq 0x273f0
movaps %xmm0, %xmm1
movsd -0x170(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x168(%rbp)
jmp 0x29695
movsd 0x103f3(%rip), %xmm0    # 0x39a10
movsd %xmm0, -0x180(%rbp)
movsd -0x18(%rbp), %xmm0
mulsd -0xa8(%rbp), %xmm0
callq 0x2500
movaps %xmm0, %xmm1
movsd -0x180(%rbp), %xmm0
mulsd %xmm1, %xmm0
mulsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x178(%rbp)
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
callq 0x273f0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
callq 0x2560
movaps %xmm0, %xmm1
movsd -0x178(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x168(%rbp)
movsd -0x168(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq