// File: /workspace/github_c_makefile_star2_O3/c-zhou[P]yahs/binomlite.c
// Function: bgrat
static void bgrat(double a, double b, double x, double y, double *w,
          double eps, int *ierr, int log_w)
{
/* -----------------------------------------------------------------------
*     Asymptotic Expansion for I_x(a,b)  when a is larger than b.
*     Compute   w := w + I_x(a,b)
*     It is assumed a >= 15 and b <= 1.
*     eps is the tolerance used.
*     ierr is a variable that reports the status of the results.
*
* if(log_w),  *w  itself must be in log-space;
*     compute   w := w + I_x(a,b)  but return *w = log(w):
*          *w := log(exp(*w) + I_x(a,b)) = logspace_add(*w, log( I_x(a,b) ))
* ----------------------------------------------------------------------- */

#define n_terms_bgrat 30
    double c[n_terms_bgrat], d[n_terms_bgrat];
    double bm1 = b - 0.5 - 0.5,
    nu = a + bm1 * 0.5, /* nu = a + (b-1)/2 =: T, in (9.1) of
                 * Didonato & Morris(1992), p.362 */
    lnx = (y > 0.375) ? log(x) : alnrel(-y),
    z = -nu * lnx; // z =: u in (9.1) of D.&M.(1992)

    if (b * z == 0.) { // should not happen, but does, e.g.,
    // for  pbeta(1e-320, 1e-5, 0.5)  i.e., _subnormal_ x,
    // Warning ... bgrat(a=20.5, b=1e-05, x=1, y=9.99989e-321): ..
    /* L_Error:    THE EXPANSION CANNOT BE COMPUTED */
     *ierr = 1; return;
    }

/*                 COMPUTATION OF THE EXPANSION */
    double
    /* r1 = b * (gam1(b) + 1.) * exp(b * log(z)),// = b/gamma(b+1) z^b = z^b / gamma(b)
     * set r := exp(-z) * z^b / gamma(b) ;
     *          gam1(b) = 1/gamma(b+1) - 1 , b in [-1/2, 3/2] */
    // exp(a*lnx) underflows for large (a * lnx); e.g. large a ==> using log_r := log(r):
    // r = r1 * exp(a * lnx) * exp(bm1 * 0.5 * lnx);
    // log(r)=log(b) + log1p(gam1(b)) + b * log(z) + (a * lnx) + (bm1 * 0.5 * lnx),
    log_r = log(b) + log1p(gam1(b)) + b * log(z) + nu * lnx,
    // FIXME work with  log_u = log(u)  also when log_p=0  (??)
    // u is 'factored out' from the expansion {and multiplied back, at the end}:
    log_u = log_r - (algdiv(b, a) + b * log(nu)),// algdiv(b,a) = log(gamma(a)/gamma(a+b))
    /* u = (log_p) ? log_r - u : exp(log_r-u); // =: M  in (9.2) of {reference above} */
    /* u = algdiv(b, a) + b * log(nu);// algdiv(b,a) = log(gamma(a)/gamma(a+b)) */
    // u = (log_p) ? log_u : exp(log_u); // =: M  in (9.2) of {reference above}
    u = exp(log_u);

    if (log_u == ML_NEGINF) {
    /* L_Error:    THE EXPANSION CANNOT BE COMPUTED */ *ierr = 2; return;
    }

    int u_0 = (u == 0.); // underflow --> do work with log(u) == log_u !
    double l = // := *w/u .. but with care: such that it also works when u underflows to 0:
    log_w
    ? ((*w == ML_NEGINF) ? 0. : exp(  *w    - log_u))
    : ((*w == 0.)        ? 0. : exp(log(*w) - log_u));

    double
    q_r = grat_r(b, z, log_r, eps), // = q/r of former grat1(b,z, r, &p, &q)
    v = 0.25 / (nu * nu),
    t2 = lnx * 0.25 * lnx,
    j = q_r,
    sum = j,
    t = 1., cn = 1., n2 = 0.;
    int n;
    for (n = 1; n <= n_terms_bgrat; ++n) {
    double bp2n = b + n2;
    j = (bp2n * (bp2n + 1.) * j + (z + bp2n + 1.) * t) * v;
    n2 += 2.;
    t *= t2;
    cn /= n2 * (n2 + 1.);
    int nm1 = n - 1;
    c[nm1] = cn;
    double s = 0.;
    if (n > 1) {
        double coef = b - n;
        int i;
        for (i = 1; i <= nm1; ++i) {
        s += coef * c[i - 1] * d[nm1 - i];
        coef += b;
        }
    }
    d[nm1] = bm1 * cn + s / n;
    double dj = d[nm1] * j;
    sum += dj;
    if (sum <= 0.) {
        /* L_Error:    THE EXPANSION CANNOT BE COMPUTED */ *ierr = 3; return;
    }
    if (fabs(dj) <= eps * (sum + l)) {
        *ierr = 0;
        break;
    } else if(n == n_terms_bgrat) { // never? ; please notify R-core if seen:
        *ierr = 4;
    }
    } // for(n .. n_terms..)

/*                    ADD THE RESULTS TO W */

    if(log_w) // *w is in log space already:
    *w = logspace_add(*w, log_u + log(sum));
    else
    *w += (u_0 ? exp(log_u + log(sum)) : u * sum);
    return;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x2a0, %rsp            # imm = 0x2A0
movl %edx, %ebp
movq %rsi, %r14
movq %rdi, %rbx
movsd 0xa29e(%rip), %xmm4     # 0x238b8
movsd %xmm1, 0x40(%rsp)
addsd %xmm4, %xmm1
addsd %xmm4, %xmm1
movsd 0x8be8(%rip), %xmm4     # 0x22218
movsd %xmm1, 0xb8(%rsp)
mulsd %xmm1, %xmm4
movsd %xmm0, 0x8(%rsp)
addsd %xmm0, %xmm4
movapd %xmm4, 0x70(%rsp)
ucomisd 0xa39b(%rip), %xmm3     # 0x239f0
jbe 0x19662
movapd %xmm2, %xmm0
callq 0x2240
jmp 0x19673
xorpd 0xa786(%rip), %xmm3     # 0x23df0
movapd %xmm3, %xmm0
callq 0x1c860
movapd %xmm0, %xmm4
movapd 0xa771(%rip), %xmm2     # 0x23df0
movapd 0x70(%rsp), %xmm3
xorpd %xmm3, %xmm2
mulsd %xmm0, %xmm2
movapd %xmm2, %xmm5
movsd 0x40(%rsp), %xmm0
mulsd %xmm0, %xmm5
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm5
jne 0x196b3
jp 0x196b3
movl $0x1, (%r14)
jmp 0x1a076
movapd %xmm5, 0x10(%rsp)
movapd %xmm2, 0x60(%rsp)
movsd %xmm4, 0x88(%rsp)
callq 0x2240
movsd %xmm0, 0x50(%rsp)
movsd 0x40(%rsp), %xmm0
callq 0x1d093
movsd %xmm0, 0x28(%rsp)
callq 0x2220
addsd 0x50(%rsp), %xmm0
movsd %xmm0, 0x50(%rsp)
movapd 0x60(%rsp), %xmm0
callq 0x2240
movsd 0x40(%rsp), %xmm1
mulsd %xmm1, %xmm0
addsd 0x50(%rsp), %xmm0
movapd 0x70(%rsp), %xmm2
mulsd 0x88(%rsp), %xmm2
addsd %xmm0, %xmm2
movapd %xmm2, 0x30(%rsp)
movapd %xmm1, %xmm0
movsd 0x8(%rsp), %xmm1
callq 0x1cebd
movsd %xmm0, 0x8(%rsp)
movapd 0x70(%rsp), %xmm0
callq 0x2240
mulsd 0x40(%rsp), %xmm0
addsd 0x8(%rsp), %xmm0
movapd 0x30(%rsp), %xmm1
subsd %xmm0, %xmm1
movapd %xmm1, 0x50(%rsp)
movapd %xmm1, %xmm0
callq 0x2550
movapd 0x50(%rsp), %xmm2
movsd 0xa134(%rip), %xmm1     # 0x238b0
ucomisd %xmm2, %xmm1
jb 0x1978e
movl $0x2, (%r14)
jmp 0x1a076
movsd %xmm0, 0xb0(%rsp)
movsd (%rbx), %xmm0
xorpd %xmm2, %xmm2
testl %ebp, %ebp
je 0x197b1
movsd %xmm2, 0x8(%rsp)
ucomisd %xmm0, %xmm1
jae 0x197d9
jmp 0x197c8
xorpd %xmm1, %xmm1
movsd %xmm1, 0x8(%rsp)
ucomisd %xmm2, %xmm0
jne 0x197c3
jnp 0x197d9
callq 0x2240
subsd 0x50(%rsp), %xmm0
callq 0x2550
movsd %xmm0, 0x8(%rsp)
movsd 0x40(%rsp), %xmm10
ucomisd 0x8a2f(%rip), %xmm10    # 0x22218
jne 0x1980d
jp 0x1980d
xorpd %xmm0, %xmm0
movapd 0x60(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jb 0x19999
xorps %xmm5, %xmm5
sqrtsd %xmm1, %xmm5
jmp 0x199ac
movsd 0xa1c3(%rip), %xmm1     # 0x239d8
movapd 0x60(%rsp), %xmm0
ucomisd %xmm0, %xmm1
jbe 0x19b0d
movsd 0xa173(%rip), %xmm2     # 0x239a0
movapd %xmm10, %xmm3
addsd %xmm2, %xmm3
movapd %xmm0, %xmm1
divsd %xmm3, %xmm1
movsd 0x8e19(%rip), %xmm9     # 0x22660
addsd %xmm10, %xmm9
movsd 0xa1ac(%rip), %xmm3     # 0x23a00
divsd %xmm9, %xmm3
movapd 0xa58f(%rip), %xmm4     # 0x23df0
xorpd %xmm0, %xmm4
movsd 0x8df2(%rip), %xmm11    # 0x22660
movapd 0xa56a(%rip), %xmm5     # 0x23de0
movapd %xmm0, %xmm6
addsd %xmm11, %xmm2
movapd %xmm4, %xmm7
divsd %xmm2, %xmm7
mulsd %xmm7, %xmm6
movapd %xmm2, %xmm7
addsd %xmm10, %xmm7
movapd %xmm6, %xmm8
divsd %xmm7, %xmm8
addsd %xmm8, %xmm1
andpd %xmm5, %xmm8
ucomisd %xmm3, %xmm8
ja 0x1987a
divsd 0xa151(%rip), %xmm1     # 0x23a08
movsd 0xa151(%rip), %xmm2     # 0x23a10
addsd %xmm10, %xmm2
movsd 0x9fec(%rip), %xmm3     # 0x238b8
divsd %xmm2, %xmm3
addsd %xmm1, %xmm3
movapd %xmm11, %xmm1
divsd %xmm9, %xmm1
mulsd %xmm0, %xmm3
addsd %xmm1, %xmm3
movapd 0x10(%rsp), %xmm1
mulsd %xmm3, %xmm1
movapd %xmm1, 0x10(%rsp)
callq 0x2240
movsd 0x8d5d(%rip), %xmm4     # 0x22660
movapd 0x60(%rsp), %xmm1
movsd 0x40(%rsp), %xmm2
mulsd %xmm2, %xmm0
movsd 0x28(%rsp), %xmm3
addsd %xmm3, %xmm4
ucomisd 0xa0f3(%rip), %xmm1     # 0x23a18
movsd %xmm4, 0x90(%rsp)
jb 0x19942
divsd 0xa0e8(%rip), %xmm1     # 0x23a20
ucomisd %xmm2, %xmm1
ja 0x19c50
ucomisd 0xa0de(%rip), %xmm0     # 0x23a28
ja 0x19c50
callq 0x2550
movsd 0x90(%rsp), %xmm2
mulsd %xmm0, %xmm2
movsd 0x88ae(%rip), %xmm0     # 0x22218
movapd %xmm0, %xmm1
subsd 0x10(%rsp), %xmm1
addsd %xmm0, %xmm1
mulsd %xmm2, %xmm1
movapd %xmm0, %xmm2
subsd %xmm1, %xmm2
addsd %xmm0, %xmm2
movsd %xmm2, 0x10(%rsp)
movapd 0x30(%rsp), %xmm0
jmp 0x19e29
movapd %xmm1, %xmm0
callq 0x24f0
movapd 0x60(%rsp), %xmm1
movapd %xmm0, %xmm5
movsd 0xa064(%rip), %xmm0     # 0x23a18
ucomisd %xmm1, %xmm0
jbe 0x19aeb
movapd 0xa41a(%rip), %xmm1     # 0x23de0
andpd %xmm5, %xmm1
movsd 0x8846(%rip), %xmm6     # 0x22218
ucomisd %xmm1, %xmm6
jae 0x19bcf
movsd 0x9fa4(%rip), %xmm0     # 0x23988
ucomisd %xmm1, %xmm0
jae 0x19cbc
ucomisd 0xa0fa(%rip), %xmm1     # 0x23af0
jae 0x19df8
movapd %xmm5, %xmm0
mulsd %xmm5, %xmm0
movsd 0x8c54(%rip), %xmm3     # 0x22660
movapd %xmm3, %xmm4
divsd %xmm0, %xmm4
movsd 0xa0dc(%rip), %xmm2     # 0x23af8
mulsd %xmm4, %xmm2
addsd 0xa0d8(%rip), %xmm2     # 0x23b00
mulsd %xmm4, %xmm2
addsd 0xa0d4(%rip), %xmm2     # 0x23b08
mulsd %xmm4, %xmm2
addsd 0xa0d0(%rip), %xmm2     # 0x23b10
mulsd %xmm4, %xmm2
addsd 0xa0cc(%rip), %xmm2     # 0x23b18
movapd %xmm5, 0x10(%rsp)
movsd 0xa0c6(%rip), %xmm5     # 0x23b20
mulsd %xmm4, %xmm5
addsd 0xa0c2(%rip), %xmm5     # 0x23b28
mulsd %xmm4, %xmm5
addsd 0xa0be(%rip), %xmm5     # 0x23b30
mulsd %xmm4, %xmm5
addsd 0xa0ba(%rip), %xmm5     # 0x23b38
mulsd %xmm4, %xmm5
addsd %xmm3, %xmm5
mulsd %xmm0, %xmm5
divsd %xmm5, %xmm2
movsd 0xa0aa(%rip), %xmm3     # 0x23b40
subsd %xmm2, %xmm3
divsd %xmm1, %xmm3
movsd %xmm3, 0x28(%rsp)
xorpd 0xa344(%rip), %xmm0     # 0x23df0
callq 0x2550
movsd 0x875f(%rip), %xmm6     # 0x22218
mulsd 0x28(%rsp), %xmm0
movapd %xmm6, %xmm1
subsd %xmm0, %xmm1
addsd %xmm6, %xmm1
movapd 0xa31d(%rip), %xmm3     # 0x23df0
xorpd %xmm1, %xmm3
xorpd %xmm0, %xmm0
movapd 0x10(%rsp), %xmm2
cmpltsd %xmm0, %xmm2
jmp 0x19de2
movapd %xmm5, %xmm0
movapd %xmm5, 0x10(%rsp)
callq 0x1d6ee
divsd 0x10(%rsp), %xmm0
mulsd 0x9f28(%rip), %xmm0     # 0x23a30
jmp 0x19e3c
movsd 0x8b4b(%rip), %xmm1     # 0x22660
movapd %xmm1, %xmm2
subsd %xmm10, %xmm2
addsd %xmm0, %xmm2
movapd %xmm1, %xmm7
unpcklpd %xmm2, %xmm7            # xmm7 = xmm7[0],xmm2[0]
movapd %xmm1, %xmm5
unpcklpd %xmm0, %xmm5            # xmm5 = xmm5[0],xmm0[0]
movapd %xmm0, %xmm2
unpcklpd %xmm0, %xmm2            # xmm2 = xmm2[0],xmm0[0]
movapd 0xa29e(%rip), %xmm3     # 0x23de0
movsd 0x9eae(%rip), %xmm4     # 0x239f8
movapd %xmm1, %xmm6
movapd %xmm6, %xmm0
unpcklpd %xmm6, %xmm0            # xmm0 = xmm0[0],xmm6[0]
mulpd %xmm5, %xmm0
addsd %xmm1, %xmm6
movapd %xmm6, %xmm8
subsd %xmm10, %xmm8
movapd %xmm2, %xmm5
mulpd %xmm7, %xmm5
addpd %xmm0, %xmm5
unpcklpd %xmm8, %xmm8            # xmm8 = xmm8[0,0]
mulpd %xmm7, %xmm8
addpd %xmm5, %xmm8
movapd %xmm8, %xmm9
movapd %xmm8, %xmm7
movapd %xmm8, %xmm0
unpcklpd %xmm5, %xmm0            # xmm0 = xmm0[0],xmm5[0]
unpckhpd %xmm5, %xmm9            # xmm9 = xmm9[1],xmm5[1]
divpd %xmm9, %xmm0
movapd %xmm0, %xmm8
unpckhpd %xmm0, %xmm8            # xmm8 = xmm8[1],xmm0[1]
movapd %xmm0, %xmm9
subsd %xmm8, %xmm9
andpd %xmm3, %xmm9
movapd %xmm0, %xmm8
mulsd %xmm4, %xmm8
ucomisd %xmm8, %xmm9
jae 0x19b4e
jmp 0x19e3c
movapd %xmm5, %xmm1
mulsd %xmm5, %xmm1
movsd 0x9e59(%rip), %xmm4     # 0x23a38
mulsd %xmm1, %xmm4
addsd 0x9e55(%rip), %xmm4     # 0x23a40
mulsd %xmm1, %xmm4
addsd 0x9e51(%rip), %xmm4     # 0x23a48
mulsd %xmm1, %xmm4
addsd 0x9e4d(%rip), %xmm4     # 0x23a50
mulsd %xmm1, %xmm4
addsd 0x9e49(%rip), %xmm4     # 0x23a58
movsd 0x8a49(%rip), %xmm2     # 0x22660
movsd 0x9e41(%rip), %xmm3     # 0x23a60
mulsd %xmm1, %xmm3
addsd 0x9e3d(%rip), %xmm3     # 0x23a68
addsd %xmm2, %xmm4
mulsd %xmm1, %xmm3
addsd 0x9e35(%rip), %xmm3     # 0x23a70
mulsd %xmm1, %xmm3
addsd %xmm2, %xmm3
divsd %xmm3, %xmm4
mulsd %xmm5, %xmm4
jmp 0x19e11
callq 0x18e02
movsd 0x85bb(%rip), %xmm1     # 0x22218
movapd %xmm0, %xmm2
addsd %xmm1, %xmm2
addsd %xmm1, %xmm2
mulsd 0x10(%rsp), %xmm2
subsd %xmm0, %xmm2
mulsd 0x90(%rsp), %xmm2
subsd 0x28(%rsp), %xmm2
xorpd %xmm0, %xmm0
ucomisd %xmm2, %xmm0
jae 0x19e3c
movapd 0x30(%rsp), %xmm0
xorpd 0xa152(%rip), %xmm0     # 0x23df0
movsd %xmm2, 0x30(%rsp)
callq 0x2550
movsd 0x30(%rsp), %xmm1
mulsd %xmm0, %xmm1
movapd %xmm1, %xmm0
jmp 0x19e3c
movsd 0x9db4(%rip), %xmm0     # 0x23a78
mulsd %xmm1, %xmm0
addsd 0x9db0(%rip), %xmm0     # 0x23a80
mulsd %xmm1, %xmm0
addsd 0x9dac(%rip), %xmm0     # 0x23a88
mulsd %xmm1, %xmm0
addsd 0x9da8(%rip), %xmm0     # 0x23a90
mulsd %xmm1, %xmm0
addsd 0x9da4(%rip), %xmm0     # 0x23a98
mulsd %xmm1, %xmm0
addsd 0x9da0(%rip), %xmm0     # 0x23aa0
mulsd %xmm1, %xmm0
addsd 0x9d9c(%rip), %xmm0     # 0x23aa8
mulsd %xmm1, %xmm0
addsd 0x9d98(%rip), %xmm0     # 0x23ab0
movsd %xmm0, 0x28(%rsp)
movsd 0x9d92(%rip), %xmm0     # 0x23ab8
addsd %xmm1, %xmm0
mulsd %xmm1, %xmm0
addsd 0x9d8a(%rip), %xmm0     # 0x23ac0
mulsd %xmm1, %xmm0
addsd 0x9d86(%rip), %xmm0     # 0x23ac8
mulsd %xmm1, %xmm0
addsd 0x9d82(%rip), %xmm0     # 0x23ad0
mulsd %xmm1, %xmm0
addsd 0x9d7e(%rip), %xmm0     # 0x23ad8
mulsd %xmm1, %xmm0
addsd 0x9d7a(%rip), %xmm0     # 0x23ae0
mulsd %xmm1, %xmm0
addsd 0x9d76(%rip), %xmm0     # 0x23ae8
movsd %xmm0, 0xa8(%rsp)
movapd %xmm5, %xmm1
xorpd 0xa069(%rip), %xmm1     # 0x23df0
movapd %xmm1, 0x90(%rsp)
movapd %xmm5, %xmm0
mulsd %xmm1, %xmm0
movapd %xmm5, 0x10(%rsp)
callq 0x2550
movsd 0x846d(%rip), %xmm6     # 0x22218
mulsd 0x28(%rsp), %xmm0
divsd 0xa8(%rsp), %xmm0
movapd %xmm6, %xmm1
subsd %xmm0, %xmm1
addsd %xmm6, %xmm1
movapd 0xa022(%rip), %xmm3     # 0x23df0
xorpd %xmm1, %xmm3
movapd 0x10(%rsp), %xmm2
cmpltsd 0x90(%rsp), %xmm2
movapd %xmm2, %xmm0
andnpd %xmm1, %xmm0
andpd %xmm3, %xmm2
orpd %xmm0, %xmm2
movapd %xmm2, %xmm4
jmp 0x19e11
xorpd %xmm0, %xmm0
xorl %eax, %eax
ucomisd %xmm0, %xmm5
seta %al
leaq 0xa054(%rip), %rcx      # 0x23e60
movsd (%rcx,%rax,8), %xmm4
movapd 0x30(%rsp), %xmm0
movapd %xmm6, %xmm1
subsd %xmm4, %xmm1
addsd %xmm6, %xmm1
movsd %xmm1, 0x10(%rsp)
xorpd 0x9fbf(%rip), %xmm0     # 0x23df0
callq 0x2550
mulsd 0x10(%rsp), %xmm0
movapd 0x70(%rsp), %xmm1
mulsd %xmm1, %xmm1
movsd 0x9bca(%rip), %xmm2     # 0x23a18
movsd 0x88(%rsp), %xmm4
movapd %xmm4, %xmm3
mulsd %xmm2, %xmm3
divsd %xmm1, %xmm2
mulsd %xmm4, %xmm3
movsd 0x87f1(%rip), %xmm4     # 0x22660
movl $0x1, %ecx
xorl %eax, %eax
movsd 0x9b92(%rip), %xmm6     # 0x23a10
leaq 0x1b0(%rsp), %rdx
movsd 0x9b69(%rip), %xmm8     # 0x239f8
movapd %xmm0, %xmm1
xorpd %xmm12, %xmm12
movapd %xmm4, %xmm9
movapd %xmm4, %xmm10
xorpd %xmm11, %xmm11
movsd 0x40(%rsp), %xmm7
addsd %xmm6, %xmm11
movapd %xmm11, %xmm13
addsd %xmm4, %xmm13
mulsd %xmm11, %xmm13
divsd %xmm13, %xmm9
movsd %xmm9, 0x1a8(%rsp,%rcx,8)
xorps %xmm13, %xmm13
cvtsi2sd %ecx, %xmm13
xorpd %xmm14, %xmm14
cmpq $0x2, %rcx
jb 0x19f1a
movapd %xmm7, %xmm15
subsd %xmm13, %xmm15
movq %rdx, %rsi
movq %rax, %rdi
movsd (%rsi), %xmm5
mulsd %xmm15, %xmm5
mulsd 0xb8(%rsp,%rdi), %xmm5
addsd %xmm5, %xmm14
addsd %xmm7, %xmm15
addq $0x8, %rsi
addq $-0x8, %rdi
jne 0x19ef4
addsd %xmm7, %xmm12
movapd %xmm12, %xmm5
addsd %xmm4, %xmm5
mulsd %xmm12, %xmm5
mulsd %xmm5, %xmm0
addsd 0x60(%rsp), %xmm12
addsd %xmm4, %xmm12
mulsd %xmm10, %xmm12
addsd %xmm12, %xmm0
mulsd %xmm2, %xmm0
divsd %xmm13, %xmm14
movsd 0xb8(%rsp), %xmm12
mulsd %xmm9, %xmm12
addsd %xmm14, %xmm12
movsd %xmm12, 0xb8(%rsp,%rcx,8)
mulsd %xmm0, %xmm12
addsd %xmm12, %xmm1
xorpd %xmm5, %xmm5
ucomisd %xmm1, %xmm5
jae 0x19fc7
andpd 0x9e55(%rip), %xmm12    # 0x23de0
movsd 0x8(%rsp), %xmm5
addsd %xmm1, %xmm5
mulsd %xmm8, %xmm5
ucomisd %xmm12, %xmm5
jae 0x19fd3
mulsd %xmm3, %xmm10
leaq 0x1(%rcx), %rsi
addq $0x8, %rax
movapd %xmm11, %xmm12
cmpq $0x1e, %rcx
movq %rsi, %rcx
jne 0x19ead
movl $0x4, %eax
jmp 0x19fd5
movl $0x3, (%r14)
jmp 0x1a076
xorl %eax, %eax
movl %eax, (%r14)
testl %ebp, %ebp
movsd 0xb0(%rsp), %xmm0
je 0x1a048
movsd (%rbx), %xmm0
movaps %xmm0, 0x70(%rsp)
movapd %xmm1, %xmm0
callq 0x2240
movapd 0x50(%rsp), %xmm1
addsd %xmm0, %xmm1
movapd %xmm1, %xmm2
movapd 0x70(%rsp), %xmm3
cmplesd %xmm3, %xmm2
movapd %xmm2, %xmm0
andnpd %xmm1, %xmm0
andpd %xmm3, %xmm2
orpd %xmm0, %xmm2
movapd %xmm2, 0x40(%rsp)
subsd %xmm1, %xmm3
orpd 0x9dbe(%rip), %xmm3     # 0x23df0
movapd %xmm3, %xmm0
callq 0x2550
callq 0x2220
addsd 0x40(%rsp), %xmm0
jmp 0x1a072
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jne 0x1a06a
jp 0x1a06a
movapd %xmm1, %xmm0
callq 0x2240
addsd 0x50(%rsp), %xmm0
callq 0x2550
jmp 0x1a06e
mulsd %xmm1, %xmm0
addsd (%rbx), %xmm0
movsd %xmm0, (%rbx)
addq $0x2a0, %rsp            # imm = 0x2A0
popq %rbx
popq %r14
popq %rbp
retq