// File: 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
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x144f2e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x145c74
cmpq $0x0, -0x18(%rbp)
jne 0x144f41
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x145c74
cmpq $0x0, -0x20(%rbp)
jne 0x144f54
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x145c74
cmpq $0x0, -0x28(%rbp)
jne 0x144f67
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x145c74
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x4a042(%rip), %xmm1    # 0x18efd0
mulsd %xmm1, %xmm0
movsd 0x4a03e(%rip), %xmm1    # 0x18efd8
addsd %xmm1, %xmm0
movq -0x20(%rbp), %rax
movsd 0x4a01e(%rip), %xmm1    # 0x18efc8
mulsd (%rax), %xmm1
movq -0x20(%rbp), %rax
movsd (%rax), %xmm2
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x38(%rbp), %xmm0
movsd -0x30(%rbp), %xmm2
mulsd -0x30(%rbp), %xmm2
mulsd %xmm2, %xmm0
movsd 0x49fd0(%rip), %xmm2    # 0x18efc0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x2959f0(%rip)   # 0x3da9f0
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x18(%rbp), %rax
movsd (%rax), %xmm1
movsd 0x3df21(%rip), %xmm0    # 0x182f48
mulsd %xmm0, %xmm1
movsd 0x49f85(%rip), %xmm0    # 0x18efb8
addsd %xmm0, %xmm1
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x49f69(%rip), %xmm2    # 0x18efb0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x20(%rbp), %rax
movsd 0x49f4d(%rip), %xmm1    # 0x18efa8
mulsd (%rax), %xmm1
movq -0x20(%rbp), %rax
movsd (%rax), %xmm2
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x38(%rbp), %xmm0
movsd -0x30(%rbp), %xmm2
mulsd -0x30(%rbp), %xmm2
mulsd %xmm2, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x49eff(%rip), %xmm2    # 0x18efa0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
subsd 0x29593f(%rip), %xmm0   # 0x3da9f0
movsd %xmm0, 0x295997(%rip)   # 0x3daa50
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movq -0x20(%rbp), %rax
movsd 0x49e98(%rip), %xmm1    # 0x18ef98
mulsd (%rax), %xmm1
movq -0x20(%rbp), %rax
mulsd (%rax), %xmm1
movsd 0x49e7c(%rip), %xmm2    # 0x18ef90
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x38(%rbp), %xmm1
movsd -0x30(%rbp), %xmm2
mulsd -0x30(%rbp), %xmm2
mulsd %xmm2, %xmm1
movsd 0x49e51(%rip), %xmm2    # 0x18ef88
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd 0x49e2f(%rip), %xmm2    # 0x18ef80
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x2958bf(%rip)   # 0x3daa20
movsd 0x2958b7(%rip), %xmm0   # 0x3daa20
addsd 0x29587f(%rip), %xmm0   # 0x3da9f0
movsd %xmm0, 0x295877(%rip)   # 0x3da9f0
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm1
movsd 0x49db4(%rip), %xmm0    # 0x18ef70
mulsd %xmm0, %xmm1
movsd 0x49db0(%rip), %xmm0    # 0x18ef78
addsd %xmm0, %xmm1
movq -0x20(%rbp), %rax
movsd 0x49d90(%rip), %xmm0    # 0x18ef68
mulsd (%rax), %xmm0
movq -0x20(%rbp), %rax
movsd (%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x38(%rbp), %xmm1
movsd -0x30(%rbp), %xmm2
mulsd -0x30(%rbp), %xmm2
mulsd %xmm2, %xmm1
movsd 0x49d59(%rip), %xmm2    # 0x18ef60
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x49d20(%rip), %xmm2    # 0x18ef58
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x295790(%rip)   # 0x3da9d8
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm1
movsd 0x49cbd(%rip), %xmm0    # 0x18ef48
mulsd %xmm0, %xmm1
movsd 0x49cb9(%rip), %xmm0    # 0x18ef50
addsd %xmm0, %xmm1
movq -0x20(%rbp), %rax
movsd 0x49c99(%rip), %xmm0    # 0x18ef40
mulsd (%rax), %xmm0
movq -0x20(%rbp), %rax
movsd (%rax), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x38(%rbp), %xmm1
movsd -0x30(%rbp), %xmm2
mulsd -0x30(%rbp), %xmm2
mulsd %xmm2, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd 0x49c34(%rip), %xmm2    # 0x18ef38
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd 0x49c12(%rip), %xmm2    # 0x18ef30
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x2956ba(%rip)   # 0x3da9e8
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm1
movsd 0x49baf(%rip), %xmm0    # 0x18ef20
mulsd %xmm0, %xmm1
movsd 0x49bab(%rip), %xmm0    # 0x18ef28
addsd %xmm0, %xmm1
movq -0x20(%rbp), %rax
movsd 0x49b8b(%rip), %xmm0    # 0x18ef18
mulsd (%rax), %xmm0
movq -0x20(%rbp), %rax
movsd (%rax), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x38(%rbp), %xmm1
movsd -0x30(%rbp), %xmm2
mulsd -0x30(%rbp), %xmm2
mulsd %xmm2, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd 0x49b26(%rip), %xmm2    # 0x18ef10
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd 0x49b04(%rip), %xmm2    # 0x18ef08
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x295644(%rip)   # 0x3daa58
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm1
movsd 0x49aa1(%rip), %xmm0    # 0x18eef8
mulsd %xmm0, %xmm1
movsd 0x49a9d(%rip), %xmm0    # 0x18ef00
addsd %xmm0, %xmm1
movq -0x20(%rbp), %rax
movsd 0x49a7d(%rip), %xmm0    # 0x18eef0
mulsd (%rax), %xmm0
movq -0x20(%rbp), %rax
movsd (%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x38(%rbp), %xmm1
movsd -0x30(%rbp), %xmm2
mulsd -0x30(%rbp), %xmm2
mulsd %xmm2, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd 0x49a2f(%rip), %xmm2    # 0x18eee8
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x499f6(%rip), %xmm2    # 0x18eee0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x29552e(%rip)   # 0x3daa28
movsd 0x2954ee(%rip), %xmm0   # 0x3da9f0
movsd 0x89ea6(%rip), %xmm1    # 0x1cf3b0
callq 0x94d0
movsd %xmm0, 0x2954d9(%rip)   # 0x3da9f0
movsd 0x295531(%rip), %xmm0   # 0x3daa50
movsd 0x89e89(%rip), %xmm1    # 0x1cf3b0
callq 0x94d0
movsd %xmm0, 0x29551c(%rip)   # 0x3daa50
movsd 0x29549c(%rip), %xmm0   # 0x3da9d8
movsd 0x89e6c(%rip), %xmm1    # 0x1cf3b0
callq 0x94d0
movsd %xmm0, 0x295487(%rip)   # 0x3da9d8
movsd 0x29548f(%rip), %xmm0   # 0x3da9e8
movsd 0x89e4f(%rip), %xmm1    # 0x1cf3b0
callq 0x94d0
movsd %xmm0, 0x29547a(%rip)   # 0x3da9e8
movsd 0x2954e2(%rip), %xmm0   # 0x3daa58
movsd 0x89e32(%rip), %xmm1    # 0x1cf3b0
callq 0x94d0
movsd %xmm0, 0x2954cd(%rip)   # 0x3daa58
movsd 0x295495(%rip), %xmm0   # 0x3daa28
movsd 0x89e15(%rip), %xmm1    # 0x1cf3b0
callq 0x94d0
movsd %xmm0, 0x295480(%rip)   # 0x3daa28
movq -0x10(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq -0x10(%rbp), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x10(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x30(%rbp), %xmm1
movsd -0x30(%rbp), %xmm2
movsd -0x38(%rbp), %xmm0
mulsd -0x38(%rbp), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x40(%rbp), %xmm0
movsd -0x40(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0x9280
movsd %xmm0, 0x2953c4(%rip)   # 0x3da9d0
movq -0x10(%rbp), %rax
movsd 0x10(%rax), %xmm0
divsd 0x2953b3(%rip), %xmm0   # 0x3da9d0
movsd %xmm0, 0x29541b(%rip)   # 0x3daa40
movq -0x10(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq -0x10(%rbp), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x30(%rbp), %xmm0
movsd -0x30(%rbp), %xmm2
movsd -0x38(%rbp), %xmm1
mulsd -0x38(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0x9280
divsd 0x295367(%rip), %xmm0   # 0x3da9d0
movsd %xmm0, 0x2953c7(%rip)   # 0x3daa38
movq -0x10(%rbp), %rax
movsd (%rax), %xmm0
divsd 0x2953b7(%rip), %xmm0   # 0x3daa38
divsd 0x295347(%rip), %xmm0   # 0x3da9d0
movsd %xmm0, 0x295367(%rip)   # 0x3da9f8
movq -0x10(%rbp), %rax
movsd 0x8(%rax), %xmm0
divsd 0x295396(%rip), %xmm0   # 0x3daa38
divsd 0x295326(%rip), %xmm0   # 0x3da9d0
movsd %xmm0, 0x29534e(%rip)   # 0x3daa00
movq -0x10(%rbp), %rax
movsd 0x8(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd (%rax), %xmm1
callq 0x9050
movsd %xmm0, 0x295378(%rip)   # 0x3daa48
movl $0x0, 0x295306(%rip)    # 0x3da9e0
cmpl $0x2, 0x2952ff(%rip)    # 0x3da9e0
jg 0x145707
movq -0x28(%rbp), %rax
movslq 0x2952f2(%rip), %rcx    # 0x3da9e0
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x2952e4(%rip), %eax    # 0x3da9e0
addl $0x1, %eax
movl %eax, 0x2952db(%rip)    # 0x3da9e0
jmp 0x1456da
movl $0x1, 0x2952d3(%rip)    # 0x3da9e4
cmpl $0x1f, 0x2952cc(%rip)   # 0x3da9e4
jg 0x145c28
movsd 0x29532a(%rip), %xmm1   # 0x3daa50
imull $0x9, 0x2952b7(%rip), %eax # 0x3da9e4
subl $0x9, %eax
movslq %eax, %rcx
leaq 0x89386(%rip), %rax     # 0x1ceac0
movsd (%rax,%rcx,8), %xmm0
movsd 0x2952a9(%rip), %xmm2   # 0x3da9f0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
imull $0x9, 0x29528e(%rip), %eax # 0x3da9e4
subl $0x8, %eax
movslq %eax, %rcx
leaq 0x8935d(%rip), %rax     # 0x1ceac0
movsd (%rax,%rcx,8), %xmm1
movsd 0x295268(%rip), %xmm2   # 0x3da9d8
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
imull $0x9, 0x295265(%rip), %eax # 0x3da9e4
subl $0x7, %eax
movslq %eax, %rcx
leaq 0x89334(%rip), %rax     # 0x1ceac0
movsd (%rax,%rcx,8), %xmm0
movsd 0x29524f(%rip), %xmm2   # 0x3da9e8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
imull $0x9, 0x29523c(%rip), %eax # 0x3da9e4
subl $0x6, %eax
movslq %eax, %rcx
leaq 0x8930b(%rip), %rax     # 0x1ceac0
movsd (%rax,%rcx,8), %xmm1
movsd 0x295296(%rip), %xmm2   # 0x3daa58
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
imull $0x9, 0x295213(%rip), %eax # 0x3da9e4
subl $0x5, %eax
movslq %eax, %rcx
leaq 0x892e2(%rip), %rax     # 0x1ceac0
movsd (%rax,%rcx,8), %xmm0
movsd 0x29523d(%rip), %xmm2   # 0x3daa28
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
mulsd 0x89bad(%rip), %xmm0    # 0x1cf3a8
movsd %xmm0, 0x29522d(%rip)   # 0x3daa30
imull $0x9, 0x2951da(%rip), %eax # 0x3da9e4
subl $0x4, %eax
movslq %eax, %rcx
movsd 0x29938(%rip), %xmm0    # 0x16f150
leaq 0x892a1(%rip), %rax     # 0x1ceac0
mulsd (%rax,%rcx,8), %xmm0
mulsd 0x295214(%rip), %xmm0   # 0x3daa40
mulsd 0x295204(%rip), %xmm0   # 0x3daa38
movsd %xmm0, -0x80(%rbp)
movsd 0x2951ef(%rip), %xmm0   # 0x3daa30
addsd 0x2951ff(%rip), %xmm0   # 0x3daa48
callq 0x9080
movsd %xmm0, -0x88(%rbp)
imull $0x9, 0x295187(%rip), %eax # 0x3da9e4
subl $0x3, %eax
movslq %eax, %rcx
movsd 0x298e5(%rip), %xmm0    # 0x16f150
leaq 0x8924e(%rip), %rax     # 0x1ceac0
mulsd (%rax,%rcx,8), %xmm0
mulsd 0x2951c1(%rip), %xmm0   # 0x3daa40
mulsd 0x2951b1(%rip), %xmm0   # 0x3daa38
movsd %xmm0, -0x90(%rbp)
movsd 0x295199(%rip), %xmm0   # 0x3daa30
addsd 0x2951a9(%rip), %xmm0   # 0x3daa48
callq 0x96f0
movsd -0x90(%rbp), %xmm1
movsd -0x88(%rbp), %xmm2
movaps %xmm0, %xmm3
movsd -0x80(%rbp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x295148(%rip)   # 0x3daa18
movsd 0x295160(%rip), %xmm0   # 0x3daa38
movsd %xmm0, -0x30(%rbp)
movsd 0x29515b(%rip), %xmm0   # 0x3daa40
movsd %xmm0, -0x38(%rbp)
movsd 0x295146(%rip), %xmm0   # 0x3daa38
movsd %xmm0, -0x40(%rbp)
movsd 0x295141(%rip), %xmm0   # 0x3daa40
movsd %xmm0, -0x48(%rbp)
imull $0x9, 0x2950d9(%rip), %eax # 0x3da9e4
subl $0x2, %eax
movslq %eax, %rcx
leaq 0x891a8(%rip), %rax     # 0x1ceac0
movsd (%rax,%rcx,8), %xmm0
movsd -0x30(%rbp), %xmm1
movsd -0x30(%rbp), %xmm3
movsd -0x38(%rbp), %xmm2
mulsd -0x38(%rbp), %xmm2
movq %xmm2, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movsd 0x2950cf(%rip), %xmm0   # 0x3daa30
addsd 0x2950df(%rip), %xmm0   # 0x3daa48
callq 0x9080
movsd %xmm0, -0x70(%rbp)
imull $0x9, 0x29506a(%rip), %eax # 0x3da9e4
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x89139(%rip), %rax     # 0x1ceac0
movsd (%rax,%rcx,8), %xmm0
movsd -0x40(%rbp), %xmm1
movsd -0x40(%rbp), %xmm3
movsd -0x48(%rbp), %xmm2
mulsd -0x48(%rbp), %xmm2
movq %xmm2, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd 0x295060(%rip), %xmm0   # 0x3daa30
addsd 0x295070(%rip), %xmm0   # 0x3daa48
callq 0x96f0
movsd -0x78(%rbp), %xmm1
movsd -0x70(%rbp), %xmm2
movaps %xmm0, %xmm3
movsd -0x68(%rbp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x29500d(%rip)   # 0x3daa10
imull $0x9, 0x294fda(%rip), %eax # 0x3da9e4
subl $0x2, %eax
movslq %eax, %rcx
leaq 0x890a9(%rip), %rax     # 0x1ceac0
movsd (%rax,%rcx,8), %xmm0
mulsd 0x29501c(%rip), %xmm0   # 0x3daa40
movsd %xmm0, -0x50(%rbp)
movsd 0x294fff(%rip), %xmm0   # 0x3daa30
addsd 0x29500f(%rip), %xmm0   # 0x3daa48
callq 0x96f0
movsd %xmm0, -0x58(%rbp)
imull $0x9, 0x294f9a(%rip), %eax # 0x3da9e4
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x89069(%rip), %rax     # 0x1ceac0
movsd (%rax,%rcx,8), %xmm0
mulsd 0x294fdc(%rip), %xmm0   # 0x3daa40
movsd %xmm0, -0x60(%rbp)
movsd 0x294fbf(%rip), %xmm0   # 0x3daa30
addsd 0x294fcf(%rip), %xmm0   # 0x3daa48
callq 0x9080
movsd -0x60(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
movaps %xmm0, %xmm3
movsd -0x50(%rbp), %xmm0
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x294f4d(%rip)   # 0x3daa08
movq -0x28(%rbp), %rax
movsd (%rax), %xmm1
movsd 0x294f4d(%rip), %xmm0   # 0x3daa18
mulsd 0x294f25(%rip), %xmm0   # 0x3da9f8
movsd 0x294f5d(%rip), %xmm2   # 0x3daa38
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x294f1d(%rip), %xmm1   # 0x3daa08
movsd 0x294f0d(%rip), %xmm2   # 0x3daa00
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x294ef6(%rip), %xmm0   # 0x3daa10
mulsd 0x294f1e(%rip), %xmm0   # 0x3daa40
movsd 0x294ece(%rip), %xmm2   # 0x3da9f8
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, (%rax)
movq -0x28(%rbp), %rax
movsd 0x8(%rax), %xmm1
movsd 0x294eb6(%rip), %xmm0   # 0x3daa18
mulsd 0x294e96(%rip), %xmm0   # 0x3daa00
movsd 0x294ec6(%rip), %xmm2   # 0x3daa38
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x294e86(%rip), %xmm1   # 0x3daa08
movsd 0x294e6e(%rip), %xmm2   # 0x3da9f8
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x294e76(%rip), %xmm0   # 0x3daa10
mulsd 0x294e9e(%rip), %xmm0   # 0x3daa40
movsd 0x294e56(%rip), %xmm2   # 0x3daa00
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x8(%rax)
movq -0x28(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd 0x294e35(%rip), %xmm1   # 0x3daa18
movsd 0x294e55(%rip), %xmm2   # 0x3daa40
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x294e15(%rip), %xmm0   # 0x3daa10
movsd 0x294e35(%rip), %xmm2   # 0x3daa38
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x10(%rax)
movl 0x294dca(%rip), %eax    # 0x3da9e4
addl $0x1, %eax
movl %eax, 0x294dc1(%rip)    # 0x3da9e4
jmp 0x145711
movl $0x0, 0x294dae(%rip)    # 0x3da9e0
cmpl $0x2, 0x294da7(%rip)    # 0x3da9e0
jg 0x145c6d
movq -0x28(%rbp), %rax
movslq 0x294d9a(%rip), %rcx    # 0x3da9e0
movsd (%rax,%rcx,8), %xmm0
movsd 0x293dd(%rip), %xmm1    # 0x16f030
divsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x294d7e(%rip), %eax    # 0x3da9e0
addl $0x1, %eax
movl %eax, 0x294d75(%rip)    # 0x3da9e0
jmp 0x145c32
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq