// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %r8, %r13
movq %rcx, %rbx
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %r12
xorl %eax, %eax
movq %rax, (%rdi)
movq %rax, (%rsi)
movq %rax, (%rdx)
movq %rax, (%rcx)
movsd 0x2cd40(%rip), %xmm1    # 0x33750
movapd %xmm0, (%rsp)
callq 0x25bf9
testb %al, %al
je 0x6a41
xorl %eax, %eax
movq %rax, (%r12)
movq %rax, (%r14)
movabsq $0x7e37e43c8800759c, %rax # imm = 0x7E37E43C8800759C
movq %rax, (%r15)
movsd 0x2cc24(%rip), %xmm5    # 0x33660
jmp 0x7588
movsd 0x2cd0f(%rip), %xmm1    # 0x33758
movaps (%rsp), %xmm0
callq 0x25bb9
testb %al, %al
je 0x6f95
movapd (%rsp), %xmm0
xorpd 0x2c749(%rip), %xmm0    # 0x331b0
movq %r13, %rdi
callq 0x25e48
movapd (%rsp), %xmm1
mulsd 0x2c994(%rip), %xmm1    # 0x33410
mulsd %xmm0, %xmm1
divsd 0x2c760(%rip), %xmm1    # 0x331e8
movapd %xmm1, (%rsp)
movq %r13, %rdi
callq 0x25e48
movsd 0x2c743(%rip), %xmm2    # 0x331e0
movapd %xmm2, %xmm1
movapd %xmm2, %xmm5
movapd (%rsp), %xmm9
divsd %xmm9, %xmm1
movapd %xmm1, %xmm4
movapd %xmm1, %xmm3
movsd %xmm1, 0x10(%rsp)
mulsd %xmm1, %xmm4
movsd %xmm4, 0x70(%rsp)
movsd 0x2cde0(%rip), %xmm1    # 0x338b0
mulsd %xmm4, %xmm1
addsd 0x2cddc(%rip), %xmm1    # 0x338b8
mulsd %xmm4, %xmm1
addsd 0x2cdd8(%rip), %xmm1    # 0x338c0
mulsd %xmm4, %xmm1
addsd 0x2cdd4(%rip), %xmm1    # 0x338c8
mulsd %xmm4, %xmm1
addsd 0x2cdd0(%rip), %xmm1    # 0x338d0
mulsd %xmm4, %xmm1
addsd 0x2cdcc(%rip), %xmm1    # 0x338d8
mulsd %xmm4, %xmm1
addsd 0x2cdc8(%rip), %xmm1    # 0x338e0
mulsd %xmm4, %xmm1
addsd 0x2cdc4(%rip), %xmm1    # 0x338e8
mulsd %xmm4, %xmm1
addsd 0x2cdc0(%rip), %xmm1    # 0x338f0
movapd %xmm1, %xmm6
movsd 0x2cdbc(%rip), %xmm1    # 0x338f8
addsd %xmm4, %xmm1
mulsd %xmm4, %xmm1
addsd 0x2cdb4(%rip), %xmm1    # 0x33900
mulsd %xmm4, %xmm1
addsd 0x2cdb0(%rip), %xmm1    # 0x33908
mulsd %xmm4, %xmm1
addsd 0x2cdac(%rip), %xmm1    # 0x33910
mulsd %xmm4, %xmm1
addsd 0x2cda8(%rip), %xmm1    # 0x33918
mulsd %xmm4, %xmm1
addsd 0x2cda4(%rip), %xmm1    # 0x33920
mulsd %xmm4, %xmm1
addsd 0x2cda0(%rip), %xmm1    # 0x33928
mulsd %xmm4, %xmm1
addsd 0x2cd9c(%rip), %xmm1    # 0x33930
mulsd %xmm4, %xmm1
addsd 0x2cd98(%rip), %xmm1    # 0x33938
movsd 0x2cd98(%rip), %xmm2    # 0x33940
mulsd %xmm4, %xmm2
addsd 0x2cd94(%rip), %xmm2    # 0x33948
mulsd %xmm4, %xmm2
addsd 0x2cd90(%rip), %xmm2    # 0x33950
mulsd %xmm4, %xmm2
addsd 0x2cd8c(%rip), %xmm2    # 0x33958
mulsd %xmm4, %xmm2
addsd 0x2cd88(%rip), %xmm2    # 0x33960
mulsd %xmm4, %xmm2
addsd 0x2cd84(%rip), %xmm2    # 0x33968
mulsd %xmm4, %xmm2
addsd 0x2cd80(%rip), %xmm2    # 0x33970
mulsd %xmm4, %xmm2
addsd 0x2cd7c(%rip), %xmm2    # 0x33978
mulsd %xmm4, %xmm2
addsd 0x2cd78(%rip), %xmm2    # 0x33980
mulsd %xmm4, %xmm2
addsd 0x2cd74(%rip), %xmm2    # 0x33988
mulsd %xmm4, %xmm2
addsd 0x2cd70(%rip), %xmm2    # 0x33990
movapd %xmm2, %xmm8
movsd 0x2cd6b(%rip), %xmm2    # 0x33998
addsd %xmm4, %xmm2
mulsd %xmm4, %xmm2
addsd 0x2cd63(%rip), %xmm2    # 0x339a0
mulsd %xmm4, %xmm2
addsd 0x2cd5f(%rip), %xmm2    # 0x339a8
movapd %xmm0, 0x20(%rsp)
mulsd %xmm4, %xmm2
addsd 0x2cd55(%rip), %xmm2    # 0x339b0
movsd 0x2cb05(%rip), %xmm7    # 0x33768
mulsd %xmm4, %xmm2
addsd 0x2cd49(%rip), %xmm2    # 0x339b8
mulsd %xmm4, %xmm6
mulsd %xmm4, %xmm2
addsd 0x2cd41(%rip), %xmm2    # 0x339c0
divsd %xmm1, %xmm6
mulsd %xmm4, %xmm2
addsd 0x2cd39(%rip), %xmm2    # 0x339c8
mulsd %xmm4, %xmm2
addsd 0x2cd35(%rip), %xmm2    # 0x339d0
divsd %xmm0, %xmm7
movsd %xmm7, 0x30(%rsp)
mulsd %xmm4, %xmm2
addsd 0x2cd27(%rip), %xmm2    # 0x339d8
addsd %xmm5, %xmm6
movsd %xmm6, 0x40(%rsp)
mulsd %xmm4, %xmm2
addsd 0x2cd19(%rip), %xmm2    # 0x339e0
mulsd %xmm3, %xmm8
divsd %xmm2, %xmm8
movsd %xmm8, 0x60(%rsp)
movapd %xmm9, %xmm0
addsd 0x2cd03(%rip), %xmm0    # 0x339e8
movapd %xmm0, (%rsp)
movq %r13, %rdi
callq 0x25f5f
movsd %xmm0, 0x50(%rsp)
movapd (%rsp), %xmm0
movq %r13, %rdi
callq 0x25f64
movsd 0x2cce3(%rip), %xmm5    # 0x339f0
movsd 0x70(%rsp), %xmm7
mulsd %xmm7, %xmm5
addsd 0x2ccd9(%rip), %xmm5    # 0x339f8
mulsd %xmm7, %xmm5
addsd 0x2ccd5(%rip), %xmm5    # 0x33a00
mulsd %xmm7, %xmm5
addsd 0x2ccd1(%rip), %xmm5    # 0x33a08
mulsd %xmm7, %xmm5
addsd 0x2cccd(%rip), %xmm5    # 0x33a10
mulsd %xmm7, %xmm5
addsd 0x2ccc9(%rip), %xmm5    # 0x33a18
mulsd %xmm7, %xmm5
addsd 0x2ccc5(%rip), %xmm5    # 0x33a20
mulsd %xmm7, %xmm5
addsd 0x2ccc1(%rip), %xmm5    # 0x33a28
mulsd %xmm7, %xmm5
addsd 0x2ccbd(%rip), %xmm5    # 0x33a30
movsd 0x2ccbd(%rip), %xmm1    # 0x33a38
addsd %xmm7, %xmm1
mulsd %xmm7, %xmm1
addsd 0x2ccb5(%rip), %xmm1    # 0x33a40
mulsd %xmm7, %xmm1
addsd 0x2ccb1(%rip), %xmm1    # 0x33a48
mulsd %xmm7, %xmm1
addsd 0x2ccad(%rip), %xmm1    # 0x33a50
mulsd %xmm7, %xmm1
addsd 0x2cca9(%rip), %xmm1    # 0x33a58
mulsd %xmm7, %xmm1
addsd 0x2cca5(%rip), %xmm1    # 0x33a60
mulsd %xmm7, %xmm1
addsd 0x2cca1(%rip), %xmm1    # 0x33a68
mulsd %xmm7, %xmm1
addsd 0x2cc9d(%rip), %xmm1    # 0x33a70
movsd 0x50(%rsp), %xmm6
movapd %xmm6, %xmm3
mulsd %xmm7, %xmm1
addsd 0x2cc8f(%rip), %xmm1    # 0x33a78
movsd 0x2cc8f(%rip), %xmm2    # 0x33a80
mulsd %xmm7, %xmm2
addsd 0x2cc8b(%rip), %xmm2    # 0x33a88
movsd 0x60(%rsp), %xmm4
mulsd %xmm4, %xmm3
mulsd %xmm7, %xmm2
addsd 0x2cc7d(%rip), %xmm2    # 0x33a90
mulsd %xmm0, %xmm4
movapd %xmm4, %xmm9
mulsd %xmm7, %xmm2
addsd 0x2cc70(%rip), %xmm2    # 0x33a98
movapd %xmm6, %xmm4
mulsd %xmm7, %xmm2
addsd 0x2cc68(%rip), %xmm2    # 0x33aa0
movsd 0x40(%rsp), %xmm8
mulsd %xmm8, %xmm4
mulsd %xmm7, %xmm2
addsd 0x2cc58(%rip), %xmm2    # 0x33aa8
subsd %xmm9, %xmm4
mulsd %xmm7, %xmm2
addsd 0x2cc4f(%rip), %xmm2    # 0x33ab0
movsd 0x30(%rsp), %xmm9
mulsd %xmm9, %xmm4
mulsd %xmm7, %xmm2
addsd 0x2cc3f(%rip), %xmm2    # 0x33ab8
movsd %xmm4, (%r12)
mulsd %xmm7, %xmm2
addsd 0x2cc35(%rip), %xmm2    # 0x33ac0
mulsd %xmm0, %xmm8
mulsd %xmm7, %xmm2
addsd 0x2cc2c(%rip), %xmm2    # 0x33ac8
mulsd %xmm7, %xmm2
addsd 0x2cc28(%rip), %xmm2    # 0x33ad0
movsd 0x2cc28(%rip), %xmm4    # 0x33ad8
addsd %xmm7, %xmm4
mulsd %xmm7, %xmm4
addsd 0x2cc20(%rip), %xmm4    # 0x33ae0
addsd %xmm3, %xmm8
mulsd %xmm7, %xmm4
addsd 0x2cc17(%rip), %xmm4    # 0x33ae8
mulsd %xmm9, %xmm8
mulsd %xmm7, %xmm4
addsd 0x2cc0e(%rip), %xmm4    # 0x33af0
movsd %xmm8, (%r15)
mulsd %xmm7, %xmm4
addsd 0x2cc05(%rip), %xmm4    # 0x33af8
mulsd %xmm7, %xmm5
mulsd %xmm7, %xmm4
addsd 0x2cbfd(%rip), %xmm4    # 0x33b00
divsd %xmm1, %xmm5
mulsd %xmm7, %xmm4
addsd 0x2cbf5(%rip), %xmm4    # 0x33b08
addsd 0x2c2c5(%rip), %xmm5    # 0x331e0
mulsd %xmm7, %xmm4
addsd 0x2cbe9(%rip), %xmm4    # 0x33b10
mulsd %xmm7, %xmm4
addsd 0x2cbe5(%rip), %xmm4    # 0x33b18
mulsd %xmm7, %xmm4
addsd 0x2cbe1(%rip), %xmm4    # 0x33b20
mulsd 0x10(%rsp), %xmm2
divsd %xmm4, %xmm2
movapd 0x20(%rsp), %xmm1
mulsd 0x2c811(%rip), %xmm1    # 0x33768
movapd 0x2c251(%rip), %xmm3    # 0x331b0
xorpd %xmm1, %xmm3
movapd %xmm1, %xmm4
movapd %xmm6, %xmm1
mulsd %xmm2, %xmm1
mulsd %xmm0, %xmm2
mulsd %xmm5, %xmm0
addsd %xmm1, %xmm0
mulsd %xmm3, %xmm0
movsd %xmm0, (%r14)
mulsd %xmm6, %xmm5
subsd %xmm2, %xmm5
mulsd %xmm4, %xmm5
jmp 0x7588
movsd 0x2c7c3(%rip), %xmm1    # 0x33760
movaps (%rsp), %xmm0
callq 0x25c15
movl %eax, %ebp
testb %al, %al
je 0x72e2
movapd (%rsp), %xmm0
movq %r13, %rdi
callq 0x25e48
movapd %xmm0, %xmm1
movsd %xmm0, 0x30(%rsp)
movapd (%rsp), %xmm0
addsd %xmm0, %xmm0
mulsd %xmm1, %xmm0
divsd 0x2c20c(%rip), %xmm0    # 0x331e8
movapd %xmm0, 0x10(%rsp)
movq %r13, %rdi
callq 0x25f9b
movapd %xmm0, 0x20(%rsp)
movsd 0x30(%rsp), %xmm0
movq %r13, %rdi
callq 0x25e48
movsd 0x2c1da(%rip), %xmm4    # 0x331e0
movapd %xmm4, %xmm5
divsd 0x10(%rsp), %xmm5
movapd %xmm5, %xmm3
unpcklpd %xmm5, %xmm3            # xmm3 = xmm3[0],xmm5[0]
movapd 0x2dd20(%rip), %xmm1    # 0x34d40
mulpd %xmm3, %xmm1
addpd 0x2dd24(%rip), %xmm1    # 0x34d50
mulpd %xmm3, %xmm1
addpd 0x2dd28(%rip), %xmm1    # 0x34d60
mulpd %xmm3, %xmm1
addpd 0x2dd2c(%rip), %xmm1    # 0x34d70
mulpd %xmm3, %xmm1
addpd 0x2dd30(%rip), %xmm1    # 0x34d80
mulpd %xmm3, %xmm1
addpd 0x2dd34(%rip), %xmm1    # 0x34d90
movapd %xmm0, %xmm2
mulpd %xmm3, %xmm1
addpd 0x2dd34(%rip), %xmm1    # 0x34da0
mulpd %xmm3, %xmm1
addpd 0x2dd38(%rip), %xmm1    # 0x34db0
movapd %xmm1, %xmm3
unpckhpd %xmm1, %xmm3            # xmm3 = xmm3[1],xmm1[1]
divsd %xmm3, %xmm1
mulsd 0x2c6dc(%rip), %xmm1    # 0x33768
movsd 0x2c6e4(%rip), %xmm3    # 0x33778
mulsd %xmm5, %xmm3
addsd 0x2c6e0(%rip), %xmm3    # 0x33780
addsd %xmm0, %xmm2
mulsd %xmm5, %xmm3
addsd 0x2c6d8(%rip), %xmm3    # 0x33788
movapd 0x20(%rsp), %xmm6
mulsd %xmm6, %xmm2
mulsd %xmm5, %xmm3
addsd 0x2c6ca(%rip), %xmm3    # 0x33790
divsd %xmm2, %xmm1
mulsd %xmm5, %xmm3
addsd 0x2c6c2(%rip), %xmm3    # 0x33798
movsd %xmm1, (%r12)
mulsd %xmm5, %xmm3
addsd 0x2c6b8(%rip), %xmm3    # 0x337a0
movsd 0x2c680(%rip), %xmm1    # 0x33770
mulsd %xmm5, %xmm3
addsd 0x2c6ac(%rip), %xmm3    # 0x337a8
movsd 0x2c6ac(%rip), %xmm2    # 0x337b0
mulsd %xmm5, %xmm2
addsd 0x2c6a8(%rip), %xmm2    # 0x337b8
movsd %xmm0, 0x30(%rsp)
mulsd %xmm0, %xmm1
mulsd %xmm5, %xmm2
addsd 0x2c69a(%rip), %xmm2    # 0x337c0
mulsd %xmm5, %xmm3
mulsd %xmm5, %xmm2
addsd 0x2c692(%rip), %xmm2    # 0x337c8
addsd %xmm4, %xmm3
mulsd %xmm5, %xmm2
addsd 0x2c68a(%rip), %xmm2    # 0x337d0
unpcklpd %xmm3, %xmm1            # xmm1 = xmm1[0],xmm3[0]
mulsd %xmm5, %xmm2
addsd 0x2c682(%rip), %xmm2    # 0x337d8
mulsd %xmm5, %xmm2
addsd 0x2c67e(%rip), %xmm2    # 0x337e0
movapd %xmm5, 0x10(%rsp)
mulsd %xmm5, %xmm2
addsd %xmm4, %xmm2
movapd %xmm6, %xmm0
unpcklpd %xmm2, %xmm0            # xmm0 = xmm0[0],xmm2[0]
divpd %xmm0, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
mulsd %xmm1, %xmm0
movsd %xmm0, (%r14)
movsd 0x2c653(%rip), %xmm1    # 0x337e8
movaps (%rsp), %xmm0
callq 0x25bf9
testb %al, %al
je 0x72e2
movsd 0x2c662(%rip), %xmm0    # 0x33810
movapd 0x10(%rsp), %xmm4
mulsd %xmm4, %xmm0
addsd 0x2c658(%rip), %xmm0    # 0x33818
mulsd %xmm4, %xmm0
addsd 0x2c654(%rip), %xmm0    # 0x33820
mulsd %xmm4, %xmm0
addsd 0x2c650(%rip), %xmm0    # 0x33828
mulsd %xmm4, %xmm0
addsd 0x2c64c(%rip), %xmm0    # 0x33830
movsd 0x2c64c(%rip), %xmm1    # 0x33838
addsd %xmm4, %xmm1
mulsd %xmm4, %xmm1
addsd 0x2c644(%rip), %xmm1    # 0x33840
mulsd %xmm4, %xmm1
addsd 0x2c640(%rip), %xmm1    # 0x33848
mulsd %xmm4, %xmm1
addsd 0x2c63c(%rip), %xmm1    # 0x33850
mulsd %xmm4, %xmm1
addsd 0x2c638(%rip), %xmm1    # 0x33858
mulsd %xmm4, %xmm0
divsd %xmm1, %xmm0
movapd 0x20(%rsp), %xmm2
mulsd 0x2c532(%rip), %xmm2    # 0x33768
movsd 0x2c622(%rip), %xmm5    # 0x33860
mulsd %xmm4, %xmm5
addsd 0x2c61e(%rip), %xmm5    # 0x33868
movsd 0x2bf8e(%rip), %xmm3    # 0x331e0
addsd %xmm3, %xmm0
mulsd %xmm4, %xmm5
addsd 0x2c60e(%rip), %xmm5    # 0x33870
mulsd %xmm2, %xmm0
mulsd %xmm4, %xmm5
addsd 0x2c606(%rip), %xmm5    # 0x33878
mulsd %xmm4, %xmm5
addsd 0x2c602(%rip), %xmm5    # 0x33880
movsd 0x2c602(%rip), %xmm1    # 0x33888
addsd %xmm4, %xmm1
mulsd %xmm4, %xmm1
addsd 0x2c5fa(%rip), %xmm1    # 0x33890
movsd 0x30(%rsp), %xmm6
divsd %xmm6, %xmm0
mulsd %xmm4, %xmm1
addsd 0x2c5ec(%rip), %xmm1    # 0x33898
movsd %xmm0, (%r15)
mulsd %xmm4, %xmm1
addsd 0x2c5e3(%rip), %xmm1    # 0x338a0
mulsd %xmm4, %xmm1
addsd 0x2c5df(%rip), %xmm1    # 0x338a8
mulsd %xmm4, %xmm5
divsd %xmm1, %xmm5
mulsd %xmm6, %xmm2
addsd %xmm3, %xmm5
mulsd %xmm2, %xmm5
jmp 0x7588
movapd (%rsp), %xmm0
movapd %xmm0, %xmm1
mulsd %xmm0, %xmm1
movapd %xmm1, 0x50(%rsp)
mulsd %xmm0, %xmm1
movapd %xmm1, 0x40(%rsp)
movsd 0x2bed9(%rip), %xmm0    # 0x331e0
movsd 0x2c4e1(%rip), %xmm1    # 0x337f0
callq 0x25bf9
testb %al, %al
je 0x73e9
movapd 0x2d9ec(%rip), %xmm4    # 0x34d10
movapd (%rsp), %xmm1
unpcklpd %xmm1, %xmm4            # xmm4 = xmm4[0],xmm1[0]
movaps 0x40(%rsp), %xmm0
movlhps %xmm0, %xmm0            # xmm0 = xmm0[0,0]
movaps %xmm0, 0x60(%rsp)
movsd 0x2be9e(%rip), %xmm0    # 0x331e0
movapd %xmm0, %xmm3
movapd %xmm0, %xmm5
mulpd 0x60(%rsp), %xmm4
addsd %xmm0, %xmm5
movapd %xmm5, %xmm2
addsd %xmm0, %xmm2
unpcklpd %xmm2, %xmm5            # xmm5 = xmm5[0],xmm2[0]
divpd %xmm5, %xmm4
movapd %xmm2, %xmm5
addsd %xmm0, %xmm5
movapd %xmm5, 0x30(%rsp)
unpcklpd %xmm5, %xmm2            # xmm2 = xmm2[0],xmm5[0]
divpd %xmm2, %xmm4
movapd %xmm4, 0x10(%rsp)
addsd %xmm4, %xmm3
movsd %xmm3, 0x20(%rsp)
movapd %xmm4, %xmm0
unpckhpd %xmm4, %xmm0            # xmm0 = xmm0[1],xmm4[1]
addsd %xmm0, %xmm1
movapd %xmm1, (%rsp)
movapd %xmm4, %xmm0
divsd %xmm3, %xmm0
movq %r13, %rdi
callq 0x25e30
movsd 0x2c43d(%rip), %xmm1    # 0x337f0
callq 0x25bf9
movapd 0x30(%rsp), %xmm5
movapd 0x10(%rsp), %xmm4
movsd 0x20(%rsp), %xmm3
movsd 0x2be0e(%rip), %xmm0    # 0x331e0
movapd (%rsp), %xmm1
testb %al, %al
jne 0x734a
mulsd 0x2c411(%rip), %xmm3    # 0x337f8
jmp 0x73fe
movsd 0x2c407(%rip), %xmm3    # 0x337f8
movapd (%rsp), %xmm1
movsd 0x2bde2(%rip), %xmm0    # 0x331e0
mulsd 0x2c3fa(%rip), %xmm1    # 0x33800
testb %bpl, %bpl
jne 0x7419
movapd %xmm3, %xmm2
subsd %xmm1, %xmm2
movsd %xmm2, (%r12)
addsd %xmm3, %xmm1
mulsd 0x2c3e3(%rip), %xmm1    # 0x33808
movapd 0x40(%rsp), %xmm2
divsd 0x2bdb5(%rip), %xmm2    # 0x331e8
movsd %xmm1, (%r15)
movapd %xmm2, %xmm3
unpcklpd 0x50(%rsp), %xmm3       # xmm3 = xmm3[0],mem[0]
movapd %xmm2, 0x20(%rsp)
movapd %xmm2, %xmm1
addsd %xmm0, %xmm1
mulpd 0x2d968(%rip), %xmm3    # 0x34dc0
movapd %xmm3, 0x10(%rsp)
shufpd $0x2, %xmm3, %xmm1      # xmm1 = xmm1[0],xmm3[1]
movapd %xmm1, (%rsp)
movsd 0x2c380(%rip), %xmm1    # 0x337f0
callq 0x25bf9
testb %al, %al
je 0x754d
movapd 0x10(%rsp), %xmm3
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
divsd 0x2bd59(%rip), %xmm3    # 0x331e8
movapd 0x40(%rsp), %xmm1
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
movsd 0x2bd4f(%rip), %xmm0    # 0x331f0
movapd (%rsp), %xmm5
movapd 0x20(%rsp), %xmm4
movapd %xmm1, 0x40(%rsp)
divsd %xmm0, %xmm4
unpcklpd %xmm3, %xmm4            # xmm4 = xmm4[0],xmm3[0]
mulpd %xmm1, %xmm4
movsd 0x2bd1a(%rip), %xmm2    # 0x331e0
addsd %xmm2, %xmm0
movapd %xmm0, %xmm3
addsd %xmm2, %xmm3
movapd %xmm3, %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
divpd %xmm1, %xmm4
movapd %xmm4, 0x20(%rsp)
movapd %xmm4, %xmm0
unpckhpd %xmm4, %xmm0            # xmm0 = xmm0[1],xmm4[1]
divsd %xmm3, %xmm0
movapd %xmm0, 0x10(%rsp)
addpd %xmm4, %xmm5
movapd %xmm5, (%rsp)
addsd %xmm2, %xmm3
movapd %xmm3, 0x30(%rsp)
movapd %xmm4, %xmm0
divsd %xmm5, %xmm0
movq %r13, %rdi
callq 0x25e30
movsd 0x2c2cf(%rip), %xmm1    # 0x337f0
callq 0x25bf9
movapd 0x20(%rsp), %xmm4
movapd (%rsp), %xmm5
movapd 0x10(%rsp), %xmm3
movapd 0x40(%rsp), %xmm1
movapd 0x30(%rsp), %xmm0
testb %al, %al
jne 0x74b2
jmp 0x7552
movapd (%rsp), %xmm5
movapd %xmm5, %xmm0
unpckhpd %xmm5, %xmm0            # xmm0 = xmm0[1],xmm5[1]
mulsd 0x2c296(%rip), %xmm0    # 0x337f8
mulsd 0x2c296(%rip), %xmm5    # 0x33800
testb %bpl, %bpl
jne 0x757c
movapd %xmm0, %xmm1
subsd %xmm5, %xmm1
movsd %xmm1, (%r14)
addsd %xmm0, %xmm5
mulsd 0x2c280(%rip), %xmm5    # 0x33808
movsd %xmm5, (%rbx)
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq