// File: mouda[P]LTE_random_access-simulate/specialfunctions.cpp
// Function: alglib_impl::fresnelintegral(double, double*, double*, alglib_impl::ae_state*)
void fresnelintegral(double x, double* c, double* s, ae_state *_state)
{
    double xxa;
    double f;
    double g;
    double cc;
    double ss;
    double t;
    double u;
    double x2;
    double sn;
    double sd;
    double cn;
    double cd;
    double fn;
    double fd;
    double gn;
    double gd;
    double mpi;
    double mpio2;


    mpi = 3.14159265358979323846;
    mpio2 = 1.57079632679489661923;
    xxa = x;
    x = ae_fabs(xxa, _state);
    x2 = x*x;
    if( ae_fp_less(x2,2.5625) )
    {
        t = x2*x2;
        sn = -2.99181919401019853726E3;
        sn = sn*t+7.08840045257738576863E5;
        sn = sn*t-6.29741486205862506537E7;
        sn = sn*t+2.54890880573376359104E9;
        sn = sn*t-4.42979518059697779103E10;
        sn = sn*t+3.18016297876567817986E11;
        sd = 1.00000000000000000000E0;
        sd = sd*t+2.81376268889994315696E2;
        sd = sd*t+4.55847810806532581675E4;
        sd = sd*t+5.17343888770096400730E6;
        sd = sd*t+4.19320245898111231129E8;
        sd = sd*t+2.24411795645340920940E10;
        sd = sd*t+6.07366389490084639049E11;
        cn = -4.98843114573573548651E-8;
        cn = cn*t+9.50428062829859605134E-6;
        cn = cn*t-6.45191435683965050962E-4;
        cn = cn*t+1.88843319396703850064E-2;
        cn = cn*t-2.05525900955013891793E-1;
        cn = cn*t+9.99999999999999998822E-1;
        cd = 3.99982968972495980367E-12;
        cd = cd*t+9.15439215774657478799E-10;
        cd = cd*t+1.25001862479598821474E-7;
        cd = cd*t+1.22262789024179030997E-5;
        cd = cd*t+8.68029542941784300606E-4;
        cd = cd*t+4.12142090722199792936E-2;
        cd = cd*t+1.00000000000000000118E0;
        *s = ae_sign(xxa, _state)*x*x2*sn/sd;
        *c = ae_sign(xxa, _state)*x*cn/cd;
        return;
    }
    if( ae_fp_greater(x,36974.0) )
    {
        *c = ae_sign(xxa, _state)*0.5;
        *s = ae_sign(xxa, _state)*0.5;
        return;
    }
    x2 = x*x;
    t = mpi*x2;
    u = 1/(t*t);
    t = 1/t;
    fn = 4.21543555043677546506E-1;
    fn = fn*u+1.43407919780758885261E-1;
    fn = fn*u+1.15220955073585758835E-2;
    fn = fn*u+3.45017939782574027900E-4;
    fn = fn*u+4.63613749287867322088E-6;
    fn = fn*u+3.05568983790257605827E-8;
    fn = fn*u+1.02304514164907233465E-10;
    fn = fn*u+1.72010743268161828879E-13;
    fn = fn*u+1.34283276233062758925E-16;
    fn = fn*u+3.76329711269987889006E-20;
    fd = 1.00000000000000000000E0;
    fd = fd*u+7.51586398353378947175E-1;
    fd = fd*u+1.16888925859191382142E-1;
    fd = fd*u+6.44051526508858611005E-3;
    fd = fd*u+1.55934409164153020873E-4;
    fd = fd*u+1.84627567348930545870E-6;
    fd = fd*u+1.12699224763999035261E-8;
    fd = fd*u+3.60140029589371370404E-11;
    fd = fd*u+5.88754533621578410010E-14;
    fd = fd*u+4.52001434074129701496E-17;
    fd = fd*u+1.25443237090011264384E-20;
    gn = 5.04442073643383265887E-1;
    gn = gn*u+1.97102833525523411709E-1;
    gn = gn*u+1.87648584092575249293E-2;
    gn = gn*u+6.84079380915393090172E-4;
    gn = gn*u+1.15138826111884280931E-5;
    gn = gn*u+9.82852443688422223854E-8;
    gn = gn*u+4.45344415861750144738E-10;
    gn = gn*u+1.08268041139020870318E-12;
    gn = gn*u+1.37555460633261799868E-15;
    gn = gn*u+8.36354435630677421531E-19;
    gn = gn*u+1.86958710162783235106E-22;
    gd = 1.00000000000000000000E0;
    gd = gd*u+1.47495759925128324529E0;
    gd = gd*u+3.37748989120019970451E-1;
    gd = gd*u+2.53603741420338795122E-2;
    gd = gd*u+8.14679107184306179049E-4;
    gd = gd*u+1.27545075667729118702E-5;
    gd = gd*u+1.04314589657571990585E-7;
    gd = gd*u+4.60680728146520428211E-10;
    gd = gd*u+1.10273215066240270757E-12;
    gd = gd*u+1.38796531259578871258E-15;
    gd = gd*u+8.39158816283118707363E-19;
    gd = gd*u+1.86958710162783236342E-22;
    f = 1-u*fn/fd;
    g = t*gn/gd;
    t = mpio2*x2;
    cc = ae_cos(t, _state);
    ss = ae_sin(t, _state);
    t = mpi*x;
    *c = 0.5+(f*ss-g*cc)/t;
    *s = 0.5-(f*cc+g*ss)/t;
    *c = *c*ae_sign(xxa, _state);
    *s = *s*ae_sign(xxa, _state);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movsd %xmm0, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movsd 0x3f1b4(%rip), %xmm0    # 0x55458
movsd %xmm0, -0xa8(%rbp)
movsd 0x40434(%rip), %xmm0    # 0x566e8
movsd %xmm0, -0xb0(%rbp)
movsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movsd -0x28(%rbp), %xmm0
movq -0x20(%rbp), %rdi
callq 0x3c820
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x60(%rbp), %xmm0
movsd 0x4081b(%rip), %xmm1    # 0x56b10
callq 0x3c440
testb $0x1, %al
jne 0x16303
jmp 0x1664e
movsd -0x60(%rbp), %xmm0
mulsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd 0x409fe(%rip), %xmm0    # 0x56d18
movsd %xmm0, -0x68(%rbp)
movsd -0x68(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x409db(%rip), %xmm1    # 0x56d10
addsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x68(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x409b4(%rip), %xmm1    # 0x56d08
addsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x68(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4098d(%rip), %xmm1    # 0x56d00
addsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x68(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40966(%rip), %xmm1    # 0x56cf8
addsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x68(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4093f(%rip), %xmm1    # 0x56cf0
addsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movsd 0x3ec46(%rip), %xmm0    # 0x55008
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4090b(%rip), %xmm1    # 0x56ce8
addsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x408e4(%rip), %xmm1    # 0x56ce0
addsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x408bd(%rip), %xmm1    # 0x56cd8
addsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40896(%rip), %xmm1    # 0x56cd0
addsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4086f(%rip), %xmm1    # 0x56cc8
addsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40848(%rip), %xmm1    # 0x56cc0
addsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
movsd 0x4082f(%rip), %xmm0    # 0x56cb8
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4080c(%rip), %xmm1    # 0x56cb0
addsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x407e5(%rip), %xmm1    # 0x56ca8
addsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x407be(%rip), %xmm1    # 0x56ca0
addsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40797(%rip), %xmm1    # 0x56c98
addsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3eae8(%rip), %xmm1    # 0x55008
addsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd 0x4075f(%rip), %xmm0    # 0x56c90
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4073c(%rip), %xmm1    # 0x56c88
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40715(%rip), %xmm1    # 0x56c80
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x406ee(%rip), %xmm1    # 0x56c78
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x406c7(%rip), %xmm1    # 0x56c70
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x406a0(%rip), %xmm1    # 0x56c68
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3ea21(%rip), %xmm1    # 0x55008
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x28(%rbp), %xmm0
movq -0x20(%rbp), %rdi
callq 0x3c8c0
cvtsi2sd %rax, %xmm0
mulsd -0x8(%rbp), %xmm0
mulsd -0x60(%rbp), %xmm0
mulsd -0x68(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x28(%rbp), %xmm0
movq -0x20(%rbp), %rdi
callq 0x3c8c0
cvtsi2sd %rax, %xmm0
mulsd -0x8(%rbp), %xmm0
mulsd -0x78(%rbp), %xmm0
divsd -0x80(%rbp), %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
jmp 0x16e88
movsd -0x8(%rbp), %xmm0
movsd 0x404bd(%rip), %xmm1    # 0x56b18
callq 0x3c4c0
testb $0x1, %al
jne 0x16666
jmp 0x166b9
movsd -0x28(%rbp), %xmm0
movq -0x20(%rbp), %rdi
callq 0x3c8c0
cvtsi2sd %rax, %xmm0
movsd 0x3edcf(%rip), %xmm1    # 0x55450
mulsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x28(%rbp), %xmm0
movq -0x20(%rbp), %rdi
callq 0x3c8c0
cvtsi2sd %rax, %xmm0
movsd 0x3eda8(%rip), %xmm1    # 0x55450
mulsd %xmm1, %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
jmp 0x16e88
movsd -0x8(%rbp), %xmm0
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0xa8(%rbp), %xmm0
mulsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm1
mulsd -0x50(%rbp), %xmm1
movsd 0x3e91c(%rip), %xmm0    # 0x55008
divsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd 0x3e90b(%rip), %xmm0    # 0x55008
divsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd 0x40551(%rip), %xmm0    # 0x56c60
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40528(%rip), %xmm1    # 0x56c58
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x404fb(%rip), %xmm1    # 0x56c50
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x404ce(%rip), %xmm1    # 0x56c48
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x404a1(%rip), %xmm1    # 0x56c40
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40474(%rip), %xmm1    # 0x56c38
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40447(%rip), %xmm1    # 0x56c30
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4041a(%rip), %xmm1    # 0x56c28
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x403ed(%rip), %xmm1    # 0x56c20
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x403c0(%rip), %xmm1    # 0x56c18
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd 0x3e79c(%rip), %xmm0    # 0x55008
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40383(%rip), %xmm1    # 0x56c10
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40356(%rip), %xmm1    # 0x56c08
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40329(%rip), %xmm1    # 0x56c00
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x402fc(%rip), %xmm1    # 0x56bf8
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x402cf(%rip), %xmm1    # 0x56bf0
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x402a2(%rip), %xmm1    # 0x56be8
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40275(%rip), %xmm1    # 0x56be0
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40248(%rip), %xmm1    # 0x56bd8
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4021b(%rip), %xmm1    # 0x56bd0
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x401ee(%rip), %xmm1    # 0x56bc8
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd 0x401d2(%rip), %xmm0    # 0x56bc0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x401a9(%rip), %xmm1    # 0x56bb8
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4017c(%rip), %xmm1    # 0x56bb0
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4014f(%rip), %xmm1    # 0x56ba8
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40122(%rip), %xmm1    # 0x56ba0
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x400f5(%rip), %xmm1    # 0x56b98
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x400c8(%rip), %xmm1    # 0x56b90
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4009b(%rip), %xmm1    # 0x56b88
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4006e(%rip), %xmm1    # 0x56b80
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x40041(%rip), %xmm1    # 0x56b78
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3ffc4(%rip), %xmm1    # 0x56b20
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd 0x3e498(%rip), %xmm0    # 0x55008
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3ffdf(%rip), %xmm1    # 0x56b70
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3ffb2(%rip), %xmm1    # 0x56b68
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3ff85(%rip), %xmm1    # 0x56b60
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3ff58(%rip), %xmm1    # 0x56b58
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3ff2b(%rip), %xmm1    # 0x56b50
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3fefe(%rip), %xmm1    # 0x56b48
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3fed1(%rip), %xmm1    # 0x56b40
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3fea4(%rip), %xmm1    # 0x56b38
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3fe77(%rip), %xmm1    # 0x56b30
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3fe4a(%rip), %xmm1    # 0x56b28
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x3fe1d(%rip), %xmm1    # 0x56b20
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0x58(%rbp), %xmm1
mulsd -0x88(%rbp), %xmm1
divsd -0x90(%rbp), %xmm1
movsd 0x3e2dc(%rip), %xmm0    # 0x55008
subsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x50(%rbp), %xmm0
mulsd -0x98(%rbp), %xmm0
divsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0xb0(%rbp), %xmm0
mulsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
movq -0x20(%rbp), %rdi
callq 0x3cbc0
movsd %xmm0, -0x40(%rbp)
movsd -0x50(%rbp), %xmm0
movq -0x20(%rbp), %rdi
callq 0x3cb90
movsd %xmm0, -0x48(%rbp)
movsd -0xa8(%rbp), %xmm0
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x30(%rbp), %xmm1
movsd -0x48(%rbp), %xmm2
movsd -0x38(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
divsd -0x50(%rbp), %xmm1
movsd 0x3e677(%rip), %xmm0    # 0x55450
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x30(%rbp), %xmm1
movsd -0x40(%rbp), %xmm2
movsd -0x38(%rbp), %xmm0
mulsd -0x48(%rbp), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
divsd -0x50(%rbp), %xmm1
movsd 0x3e642(%rip), %xmm0    # 0x55450
subsd %xmm1, %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movq -0x10(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0x28(%rbp), %xmm0
movq -0x20(%rbp), %rdi
callq 0x3c8c0
movsd -0xc0(%rbp), %xmm0
cvtsi2sd %rax, %xmm1
mulsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
movq -0x18(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0x28(%rbp), %xmm0
movq -0x20(%rbp), %rdi
callq 0x3c8c0
movsd -0xb8(%rbp), %xmm0
cvtsi2sd %rax, %xmm1
mulsd %xmm1, %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
addq $0xc0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)