// File: mouda[P]LTE_random_access-simulate/specialfunctions.cpp
// Function: alglib_impl::airy(double, double*, double*, double*, double*, alglib_impl::ae_state*)
void airy(double x,
     double* ai,
     double* aip,
     double* bi,
     double* bip,
     ae_state *_state)
{
    double z;
    double zz;
    double t;
    double f;
    double g;
    double uf;
    double ug;
    double k;
    double zeta;
    double theta;
    ae_int_t domflg;
    double c1;
    double c2;
    double sqrt3;
    double sqpii;
    double afn;
    double afd;
    double agn;
    double agd;
    double apfn;
    double apfd;
    double apgn;
    double apgd;
    double an;
    double ad;
    double apn;
    double apd;
    double bn16;
    double bd16;
    double bppn;
    double bppd;

    *ai = 0;
    *aip = 0;
    *bi = 0;
    *bip = 0;

    sqpii = 5.64189583547756286948E-1;
    c1 = 0.35502805388781723926;
    c2 = 0.258819403792806798405;
    sqrt3 = 1.732050807568877293527;
    domflg = 0;
    if( ae_fp_greater(x,25.77) )
    {
        *ai = 0;
        *aip = 0;
        *bi = ae_maxrealnumber;
        *bip = ae_maxrealnumber;
        return;
    }
    if( ae_fp_less(x,-2.09) )
    {
        domflg = 15;
        t = ae_sqrt(-x, _state);
        zeta = -2.0*x*t/3.0;
        t = ae_sqrt(t, _state);
        k = sqpii/t;
        z = 1.0/zeta;
        zz = z*z;
        afn = -1.31696323418331795333E-1;
        afn = afn*zz-6.26456544431912369773E-1;
        afn = afn*zz-6.93158036036933542233E-1;
        afn = afn*zz-2.79779981545119124951E-1;
        afn = afn*zz-4.91900132609500318020E-2;
        afn = afn*zz-4.06265923594885404393E-3;
        afn = afn*zz-1.59276496239262096340E-4;
        afn = afn*zz-2.77649108155232920844E-6;
        afn = afn*zz-1.67787698489114633780E-8;
        afd = 1.00000000000000000000E0;
        afd = afd*zz+1.33560420706553243746E1;
        afd = afd*zz+3.26825032795224613948E1;
        afd = afd*zz+2.67367040941499554804E1;
        afd = afd*zz+9.18707402907259625840E0;
        afd = afd*zz+1.47529146771666414581E0;
        afd = afd*zz+1.15687173795188044134E-1;
        afd = afd*zz+4.40291641615211203805E-3;
        afd = afd*zz+7.54720348287414296618E-5;
        afd = afd*zz+4.51850092970580378464E-7;
        uf = 1.0+zz*afn/afd;
        agn = 1.97339932091685679179E-2;
        agn = agn*zz+3.91103029615688277255E-1;
        agn = agn*zz+1.06579897599595591108E0;
        agn = agn*zz+9.39169229816650230044E-1;
        agn = agn*zz+3.51465656105547619242E-1;
        agn = agn*zz+6.33888919628925490927E-2;
        agn = agn*zz+5.85804113048388458567E-3;
        agn = agn*zz+2.82851600836737019778E-4;
        agn = agn*zz+6.98793669997260967291E-6;
        agn = agn*zz+8.11789239554389293311E-8;
        agn = agn*zz+3.41551784765923618484E-10;
        agd = 1.00000000000000000000E0;
        agd = agd*zz+9.30892908077441974853E0;
        agd = agd*zz+1.98352928718312140417E1;
        agd = agd*zz+1.55646628932864612953E1;
        agd = agd*zz+5.47686069422975497931E0;
        agd = agd*zz+9.54293611618961883998E-1;
        agd = agd*zz+8.64580826352392193095E-2;
        agd = agd*zz+4.12656523824222607191E-3;
        agd = agd*zz+1.01259085116509135510E-4;
        agd = agd*zz+1.17166733214413521882E-6;
        agd = agd*zz+4.91834570062930015649E-9;
        ug = z*agn/agd;
        theta = zeta+0.25*ae_pi;
        f = ae_sin(theta, _state);
        g = ae_cos(theta, _state);
        *ai = k*(f*uf-g*ug);
        *bi = k*(g*uf+f*ug);
        apfn = 1.85365624022535566142E-1;
        apfn = apfn*zz+8.86712188052584095637E-1;
        apfn = apfn*zz+9.87391981747398547272E-1;
        apfn = apfn*zz+4.01241082318003734092E-1;
        apfn = apfn*zz+7.10304926289631174579E-2;
        apfn = apfn*zz+5.90618657995661810071E-3;
        apfn = apfn*zz+2.33051409401776799569E-4;
        apfn = apfn*zz+4.08718778289035454598E-6;
        apfn = apfn*zz+2.48379932900442457853E-8;
        apfd = 1.00000000000000000000E0;
        apfd = apfd*zz+1.47345854687502542552E1;
        apfd = apfd*zz+3.75423933435489594466E1;
        apfd = apfd*zz+3.14657751203046424330E1;
        apfd = apfd*zz+1.09969125207298778536E1;
        apfd = apfd*zz+1.78885054766999417817E0;
        apfd = apfd*zz+1.41733275753662636873E-1;
        apfd = apfd*zz+5.44066067017226003627E-3;
        apfd = apfd*zz+9.39421290654511171663E-5;
        apfd = apfd*zz+5.65978713036027009243E-7;
        uf = 1.0+zz*apfn/apfd;
        apgn = -3.55615429033082288335E-2;
        apgn = apgn*zz-6.37311518129435504426E-1;
        apgn = apgn*zz-1.70856738884312371053E0;
        apgn = apgn*zz-1.50221872117316635393E0;
        apgn = apgn*zz-5.63606665822102676611E-1;
        apgn = apgn*zz-1.02101031120216891789E-1;
        apgn = apgn*zz-9.48396695961445269093E-3;
        apgn = apgn*zz-4.60325307486780994357E-4;
        apgn = apgn*zz-1.14300836484517375919E-5;
        apgn = apgn*zz-1.33415518685547420648E-7;
        apgn = apgn*zz-5.63803833958893494476E-10;
        apgd = 1.00000000000000000000E0;
        apgd = apgd*zz+9.85865801696130355144E0;
        apgd = apgd*zz+2.16401867356585941885E1;
        apgd = apgd*zz+1.73130776389749389525E1;
        apgd = apgd*zz+6.17872175280828766327E0;
        apgd = apgd*zz+1.08848694396321495475E0;
        apgd = apgd*zz+9.95005543440888479402E-2;
        apgd = apgd*zz+4.78468199683886610842E-3;
        apgd = apgd*zz+1.18159633322838625562E-4;
        apgd = apgd*zz+1.37480673554219441465E-6;
        apgd = apgd*zz+5.79912514929147598821E-9;
        ug = z*apgn/apgd;
        k = sqpii*t;
        *aip = -k*(g*uf+f*ug);
        *bip = k*(f*uf-g*ug);
        return;
    }
    if( ae_fp_greater_eq(x,2.09) )
    {
        domflg = 5;
        t = ae_sqrt(x, _state);
        zeta = 2.0*x*t/3.0;
        g = ae_exp(zeta, _state);
        t = ae_sqrt(t, _state);
        k = 2.0*t*g;
        z = 1.0/zeta;
        an = 3.46538101525629032477E-1;
        an = an*z+1.20075952739645805542E1;
        an = an*z+7.62796053615234516538E1;
        an = an*z+1.68089224934630576269E2;
        an = an*z+1.59756391350164413639E2;
        an = an*z+7.05360906840444183113E1;
        an = an*z+1.40264691163389668864E1;
        an = an*z+9.99999999999999995305E-1;
        ad = 5.67594532638770212846E-1;
        ad = ad*z+1.47562562584847203173E1;
        ad = ad*z+8.45138970141474626562E1;
        ad = ad*z+1.77318088145400459522E2;
        ad = ad*z+1.64234692871529701831E2;
        ad = ad*z+7.14778400825575695274E1;
        ad = ad*z+1.40959135607834029598E1;
        ad = ad*z+1.00000000000000000470E0;
        f = an/ad;
        *ai = sqpii*f/k;
        k = -0.5*sqpii*t/g;
        apn = 6.13759184814035759225E-1;
        apn = apn*z+1.47454670787755323881E1;
        apn = apn*z+8.20584123476060982430E1;
        apn = apn*z+1.71184781360976385540E2;
        apn = apn*z+1.59317847137141783523E2;
        apn = apn*z+6.99778599330103016170E1;
        apn = apn*z+1.39470856980481566958E1;
        apn = apn*z+1.00000000000000000550E0;
        apd = 3.34203677749736953049E-1;
        apd = apd*z+1.11810297306158156705E1;
        apd = apd*z+7.11727352147859965283E1;
        apd = apd*z+1.58778084372838313640E2;
        apd = apd*z+1.53206427475809220834E2;
        apd = apd*z+6.86752304592780337944E1;
        apd = apd*z+1.38498634758259442477E1;
        apd = apd*z+9.99999999999999994502E-1;
        f = apn/apd;
        *aip = f*k;
        if( ae_fp_greater(x,8.3203353) )
        {
            bn16 = -2.53240795869364152689E-1;
            bn16 = bn16*z+5.75285167332467384228E-1;
            bn16 = bn16*z-3.29907036873225371650E-1;
            bn16 = bn16*z+6.44404068948199951727E-2;
            bn16 = bn16*z-3.82519546641336734394E-3;
            bd16 = 1.00000000000000000000E0;
            bd16 = bd16*z-7.15685095054035237902E0;
            bd16 = bd16*z+1.06039580715664694291E1;
            bd16 = bd16*z-5.23246636471251500874E0;
            bd16 = bd16*z+9.57395864378383833152E-1;
            bd16 = bd16*z-5.50828147163549611107E-2;
            f = z*bn16/bd16;
            k = sqpii*g;
            *bi = k*(1.0+f)/t;
            bppn = 4.65461162774651610328E-1;
            bppn = bppn*z-1.08992173800493920734E0;
            bppn = bppn*z+6.38800117371827987759E-1;
            bppn = bppn*z-1.26844349553102907034E-1;
            bppn = bppn*z+7.62487844342109852105E-3;
            bppd = 1.00000000000000000000E0;
            bppd = bppd*z-8.70622787633159124240E0;
            bppd = bppd*z+1.38993162704553213172E1;
            bppd = bppd*z-7.14116144616431159572E0;
            bppd = bppd*z+1.34008595960680518666E0;
            bppd = bppd*z-7.84273211323341930448E-2;
            f = z*bppn/bppd;
            *bip = k*t*(1.0+f);
            return;
        }
    }
    f = 1.0;
    g = x;
    t = 1.0;
    uf = 1.0;
    ug = x;
    k = 1.0;
    z = x*x*x;
    while(ae_fp_greater(t,ae_machineepsilon))
    {
        uf = uf*z;
        k = k+1.0;
        uf = uf/k;
        ug = ug*z;
        k = k+1.0;
        ug = ug/k;
        uf = uf/k;
        f = f+uf;
        k = k+1.0;
        ug = ug/k;
        g = g+ug;
        t = ae_fabs(uf/f, _state);
    }
    uf = c1*f;
    ug = c2*g;
    if( domflg%2==0 )
    {
        *ai = uf-ug;
    }
    if( domflg/2%2==0 )
    {
        *bi = sqrt3*(uf+ug);
    }
    k = 4.0;
    uf = x*x/2.0;
    ug = z/3.0;
    f = uf;
    g = 1.0+ug;
    uf = uf/3.0;
    t = 1.0;
    while(ae_fp_greater(t,ae_machineepsilon))
    {
        uf = uf*z;
        ug = ug/k;
        k = k+1.0;
        ug = ug*z;
        uf = uf/k;
        f = f+uf;
        k = k+1.0;
        ug = ug/k;
        uf = uf/k;
        g = g+ug;
        k = k+1.0;
        t = ae_fabs(ug/g, _state);
    }
    uf = c1*f;
    ug = c2*g;
    if( domflg/4%2==0 )
    {
        *aip = uf-ug;
    }
    if( domflg/8%2==0 )
    {
        *bip = sqrt3*(uf+ug);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movsd %xmm0, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq -0x10(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movq -0x18(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movq -0x20(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movsd 0x4d4f8(%rip), %xmm0    # 0x55810
movsd %xmm0, -0xa8(%rbp)
movsd 0x4d4e0(%rip), %xmm0    # 0x55808
movsd %xmm0, -0x90(%rbp)
movsd 0x4d4c8(%rip), %xmm0    # 0x55800
movsd %xmm0, -0x98(%rbp)
movsd 0x4d4b0(%rip), %xmm0    # 0x557f8
movsd %xmm0, -0xa0(%rbp)
movq $0x0, -0x88(%rbp)
movsd -0x8(%rbp), %xmm0
movsd 0x4d488(%rip), %xmm1    # 0x557f0
callq 0x3c4c0
testb $0x1, %al
jne 0x8373
jmp 0x83ae
movq -0x10(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movq -0x18(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movq -0x20(%rbp), %rax
movsd 0x4d413(%rip), %xmm0    # 0x557a8
movsd %xmm0, (%rax)
movq -0x28(%rbp), %rax
movsd 0x4d403(%rip), %xmm0    # 0x557a8
movsd %xmm0, (%rax)
jmp 0x9e1c
movsd -0x8(%rbp), %xmm0
movsd 0x4d45d(%rip), %xmm1    # 0x55818
callq 0x3c440
testb $0x1, %al
jne 0x83c9
jmp 0x9161
movq $0xf, -0x88(%rbp)
movsd -0x8(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x30(%rbp), %rdi
callq 0x3c890
movsd %xmm0, -0x48(%rbp)
movsd 0x4d222(%rip), %xmm0    # 0x55628
mulsd -0x8(%rbp), %xmm0
mulsd -0x48(%rbp), %xmm0
movsd 0x4cd98(%rip), %xmm1    # 0x551b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x48(%rbp), %xmm0
movq -0x30(%rbp), %rdi
callq 0x3c890
movsd %xmm0, -0x48(%rbp)
movsd -0xa8(%rbp), %xmm0
divsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd 0x4cbba(%rip), %xmm0    # 0x55008
divsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x38(%rbp), %xmm0
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd 0x4d7c1(%rip), %xmm0    # 0x55c30
movsd %xmm0, -0xb0(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d798(%rip), %xmm1    # 0x55c28
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d76b(%rip), %xmm1    # 0x55c20
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d73e(%rip), %xmm1    # 0x55c18
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d711(%rip), %xmm1    # 0x55c10
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d6e4(%rip), %xmm1    # 0x55c08
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d6b7(%rip), %xmm1    # 0x55c00
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d68a(%rip), %xmm1    # 0x55bf8
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d65d(%rip), %xmm1    # 0x55bf0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd 0x4ca61(%rip), %xmm0    # 0x55008
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d620(%rip), %xmm1    # 0x55be8
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d5f3(%rip), %xmm1    # 0x55be0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d5c6(%rip), %xmm1    # 0x55bd8
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d599(%rip), %xmm1    # 0x55bd0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d56c(%rip), %xmm1    # 0x55bc8
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d53f(%rip), %xmm1    # 0x55bc0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d512(%rip), %xmm1    # 0x55bb8
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d4e5(%rip), %xmm1    # 0x55bb0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d4b8(%rip), %xmm1    # 0x55ba8
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0x40(%rbp), %xmm1
mulsd -0xb0(%rbp), %xmm1
divsd -0xb8(%rbp), %xmm1
movsd 0x4c8ef(%rip), %xmm0    # 0x55008
addsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movsd 0x4d476(%rip), %xmm0    # 0x55ba0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d44d(%rip), %xmm1    # 0x55b98
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d420(%rip), %xmm1    # 0x55b90
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d3f3(%rip), %xmm1    # 0x55b88
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d3c6(%rip), %xmm1    # 0x55b80
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d399(%rip), %xmm1    # 0x55b78
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d36c(%rip), %xmm1    # 0x55b70
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d33f(%rip), %xmm1    # 0x55b68
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d312(%rip), %xmm1    # 0x55b60
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d2e5(%rip), %xmm1    # 0x55b58
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d2b8(%rip), %xmm1    # 0x55b50
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd 0x4c75c(%rip), %xmm0    # 0x55008
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d27b(%rip), %xmm1    # 0x55b48
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d24e(%rip), %xmm1    # 0x55b40
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d221(%rip), %xmm1    # 0x55b38
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d1f4(%rip), %xmm1    # 0x55b30
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d1c7(%rip), %xmm1    # 0x55b28
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d19a(%rip), %xmm1    # 0x55b20
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d16d(%rip), %xmm1    # 0x55b18
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d140(%rip), %xmm1    # 0x55b10
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d113(%rip), %xmm1    # 0x55b08
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4d0e6(%rip), %xmm1    # 0x55b00
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0x38(%rbp), %xmm0
mulsd -0xc0(%rbp), %xmm0
divsd -0xc8(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd 0x4d0b0(%rip), %xmm0    # 0x55af8
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movq -0x30(%rbp), %rdi
callq 0x3cb90
movsd %xmm0, -0x50(%rbp)
movsd -0x80(%rbp), %xmm0
movq -0x30(%rbp), %rdi
callq 0x3cbc0
movsd %xmm0, -0x58(%rbp)
movsd -0x70(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x60(%rbp), %xmm3
movsd -0x58(%rbp), %xmm2
mulsd -0x68(%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
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x70(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
movsd -0x60(%rbp), %xmm3
movsd -0x50(%rbp), %xmm2
mulsd -0x68(%rbp), %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movq -0x20(%rbp), %rax
movsd %xmm0, (%rax)
movsd 0x4cfff(%rip), %xmm0    # 0x55af0
movsd %xmm0, -0xd0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cfd6(%rip), %xmm1    # 0x55ae8
addsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cfa9(%rip), %xmm1    # 0x55ae0
addsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cf7c(%rip), %xmm1    # 0x55ad8
addsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cf4f(%rip), %xmm1    # 0x55ad0
addsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cf22(%rip), %xmm1    # 0x55ac8
addsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cef5(%rip), %xmm1    # 0x55ac0
addsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cec8(%rip), %xmm1    # 0x55ab8
addsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ce9b(%rip), %xmm1    # 0x55ab0
addsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd 0x4c3df(%rip), %xmm0    # 0x55008
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ce5e(%rip), %xmm1    # 0x55aa8
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ce31(%rip), %xmm1    # 0x55aa0
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ce04(%rip), %xmm1    # 0x55a98
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cdd7(%rip), %xmm1    # 0x55a90
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cdaa(%rip), %xmm1    # 0x55a88
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cd7d(%rip), %xmm1    # 0x55a80
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cd50(%rip), %xmm1    # 0x55a78
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cd23(%rip), %xmm1    # 0x55a70
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ccf6(%rip), %xmm1    # 0x55a68
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0x40(%rbp), %xmm1
mulsd -0xd0(%rbp), %xmm1
divsd -0xd8(%rbp), %xmm1
movsd 0x4c26d(%rip), %xmm0    # 0x55008
addsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movsd 0x4ccb4(%rip), %xmm0    # 0x55a60
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cc8b(%rip), %xmm1    # 0x55a58
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cc5e(%rip), %xmm1    # 0x55a50
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cc31(%rip), %xmm1    # 0x55a48
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cc04(%rip), %xmm1    # 0x55a40
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cbd7(%rip), %xmm1    # 0x55a38
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cbaa(%rip), %xmm1    # 0x55a30
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cb7d(%rip), %xmm1    # 0x55a28
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cb50(%rip), %xmm1    # 0x55a20
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cb23(%rip), %xmm1    # 0x55a18
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4caf6(%rip), %xmm1    # 0x55a10
addsd %xmm1, %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd 0x4c0da(%rip), %xmm0    # 0x55008
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4cab9(%rip), %xmm1    # 0x55a08
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ca8c(%rip), %xmm1    # 0x55a00
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ca5f(%rip), %xmm1    # 0x559f8
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ca32(%rip), %xmm1    # 0x559f0
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ca05(%rip), %xmm1    # 0x559e8
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c9d8(%rip), %xmm1    # 0x559e0
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c9ab(%rip), %xmm1    # 0x559d8
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c97e(%rip), %xmm1    # 0x559d0
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c951(%rip), %xmm1    # 0x559c8
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0x40(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c924(%rip), %xmm1    # 0x559c0
addsd %xmm1, %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0x38(%rbp), %xmm0
mulsd -0xe0(%rbp), %xmm0
divsd -0xe8(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0xa8(%rbp), %xmm0
mulsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd -0x58(%rbp), %xmm1
movsd -0x60(%rbp), %xmm3
movsd -0x50(%rbp), %xmm2
mulsd -0x68(%rbp), %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x70(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x60(%rbp), %xmm3
movsd -0x58(%rbp), %xmm2
mulsd -0x68(%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
movq -0x28(%rbp), %rax
movsd %xmm0, (%rax)
jmp 0x9e1c
movsd -0x8(%rbp), %xmm0
movsd 0x4c6b2(%rip), %xmm1    # 0x55820
callq 0x3c500
testb $0x1, %al
jne 0x917c
jmp 0x9a55
movq $0x5, -0x88(%rbp)
movsd -0x8(%rbp), %xmm0
movq -0x30(%rbp), %rdi
callq 0x3c890
movsd %xmm0, -0x48(%rbp)
movsd 0x4c226(%rip), %xmm0    # 0x553c8
mulsd -0x8(%rbp), %xmm0
mulsd -0x48(%rbp), %xmm0
movsd 0x4bffc(%rip), %xmm1    # 0x551b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movq -0x30(%rbp), %rdi
callq 0x3cdd0
movsd %xmm0, -0x58(%rbp)
movsd -0x48(%rbp), %xmm0
movq -0x30(%rbp), %rdi
callq 0x3c890
movsd %xmm0, -0x48(%rbp)
movsd 0x4c1dd(%rip), %xmm0    # 0x553c8
mulsd -0x48(%rbp), %xmm0
mulsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd 0x4be06(%rip), %xmm0    # 0x55008
divsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movsd 0x4c6fc(%rip), %xmm0    # 0x55910
movsd %xmm0, -0xf0(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c6d3(%rip), %xmm1    # 0x55908
addsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c6a6(%rip), %xmm1    # 0x55900
addsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c679(%rip), %xmm1    # 0x558f8
addsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c64c(%rip), %xmm1    # 0x558f0
addsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c61f(%rip), %xmm1    # 0x558e8
addsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c5f2(%rip), %xmm1    # 0x558e0
addsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4bcf5(%rip), %xmm1    # 0x55008
addsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd 0x4c5b1(%rip), %xmm0    # 0x558d8
movsd %xmm0, -0xf8(%rbp)
movsd -0xf8(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c588(%rip), %xmm1    # 0x558d0
addsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
movsd -0xf8(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c55b(%rip), %xmm1    # 0x558c8
addsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
movsd -0xf8(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c52e(%rip), %xmm1    # 0x558c0
addsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
movsd -0xf8(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c501(%rip), %xmm1    # 0x558b8
addsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
movsd -0xf8(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c4d4(%rip), %xmm1    # 0x558b0
addsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
movsd -0xf8(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c4a7(%rip), %xmm1    # 0x558a8
addsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
movsd -0xf8(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4bbe2(%rip), %xmm1    # 0x55008
addsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
movsd -0xf0(%rbp), %xmm0
divsd -0xf8(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0xa8(%rbp), %xmm0
mulsd -0x50(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
movsd 0x4c437(%rip), %xmm0    # 0x558a0
mulsd -0xa8(%rbp), %xmm0
mulsd -0x48(%rbp), %xmm0
divsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd 0x4c410(%rip), %xmm0    # 0x55898
movsd %xmm0, -0x100(%rbp)
movsd -0x100(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c3e7(%rip), %xmm1    # 0x55890
addsd %xmm1, %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0x100(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c3ba(%rip), %xmm1    # 0x55888
addsd %xmm1, %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0x100(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c38d(%rip), %xmm1    # 0x55880
addsd %xmm1, %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0x100(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c360(%rip), %xmm1    # 0x55878
addsd %xmm1, %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0x100(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c333(%rip), %xmm1    # 0x55870
addsd %xmm1, %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0x100(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c306(%rip), %xmm1    # 0x55868
addsd %xmm1, %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0x100(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4ba81(%rip), %xmm1    # 0x55008
addsd %xmm1, %xmm0
movsd %xmm0, -0x100(%rbp)
movsd 0x4c2c5(%rip), %xmm0    # 0x55860
movsd %xmm0, -0x108(%rbp)
movsd -0x108(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c29c(%rip), %xmm1    # 0x55858
addsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0x108(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c26f(%rip), %xmm1    # 0x55850
addsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0x108(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c242(%rip), %xmm1    # 0x55848
addsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0x108(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c215(%rip), %xmm1    # 0x55840
addsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0x108(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c1e8(%rip), %xmm1    # 0x55838
addsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0x108(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c1bb(%rip), %xmm1    # 0x55830
addsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0x108(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4b96e(%rip), %xmm1    # 0x55008
addsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0x100(%rbp), %xmm0
divsd -0x108(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
mulsd -0x70(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x8(%rbp), %xmm0
movsd 0x4c14e(%rip), %xmm1    # 0x55828
callq 0x3c4c0
testb $0x1, %al
jne 0x96e8
jmp 0x9a53
movsd 0x4c2c8(%rip), %xmm0    # 0x559b8
movsd %xmm0, -0x110(%rbp)
movsd -0x110(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c29f(%rip), %xmm1    # 0x559b0
addsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
movsd -0x110(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c272(%rip), %xmm1    # 0x559a8
addsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
movsd -0x110(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c245(%rip), %xmm1    # 0x559a0
addsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
movsd -0x110(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c218(%rip), %xmm1    # 0x55998
addsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
movsd 0x4b874(%rip), %xmm0    # 0x55008
movsd %xmm0, -0x118(%rbp)
movsd -0x118(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c1db(%rip), %xmm1    # 0x55990
addsd %xmm1, %xmm0
movsd %xmm0, -0x118(%rbp)
movsd -0x118(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c1ae(%rip), %xmm1    # 0x55988
addsd %xmm1, %xmm0
movsd %xmm0, -0x118(%rbp)
movsd -0x118(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c181(%rip), %xmm1    # 0x55980
addsd %xmm1, %xmm0
movsd %xmm0, -0x118(%rbp)
movsd -0x118(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c154(%rip), %xmm1    # 0x55978
addsd %xmm1, %xmm0
movsd %xmm0, -0x118(%rbp)
movsd -0x118(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c127(%rip), %xmm1    # 0x55970
addsd %xmm1, %xmm0
movsd %xmm0, -0x118(%rbp)
movsd -0x38(%rbp), %xmm0
mulsd -0x110(%rbp), %xmm0
divsd -0x118(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0xa8(%rbp), %xmm0
mulsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd 0x4b77a(%rip), %xmm1    # 0x55008
addsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
divsd -0x48(%rbp), %xmm0
movq -0x20(%rbp), %rax
movsd %xmm0, (%rax)
movsd 0x4c0bc(%rip), %xmm0    # 0x55968
movsd %xmm0, -0x120(%rbp)
movsd -0x120(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c093(%rip), %xmm1    # 0x55960
addsd %xmm1, %xmm0
movsd %xmm0, -0x120(%rbp)
movsd -0x120(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c066(%rip), %xmm1    # 0x55958
addsd %xmm1, %xmm0
movsd %xmm0, -0x120(%rbp)
movsd -0x120(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c039(%rip), %xmm1    # 0x55950
addsd %xmm1, %xmm0
movsd %xmm0, -0x120(%rbp)
movsd -0x120(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4c00c(%rip), %xmm1    # 0x55948
addsd %xmm1, %xmm0
movsd %xmm0, -0x120(%rbp)
movsd 0x4b6b8(%rip), %xmm0    # 0x55008
movsd %xmm0, -0x128(%rbp)
movsd -0x128(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4bfcf(%rip), %xmm1    # 0x55940
addsd %xmm1, %xmm0
movsd %xmm0, -0x128(%rbp)
movsd -0x128(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4bfa2(%rip), %xmm1    # 0x55938
addsd %xmm1, %xmm0
movsd %xmm0, -0x128(%rbp)
movsd -0x128(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4bf75(%rip), %xmm1    # 0x55930
addsd %xmm1, %xmm0
movsd %xmm0, -0x128(%rbp)
movsd -0x128(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4bf48(%rip), %xmm1    # 0x55928
addsd %xmm1, %xmm0
movsd %xmm0, -0x128(%rbp)
movsd -0x128(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x4bf1b(%rip), %xmm1    # 0x55920
addsd %xmm1, %xmm0
movsd %xmm0, -0x128(%rbp)
movsd -0x38(%rbp), %xmm0
mulsd -0x120(%rbp), %xmm0
divsd -0x128(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x70(%rbp), %xmm0
mulsd -0x48(%rbp), %xmm0
movsd 0x4b5cb(%rip), %xmm1    # 0x55008
addsd -0x50(%rbp), %xmm1
mulsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, (%rax)
jmp 0x9e1c
jmp 0x9a55
movsd 0x4b5ab(%rip), %xmm0    # 0x55008
movsd %xmm0, -0x50(%rbp)
movsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd 0x4b594(%rip), %xmm0    # 0x55008
movsd %xmm0, -0x48(%rbp)
movsd 0x4b587(%rip), %xmm0    # 0x55008
movsd %xmm0, -0x60(%rbp)
movsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd 0x4b570(%rip), %xmm0    # 0x55008
movsd %xmm0, -0x70(%rbp)
movsd -0x8(%rbp), %xmm0
mulsd -0x8(%rbp), %xmm0
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x48(%rbp), %xmm0
movsd 0x4be5a(%rip), %xmm1    # 0x55918
callq 0x3c4c0
testb $0x1, %al
jne 0x9acc
jmp 0x9b97
movsd -0x60(%rbp), %xmm0
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd 0x4b525(%rip), %xmm0    # 0x55008
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x60(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x68(%rbp), %xmm0
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd 0x4b4f5(%rip), %xmm0    # 0x55008
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x68(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x60(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x50(%rbp), %xmm0
addsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd 0x4b4b6(%rip), %xmm0    # 0x55008
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x68(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x58(%rbp), %xmm0
addsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x60(%rbp), %xmm0
divsd -0x50(%rbp), %xmm0
movq -0x30(%rbp), %rdi
callq 0x3c820
movsd %xmm0, -0x48(%rbp)
jmp 0x9ab1
movsd -0x90(%rbp), %xmm0
mulsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x98(%rbp), %xmm0
mulsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movq -0x88(%rbp), %rax
movl $0x2, %ecx
cqto
idivq %rcx
cmpq $0x0, %rdx
jne 0x9be4
movsd -0x60(%rbp), %xmm0
subsd -0x68(%rbp), %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
movq -0x88(%rbp), %rax
movl $0x2, %ecx
cqto
idivq %rcx
movl $0x2, %ecx
cqto
idivq %rcx
cmpq $0x0, %rdx
jne 0x9c23
movsd -0xa0(%rbp), %xmm0
movsd -0x60(%rbp), %xmm1
addsd -0x68(%rbp), %xmm1
mulsd %xmm1, %xmm0
movq -0x20(%rbp), %rax
movsd %xmm0, (%rax)
movsd 0x4b58d(%rip), %xmm0    # 0x551b8
movsd %xmm0, -0x70(%rbp)
movsd -0x8(%rbp), %xmm0
mulsd -0x8(%rbp), %xmm0
movsd 0x4b786(%rip), %xmm1    # 0x553c8
divsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x38(%rbp), %xmm0
movsd 0x4b558(%rip), %xmm1    # 0x551b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd 0x4b395(%rip), %xmm0    # 0x55008
addsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x60(%rbp), %xmm0
movsd 0x4b526(%rip), %xmm1    # 0x551b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movsd 0x4b36d(%rip), %xmm0    # 0x55008
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
movsd 0x4bc6b(%rip), %xmm1    # 0x55918
callq 0x3c4c0
testb $0x1, %al
jne 0x9cbb
jmp 0x9d86
movsd -0x60(%rbp), %xmm0
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x68(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd 0x4b327(%rip), %xmm0    # 0x55008
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x68(%rbp), %xmm0
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x60(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x50(%rbp), %xmm0
addsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd 0x4b2e8(%rip), %xmm0    # 0x55008
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x68(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x60(%rbp), %xmm0
divsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x58(%rbp), %xmm0
addsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd 0x4b2a9(%rip), %xmm0    # 0x55008
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x68(%rbp), %xmm0
divsd -0x58(%rbp), %xmm0
movq -0x30(%rbp), %rdi
callq 0x3c820
movsd %xmm0, -0x48(%rbp)
jmp 0x9ca0
movsd -0x90(%rbp), %xmm0
mulsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x98(%rbp), %xmm0
mulsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movq -0x88(%rbp), %rax
movl $0x4, %ecx
cqto
idivq %rcx
movl $0x2, %ecx
cqto
idivq %rcx
cmpq $0x0, %rdx
jne 0x9ddd
movsd -0x60(%rbp), %xmm0
subsd -0x68(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movq -0x88(%rbp), %rax
movl $0x8, %ecx
cqto
idivq %rcx
movl $0x2, %ecx
cqto
idivq %rcx
cmpq $0x0, %rdx
jne 0x9e1c
movsd -0xa0(%rbp), %xmm0
movsd -0x60(%rbp), %xmm1
addsd -0x68(%rbp), %xmm1
mulsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, (%rax)
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
nopw %cs:(%rax,%rax)