// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathmsc.cpp
// Function: step2diu_(double*, double*, double*, double*)
int step2diu_(double *xsta, double *fhr, double *t, double *xcorsta)
{
    /* Initialized data */

    static double deg2rad = .017453292519943295769;

    /* F2C generated locals */
    double d__1, d__2, d__3, d__4;

    /* Local variables */
    static double rsta, h;
    static int i, j;
    static double p, s, cosla, sinla, de, 
            dn, dr, pr, ps, thetaf, cosphi, sinphi, zla, tau, zns;

   if(xsta == 0) return (-1);
   if(fhr == 0) return (-1);
   if(t == 0) return (-1);
   if(xcorsta == 0) return (-1);

/* last change:  vd   17 may 00   1:20 pm */
/* these are the subroutines for the step2 of the tidal corrections. */

/* they are called to account for the frequency dependence */
/* of the love numbers. */

    /* Function Body */
/*** note, following table is derived from dehanttideinelMJD.f (2000oct30 16:10) */
/*** has minor differences from that of dehanttideinel.f (2000apr17 14:10) */
/*** D.M. edited to strictly follow published table 7.5a (2006aug08 13:46) */
/* cf. table 7.5a of IERS conventions 2003 (TN.32, pg.82) */
/* columns are s,h,p,N',ps, dR(ip),dR(op),dT(ip),dT(op) */
/* units of mm */
/*   data datdi/ */
/*  * -3., 0., 2., 0., 0.,-0.01,-0.01, 0.0 , 0.0, */
/*  * -3., 2., 0., 0., 0.,-0.01,-0.01, 0.0 , 0.0, */
/*  * -2., 0., 1.,-1., 0.,-0.02,-0.01, 0.0 , 0.0, */
/*  * -2., 0., 1., 0., 0.,-0.08, 0.00, 0.01, 0.01,      !*** table 7.5a
 */
/*  * -2., 2.,-1., 0., 0.,-0.02,-0.01, 0.0 , 0.0, */
/*  * -1., 0., 0.,-1., 0.,-0.10, 0.00, 0.00, 0.00,      !*** table 7.5a
 */
/*  * -1., 0., 0., 0., 0.,-0.51, 0.00,-0.02, 0.03,      !*** table 7.5a
 */
/*  * -1., 2., 0., 0., 0., 0.01, 0.0 , 0.0 , 0.0, */
/*  *  0.,-2., 1., 0., 0., 0.01, 0.0 , 0.0 , 0.0, */
/*  *  0., 0.,-1., 0., 0., 0.02, 0.01, 0.0 , 0.0, */
/*  *  0., 0., 1., 0., 0., 0.06, 0.00, 0.00, 0.00,      !*** table 7.5a
 */
/*  *  0., 0., 1., 1., 0., 0.01, 0.0 , 0.0 , 0.0, */
/*  *  0., 2.,-1., 0., 0., 0.01, 0.0 , 0.0 , 0.0, */
/*  *  1.,-3., 0., 0., 1.,-0.06, 0.00, 0.00, 0.00,      !*** table 7.5a
 */
/*  *  1.,-2., 0., 1., 0., 0.01, 0.0 , 0.0 , 0.0, */
/*  *  1.,-2., 0., 0., 0.,-1.23,-0.07, 0.06, 0.01,      !*** table 7.5a
 */
/*  *  1.,-1., 0., 0.,-1., 0.02, 0.0 , 0.0 , 0.0, */
/*  *  1.,-1., 0., 0., 1., 0.04, 0.0 , 0.0 , 0.0, */
/*  *  1., 0., 0.,-1., 0.,-0.22, 0.01, 0.01, 0.00,      !*** table 7.5a
 */
/***  *  1., 0., 0., 0., 0.,12.00,-0.78,-0.67,-0.03,      !**** table 7.5a */
/*  *  1., 0., 0., 1., 0., 1.73,-0.12,-0.10, 0.00,      !*** table 7.5a */
/*  *  1., 0., 0., 2., 0.,-0.04, 0.0 , 0.0 , 0.0, */
/*  *  1., 1., 0., 0.,-1.,-0.50,-0.01, 0.03, 0.00,      !*** table 7.5a */
/*  *  1., 1., 0., 0., 1., 0.01, 0.0 , 0.0 , 0.0, */
/***  *  1., 1., 0., 1.,-1.,-0.01, 0.0 , 0.0 , 0.0,       !*** v.dehant 2007 */
/*  *  1., 2.,-2., 0., 0.,-0.01, 0.0 , 0.0 , 0.0, */
/*  *  1., 2., 0., 0., 0.,-0.11, 0.01, 0.01, 0.00,      !*** table 7.5a */
/*  *  2.,-2., 1., 0., 0.,-0.01, 0.0 , 0.0 , 0.0, */
/*  *  2., 0.,-1., 0., 0.,-0.02, 0.02, 0.0 , 0.01, */
/*  *  3., 0., 0., 0., 0., 0.0 , 0.01, 0.0 , 0.01, */
/*  *  3., 0., 0., 1., 0., 0.0 , 0.01, 0.0 , 0.0/ */
/* Computing 3rd power */
    d__1 = *t, d__2 = d__1;
    s = *t * 481267.88194 + 218.31664563 - *t * .0014663889 * *t + d__2 * (
            d__1 * d__1) * 1.85139e-6;
/* Computing 3rd power */
    d__1 = *t, d__2 = d__1;
    tau = *fhr * 15. + 280.4606184 + *t * 36000.7700536 + *t * 3.8793e-4 * *t 
            - d__2 * (d__1 * d__1) * 2.58e-8 - s;
/* Computing 3rd power */
    d__1 = *t, d__2 = d__1;
/* Computing 4th power */
    d__3 = *t, d__3 *= d__3;
    pr = *t * 1.396971278f + *t * 3.08889e-4f * *t + d__2 * (d__1 * d__1) * 
            2.1e-8f + d__3 * d__3 * 7e-9f;
    s += pr;
/* Computing 3rd power */
    d__1 = *t, d__2 = d__1;
/* Computing 4th power */
    d__3 = *t, d__3 *= d__3;
    h = *t * 36000.7697489 + 280.46645 + *t * 3.0322222e-4 * *t + d__2 * (
            d__1 * d__1) * 2e-8f - d__3 * d__3 * 6.54e-9f;
/* Computing 3rd power */
    d__1 = *t, d__2 = d__1;
/* Computing 4th power */
    d__3 = *t, d__3 *= d__3;
    p = *t * 4069.01363525 + 83.35324312 - *t * .01032172222 * *t - d__2 * (
            d__1 * d__1) * 1.24991e-5 + d__3 * d__3 * 5.263e-8;
/* Computing 3rd power */
    d__1 = *t, d__2 = d__1;
/* Computing 4th power */
    d__3 = *t, d__3 *= d__3;
    zns = *t * 1934.13626197 + 234.95544499 - *t * .00207561111 * *t - d__2 * 
            (d__1 * d__1) * 2.13944e-6 + d__3 * d__3 * 1.65e-8;
/* Computing 3rd power */
    d__1 = *t, d__2 = d__1;
/* Computing 4th power */
    d__3 = *t, d__3 *= d__3;
    ps = *t * 1.71945766667 + 282.93734098 + *t * 4.5688889e-4 * *t - d__2 * (
            d__1 * d__1) * 1.778e-8 - d__3 * d__3 * 3.34e-9;
/* reduce angles to between 0 and 360 */
    s = d_mod(&s, &c_b56);
    tau = d_mod(&tau, &c_b56);
    h = d_mod(&h, &c_b56);
    p = d_mod(&p, &c_b56);
    zns = d_mod(&zns, &c_b56);
    ps = d_mod(&ps, &c_b56);
/* Computing 2nd power */
    d__1 = xsta[0];
/* Computing 2nd power */
    d__2 = xsta[1];
/* Computing 2nd power */
    d__3 = xsta[2];
    rsta = sqrt(d__1 * d__1 + d__2 * d__2 + d__3 * d__3);
    sinphi = xsta[2] / rsta;
/* Computing 2nd power */
    d__1 = xsta[0];
/* Computing 2nd power */
    d__2 = xsta[1];
    cosphi = sqrt(d__1 * d__1 + d__2 * d__2) / rsta;
    cosla = xsta[0] / cosphi / rsta;
    sinla = xsta[1] / cosphi / rsta;
    zla = atan2(xsta[1], xsta[0]);
    for(i=0; i<=2; ++i) {
        xcorsta[i] = 0.;
    }
    for(j=1; j<=31; ++j) {
        thetaf = (tau + datdi[j * 9 - 9] * s + datdi[j * 9 - 8] * h + datdi[j 
                * 9 - 7] * p + datdi[j * 9 - 6] * zns + datdi[j * 9 - 5] * ps)
                 * deg2rad;
        dr = datdi[j * 9 - 4] * 2. * sinphi * cosphi * sin(thetaf + zla) + 
                datdi[j * 9 - 3] * 2. * sinphi * cosphi * cos(thetaf + zla);
/* Computing 2nd power */
        d__1 = cosphi;
/* Computing 2nd power */
        d__2 = sinphi;
/* Computing 2nd power */
        d__3 = cosphi;
/* Computing 2nd power */
        d__4 = sinphi;
        dn = datdi[j * 9 - 2] * (d__1 * d__1 - d__2 * d__2) * sin(thetaf + 
                zla) + datdi[j * 9 - 1] * (d__3 * d__3 - d__4 * d__4) * cos(
                thetaf + zla);
/***** following correction by V.Dehant to match eq.16b, p.81, 2003 Co
nventions*/
/* ****   de=datdi(8,j)*sinphi*cos(thetaf+zla)+ */
        de = datdi[j * 9 - 2] * sinphi * cos(thetaf + zla) - datdi[j * 9 - 1] 
                * sinphi * sin(thetaf + zla);
        xcorsta[0] = xcorsta[0] + dr * cosla * cosphi - de * sinla - dn * 
                sinphi * cosla;
        xcorsta[1] = xcorsta[1] + dr * sinla * cosphi + de * cosla - dn * 
                sinphi * sinla;
        xcorsta[2] = xcorsta[2] + dr * sinphi + dn * cosphi;
    }
    for(i=0; i<= 2; ++i) {
        xcorsta[i] /= 1e3;
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rcx, %rbx
movq %rdi, %r14
testq %rdi, %rdi
sete %al
testq %rsi, %rsi
sete %cl
orb %al, %cl
testq %rdx, %rdx
sete %al
testq %rbx, %rbx
sete %dil
orb %al, %dil
orb %cl, %dil
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jne 0xed116
movsd (%rdx), %xmm0
movsd 0x3f9d5(%rip), %xmm1    # 0x12c3c8
mulsd %xmm0, %xmm1
addsd 0x3f9d1(%rip), %xmm1    # 0x12c3d0
movsd 0x3f9d1(%rip), %xmm4    # 0x12c3d8
mulsd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm1, %xmm4
movapd %xmm0, %xmm2
movsd 0x3f9d1(%rip), %xmm3    # 0x12c3f0
mulsd %xmm0, %xmm3
movsd 0x3f9cd(%rip), %xmm5    # 0x12c3f8
mulsd %xmm0, %xmm5
mulsd %xmm0, %xmm5
movsd 0x3f9cd(%rip), %xmm1    # 0x12c408
mulsd %xmm0, %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, -0x18(%rbp)
movsd 0x3f9c0(%rip), %xmm6    # 0x12c410
mulsd %xmm0, %xmm6
movsd 0x3f9cc(%rip), %xmm7    # 0x12c428
mulsd %xmm0, %xmm7
movsd 0x3f9cf(%rip), %xmm8    # 0x12c438
mulsd %xmm0, %xmm8
mulsd %xmm0, %xmm8
movsd 0x3f9d4(%rip), %xmm9    # 0x12c450
mulsd %xmm0, %xmm9
movsd 0x3f9d6(%rip), %xmm10   # 0x12c460
mulsd %xmm0, %xmm10
mulsd %xmm0, %xmm10
movsd 0x3f9db(%rip), %xmm11   # 0x12c478
mulsd %xmm0, %xmm11
movsd 0x3f9dd(%rip), %xmm12   # 0x12c488
mulsd %xmm0, %xmm12
movapd %xmm0, %xmm1
mulsd %xmm0, %xmm1
mulsd %xmm1, %xmm2
movsd 0x3f91b(%rip), %xmm15   # 0x12c3e0
mulsd %xmm2, %xmm15
addsd %xmm4, %xmm15
movsd %xmm15, 0x28eb88(%rip)  # 0x37b660
movsd (%rsi), %xmm13
mulsd 0x319b2(%rip), %xmm13   # 0x11e498
mulsd %xmm0, %xmm12
addsd 0x3f8f4(%rip), %xmm13   # 0x12c3e8
movsd 0x3f9a4(%rip), %xmm4    # 0x12c4a0
mulsd %xmm0, %xmm4
addsd %xmm13, %xmm3
movsd 0x3f9a2(%rip), %xmm13   # 0x12c4b0
mulsd %xmm0, %xmm13
mulsd %xmm0, %xmm13
movapd %xmm0, %xmm14
addsd %xmm3, %xmm5
movapd 0x1c677(%rip), %xmm3    # 0x1091a0
xorpd %xmm3, %xmm14
mulsd %xmm1, %xmm14
movsd 0x3f8c5(%rip), %xmm0    # 0x12c400
mulsd %xmm14, %xmm0
addsd %xmm5, %xmm0
subsd %xmm15, %xmm0
movsd %xmm0, 0x28eb5f(%rip)   # 0x37b6b0
addsd -0x18(%rbp), %xmm6
movsd 0x3f8ba(%rip), %xmm5    # 0x12c418
mulsd %xmm2, %xmm5
addsd %xmm6, %xmm5
xorpd %xmm1, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm1
movsd 0x3f8a6(%rip), %xmm0    # 0x12c420
mulsd %xmm1, %xmm0
addsd %xmm5, %xmm0
addsd 0x3f8a6(%rip), %xmm7    # 0x12c430
addsd %xmm15, %xmm0
addsd %xmm7, %xmm8
mulsd 0x3f8a4(%rip), %xmm2    # 0x12c440
addsd %xmm8, %xmm2
movsd 0x3f89f(%rip), %xmm5    # 0x12c448
mulsd %xmm3, %xmm5
addsd %xmm2, %xmm5
movsd %xmm5, 0x28ea8f(%rip)   # 0x37b648
addsd 0x3f896(%rip), %xmm9    # 0x12c458
addsd %xmm9, %xmm10
movsd 0x3f899(%rip), %xmm2    # 0x12c468
mulsd %xmm14, %xmm2
addsd %xmm10, %xmm2
movsd 0x3f88f(%rip), %xmm5    # 0x12c470
mulsd %xmm1, %xmm5
addsd %xmm2, %xmm5
movsd %xmm0, 0x28ea6f(%rip)   # 0x37b660
movsd %xmm5, 0x28ea5f(%rip)   # 0x37b658
addsd 0x3f87e(%rip), %xmm11   # 0x12c480
addsd %xmm11, %xmm12
movsd 0x3f881(%rip), %xmm2    # 0x12c490
mulsd %xmm14, %xmm2
addsd %xmm12, %xmm2
mulsd 0x3f877(%rip), %xmm1    # 0x12c498
addsd %xmm2, %xmm1
movsd %xmm1, 0x28ea8b(%rip)   # 0x37b6b8
addsd 0x3f873(%rip), %xmm4    # 0x12c4a8
addsd %xmm4, %xmm13
mulsd 0x3f875(%rip), %xmm14   # 0x12c4b8
addsd %xmm13, %xmm14
mulsd 0x3f870(%rip), %xmm3    # 0x12c4c0
addsd %xmm14, %xmm3
movsd %xmm3, 0x28ea2b(%rip)   # 0x37b688
movsd 0x3142b(%rip), %xmm1    # 0x11e090
callq 0x94d0
movsd %xmm0, 0x28e9ee(%rip)   # 0x37b660
movsd 0x28ea36(%rip), %xmm0   # 0x37b6b0
movsd 0x3140e(%rip), %xmm1    # 0x11e090
callq 0x94d0
movsd %xmm0, 0x28ea21(%rip)   # 0x37b6b0
movsd 0x28e9b1(%rip), %xmm0   # 0x37b648
movsd 0x313f1(%rip), %xmm1    # 0x11e090
callq 0x94d0
movsd %xmm0, 0x28e99c(%rip)   # 0x37b648
movsd 0x28e9a4(%rip), %xmm0   # 0x37b658
movsd 0x313d4(%rip), %xmm1    # 0x11e090
callq 0x94d0
movsd %xmm0, 0x28e98f(%rip)   # 0x37b658
movsd 0x28e9e7(%rip), %xmm0   # 0x37b6b8
movsd 0x313b7(%rip), %xmm1    # 0x11e090
callq 0x94d0
movsd %xmm0, 0x28e9d2(%rip)   # 0x37b6b8
movsd 0x28e99a(%rip), %xmm0   # 0x37b688
movsd 0x3139a(%rip), %xmm1    # 0x11e090
callq 0x94d0
movsd %xmm0, 0x28e985(%rip)   # 0x37b688
movsd (%r14), %xmm1
movsd 0x8(%r14), %xmm2
movsd 0x10(%r14), %xmm0
mulsd %xmm2, %xmm2
mulsd %xmm1, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm0, %xmm0
addsd %xmm1, %xmm0
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jb 0xecd38
sqrtsd %xmm0, %xmm0
jmp 0xecd41
callq 0x9270
xorpd %xmm2, %xmm2
movsd %xmm0, 0x28e8f7(%rip)   # 0x37b640
movsd 0x10(%r14), %xmm1
divsd %xmm0, %xmm1
movsd %xmm1, 0x28e945(%rip)   # 0x37b6a0
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
mulsd %xmm1, %xmm1
mulsd %xmm0, %xmm0
addsd %xmm1, %xmm0
ucomisd %xmm2, %xmm0
jb 0xecd7e
sqrtsd %xmm0, %xmm0
jmp 0xecd83
callq 0x9270
movsd 0x28e8b5(%rip), %xmm3   # 0x37b640
divsd %xmm3, %xmm0
movsd %xmm0, 0x28e901(%rip)   # 0x37b698
movsd (%r14), %xmm1
movapd %xmm1, %xmm2
divsd %xmm0, %xmm2
divsd %xmm3, %xmm2
movsd %xmm2, 0x28e8b8(%rip)   # 0x37b668
movsd 0x8(%r14), %xmm2
movapd %xmm2, %xmm4
divsd %xmm0, %xmm4
divsd %xmm3, %xmm4
movsd %xmm4, 0x28e8a6(%rip)   # 0x37b670
movapd %xmm2, %xmm0
callq 0x9050
movsd %xmm0, 0x28e8cd(%rip)   # 0x37b6a8
xorpd %xmm0, %xmm0
movupd %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movl $0x1, 0x28e85b(%rip)    # 0x37b650
movl $0x1, %eax
leaq 0x82caf(%rip), %r14     # 0x16fab0
leal (%rax,%rax,8), %eax
cltq
movsd -0x48(%r14,%rax,8), %xmm0
movsd -0x40(%r14,%rax,8), %xmm1
mulsd 0x28e844(%rip), %xmm0   # 0x37b660
addsd 0x28e88c(%rip), %xmm0   # 0x37b6b0
mulsd 0x28e81c(%rip), %xmm1   # 0x37b648
movsd -0x38(%r14,%rax,8), %xmm2
mulsd 0x28e81d(%rip), %xmm2   # 0x37b658
addsd %xmm0, %xmm1
movsd -0x30(%r14,%rax,8), %xmm3
mulsd 0x28e86a(%rip), %xmm3   # 0x37b6b8
addsd %xmm1, %xmm2
movsd -0x28(%r14,%rax,8), %xmm0
mulsd 0x28e827(%rip), %xmm0   # 0x37b688
addsd %xmm2, %xmm3
addsd %xmm3, %xmm0
mulsd 0x1ea97(%rip), %xmm0    # 0x10b908
movsd %xmm0, 0x28e817(%rip)   # 0x37b690
movsd -0x20(%r14,%rax,8), %xmm1
addsd %xmm1, %xmm1
mulsd 0x28e814(%rip), %xmm1   # 0x37b6a0
mulsd 0x28e804(%rip), %xmm1   # 0x37b698
movsd %xmm1, -0x18(%rbp)
addsd 0x28e807(%rip), %xmm0   # 0x37b6a8
callq 0x9080
movslq 0x28e7a3(%rip), %rax    # 0x37b650
leaq (%rax,%rax,8), %rax
movsd -0x18(%r14,%rax,8), %xmm1
addsd %xmm1, %xmm1
mulsd 0x28e7dc(%rip), %xmm1   # 0x37b6a0
mulsd 0x28e7cc(%rip), %xmm1   # 0x37b698
movsd %xmm1, -0x20(%rbp)
movsd %xmm0, -0x28(%rbp)
movsd 0x28e7b2(%rip), %xmm0   # 0x37b690
addsd 0x28e7c2(%rip), %xmm0   # 0x37b6a8
callq 0x9710
mulsd -0x20(%rbp), %xmm0
movsd -0x28(%rbp), %xmm1
mulsd -0x18(%rbp), %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, 0x28e77a(%rip)   # 0x37b680
movsd 0x28e78a(%rip), %xmm1   # 0x37b698
movsd 0x28e78a(%rip), %xmm0   # 0x37b6a0
movslq 0x28e733(%rip), %rax    # 0x37b650
leaq (%rax,%rax,8), %rax
mulsd %xmm0, %xmm0
mulsd %xmm1, %xmm1
subsd %xmm0, %xmm1
movsd %xmm1, -0x18(%rbp)
movsd -0x10(%r14,%rax,8), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movsd 0x28e746(%rip), %xmm0   # 0x37b690
addsd 0x28e756(%rip), %xmm0   # 0x37b6a8
callq 0x9080
movslq 0x28e6f2(%rip), %rax    # 0x37b650
leaq (%rax,%rax,8), %rax
movsd -0x18(%rbp), %xmm1
mulsd -0x8(%r14,%rax,8), %xmm1
movsd %xmm1, -0x18(%rbp)
movsd %xmm0, -0x20(%rbp)
movsd 0x28e710(%rip), %xmm0   # 0x37b690
addsd 0x28e720(%rip), %xmm0   # 0x37b6a8
callq 0x9710
mulsd -0x18(%rbp), %xmm0
movsd -0x20(%rbp), %xmm1
mulsd -0x28(%rbp), %xmm1
addsd %xmm0, %xmm1
movslq 0x28e6a9(%rip), %rax    # 0x37b650
leaq (%rax,%rax,8), %rax
movsd -0x10(%r14,%rax,8), %xmm0
mulsd 0x28e6e6(%rip), %xmm0   # 0x37b6a0
movsd %xmm0, -0x18(%rbp)
movsd %xmm1, 0x28e6b1(%rip)   # 0x37b678
movsd 0x28e6c1(%rip), %xmm0   # 0x37b690
addsd 0x28e6d1(%rip), %xmm0   # 0x37b6a8
callq 0x9710
movsd %xmm0, -0x28(%rbp)
movslq 0x28e668(%rip), %rax    # 0x37b650
leaq (%rax,%rax,8), %rax
movsd 0x28e6ac(%rip), %xmm1   # 0x37b6a0
movsd 0x28e694(%rip), %xmm0   # 0x37b690
addsd 0x28e6a4(%rip), %xmm0   # 0x37b6a8
mulsd -0x8(%r14,%rax,8), %xmm1
movsd %xmm1, -0x20(%rbp)
callq 0x9080
mulsd -0x20(%rbp), %xmm0
movsd -0x28(%rbp), %xmm9
mulsd -0x18(%rbp), %xmm9
subsd %xmm0, %xmm9
movsd 0x28e64d(%rip), %xmm0   # 0x37b680
movsd 0x28e62d(%rip), %xmm3   # 0x37b668
movapd %xmm0, %xmm4
mulsd %xmm3, %xmm4
movsd 0x28e64d(%rip), %xmm1   # 0x37b698
mulsd %xmm1, %xmm4
addsd (%rbx), %xmm4
movsd 0x28e615(%rip), %xmm5   # 0x37b670
movapd %xmm9, %xmm2
mulsd %xmm5, %xmm2
subsd %xmm2, %xmm4
movsd 0x28e608(%rip), %xmm2   # 0x37b678
movsd 0x28e628(%rip), %xmm6   # 0x37b6a0
movapd %xmm2, %xmm7
xorpd 0x1c11c(%rip), %xmm7    # 0x1091a0
mulsd %xmm6, %xmm7
movapd %xmm7, %xmm8
mulsd %xmm3, %xmm8
addsd %xmm4, %xmm8
movsd %xmm8, (%rbx)
movapd %xmm0, %xmm4
mulsd %xmm5, %xmm4
mulsd %xmm1, %xmm4
addsd 0x8(%rbx), %xmm4
mulsd %xmm3, %xmm9
addsd %xmm4, %xmm9
mulsd %xmm5, %xmm7
addsd %xmm9, %xmm7
movsd %xmm7, 0x8(%rbx)
mulsd %xmm6, %xmm0
addsd 0x10(%rbx), %xmm0
mulsd %xmm1, %xmm2
addsd %xmm0, %xmm2
movsd %xmm2, 0x10(%rbx)
movl 0x28e56f(%rip), %ecx    # 0x37b650
leal 0x1(%rcx), %eax
movl %eax, 0x28e566(%rip)    # 0x37b650
cmpl $0x1f, %ecx
jl 0xece01
xorl %eax, %eax
movsd 0x1bf3b(%rip), %xmm0    # 0x109038
xorl %ecx, %ecx
movsd (%rbx,%rcx,8), %xmm1
divsd %xmm0, %xmm1
movsd %xmm1, (%rbx,%rcx,8)
incq %rcx
cmpq $0x3, %rcx
jne 0xed0ff
addq $0x20, %rsp
popq %rbx
popq %r14
popq %rbp
retq