// File: /workspace/github_cpp_makefile_star2_O1/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 0x2dd35(%rip), %xmm1    # 0x34810
movapd %xmm0, (%rsp)
callq 0x2633e
testb %al, %al
je 0x6b0c
xorl %eax, %eax
movq %rax, (%r12)
movq %rax, (%r14)
movabsq $0x7e37e43c8800759c, %rax # imm = 0x7E37E43C8800759C
movq %rax, (%r15)
movsd 0x2db31(%rip), %xmm5    # 0x34638
jmp 0x7665
movsd 0x2dd04(%rip), %xmm1    # 0x34818
movaps (%rsp), %xmm0
callq 0x262fe
testb %al, %al
je 0x7060
movapd (%rsp), %xmm0
xorpd 0x2d6ae(%rip), %xmm0    # 0x341e0
movq %r13, %rdi
callq 0x2658d
movapd (%rsp), %xmm1
mulsd 0x2d8a9(%rip), %xmm1    # 0x343f0
mulsd %xmm0, %xmm1
divsd 0x2d655(%rip), %xmm1    # 0x341a8
movapd %xmm1, (%rsp)
movq %r13, %rdi
callq 0x2658d
movsd 0x2d638(%rip), %xmm2    # 0x341a0
movapd %xmm2, %xmm1
movapd %xmm2, %xmm5
movapd (%rsp), %xmm9
divsd %xmm9, %xmm1
movapd %xmm1, %xmm4
movapd %xmm1, %xmm3
movsd %xmm1, 0x40(%rsp)
mulsd %xmm1, %xmm4
movsd %xmm4, 0x70(%rsp)
movsd 0x2de45(%rip), %xmm1    # 0x349e0
mulsd %xmm4, %xmm1
addsd 0x2de41(%rip), %xmm1    # 0x349e8
mulsd %xmm4, %xmm1
addsd 0x2de3d(%rip), %xmm1    # 0x349f0
mulsd %xmm4, %xmm1
addsd 0x2de39(%rip), %xmm1    # 0x349f8
mulsd %xmm4, %xmm1
addsd 0x2de35(%rip), %xmm1    # 0x34a00
mulsd %xmm4, %xmm1
addsd 0x2de31(%rip), %xmm1    # 0x34a08
mulsd %xmm4, %xmm1
addsd 0x2de2d(%rip), %xmm1    # 0x34a10
mulsd %xmm4, %xmm1
addsd 0x2de29(%rip), %xmm1    # 0x34a18
mulsd %xmm4, %xmm1
addsd 0x2de25(%rip), %xmm1    # 0x34a20
movapd %xmm1, %xmm6
movsd 0x2de21(%rip), %xmm1    # 0x34a28
addsd %xmm4, %xmm1
mulsd %xmm4, %xmm1
addsd 0x2de19(%rip), %xmm1    # 0x34a30
mulsd %xmm4, %xmm1
addsd 0x2de15(%rip), %xmm1    # 0x34a38
mulsd %xmm4, %xmm1
addsd 0x2de11(%rip), %xmm1    # 0x34a40
mulsd %xmm4, %xmm1
addsd 0x2de0d(%rip), %xmm1    # 0x34a48
mulsd %xmm4, %xmm1
addsd 0x2de09(%rip), %xmm1    # 0x34a50
mulsd %xmm4, %xmm1
addsd 0x2de05(%rip), %xmm1    # 0x34a58
mulsd %xmm4, %xmm1
addsd 0x2de01(%rip), %xmm1    # 0x34a60
mulsd %xmm4, %xmm1
addsd 0x2ddfd(%rip), %xmm1    # 0x34a68
movsd 0x2ddfd(%rip), %xmm2    # 0x34a70
mulsd %xmm4, %xmm2
addsd 0x2ddf9(%rip), %xmm2    # 0x34a78
mulsd %xmm4, %xmm2
addsd 0x2ddf5(%rip), %xmm2    # 0x34a80
mulsd %xmm4, %xmm2
addsd 0x2ddf1(%rip), %xmm2    # 0x34a88
mulsd %xmm4, %xmm2
addsd 0x2dded(%rip), %xmm2    # 0x34a90
mulsd %xmm4, %xmm2
addsd 0x2dde9(%rip), %xmm2    # 0x34a98
mulsd %xmm4, %xmm2
addsd 0x2dde5(%rip), %xmm2    # 0x34aa0
mulsd %xmm4, %xmm2
addsd 0x2dde1(%rip), %xmm2    # 0x34aa8
mulsd %xmm4, %xmm2
addsd 0x2dddd(%rip), %xmm2    # 0x34ab0
mulsd %xmm4, %xmm2
addsd 0x2ddd9(%rip), %xmm2    # 0x34ab8
mulsd %xmm4, %xmm2
addsd 0x2ddd5(%rip), %xmm2    # 0x34ac0
movapd %xmm2, %xmm8
movsd 0x2ddd0(%rip), %xmm2    # 0x34ac8
addsd %xmm4, %xmm2
mulsd %xmm4, %xmm2
addsd 0x2ddc8(%rip), %xmm2    # 0x34ad0
mulsd %xmm4, %xmm2
addsd 0x2ddc4(%rip), %xmm2    # 0x34ad8
movapd %xmm0, 0x20(%rsp)
mulsd %xmm4, %xmm2
addsd 0x2ddba(%rip), %xmm2    # 0x34ae0
movsd 0x2db6a(%rip), %xmm7    # 0x34898
mulsd %xmm4, %xmm2
addsd 0x2ddae(%rip), %xmm2    # 0x34ae8
mulsd %xmm4, %xmm6
mulsd %xmm4, %xmm2
addsd 0x2dda6(%rip), %xmm2    # 0x34af0
divsd %xmm1, %xmm6
mulsd %xmm4, %xmm2
addsd 0x2dd9e(%rip), %xmm2    # 0x34af8
mulsd %xmm4, %xmm2
addsd 0x2dd9a(%rip), %xmm2    # 0x34b00
divsd %xmm0, %xmm7
movsd %xmm7, 0x10(%rsp)
mulsd %xmm4, %xmm2
addsd 0x2dd8c(%rip), %xmm2    # 0x34b08
addsd %xmm5, %xmm6
movsd %xmm6, 0x60(%rsp)
mulsd %xmm4, %xmm2
addsd 0x2dd7e(%rip), %xmm2    # 0x34b10
mulsd %xmm3, %xmm8
divsd %xmm2, %xmm8
movsd %xmm8, 0x38(%rsp)
movapd %xmm9, %xmm0
addsd 0x2dd68(%rip), %xmm0    # 0x34b18
movapd %xmm0, (%rsp)
movq %r13, %rdi
callq 0x266a4
movsd %xmm0, 0x58(%rsp)
movapd (%rsp), %xmm0
movq %r13, %rdi
callq 0x266a9
movsd 0x2dd48(%rip), %xmm5    # 0x34b20
movsd 0x70(%rsp), %xmm7
mulsd %xmm7, %xmm5
addsd 0x2dd3e(%rip), %xmm5    # 0x34b28
mulsd %xmm7, %xmm5
addsd 0x2dd3a(%rip), %xmm5    # 0x34b30
mulsd %xmm7, %xmm5
addsd 0x2dd36(%rip), %xmm5    # 0x34b38
mulsd %xmm7, %xmm5
addsd 0x2dd32(%rip), %xmm5    # 0x34b40
mulsd %xmm7, %xmm5
addsd 0x2dd2e(%rip), %xmm5    # 0x34b48
mulsd %xmm7, %xmm5
addsd 0x2dd2a(%rip), %xmm5    # 0x34b50
mulsd %xmm7, %xmm5
addsd 0x2dd26(%rip), %xmm5    # 0x34b58
mulsd %xmm7, %xmm5
addsd 0x2dd22(%rip), %xmm5    # 0x34b60
movsd 0x2dd22(%rip), %xmm1    # 0x34b68
addsd %xmm7, %xmm1
mulsd %xmm7, %xmm1
addsd 0x2dd1a(%rip), %xmm1    # 0x34b70
mulsd %xmm7, %xmm1
addsd 0x2dd16(%rip), %xmm1    # 0x34b78
mulsd %xmm7, %xmm1
addsd 0x2dd12(%rip), %xmm1    # 0x34b80
mulsd %xmm7, %xmm1
addsd 0x2dd0e(%rip), %xmm1    # 0x34b88
mulsd %xmm7, %xmm1
addsd 0x2dd0a(%rip), %xmm1    # 0x34b90
mulsd %xmm7, %xmm1
addsd 0x2dd06(%rip), %xmm1    # 0x34b98
mulsd %xmm7, %xmm1
addsd 0x2dd02(%rip), %xmm1    # 0x34ba0
movsd 0x58(%rsp), %xmm6
movapd %xmm6, %xmm3
mulsd %xmm7, %xmm1
addsd 0x2dcf4(%rip), %xmm1    # 0x34ba8
movsd 0x2dcf4(%rip), %xmm2    # 0x34bb0
mulsd %xmm7, %xmm2
addsd 0x2dcf0(%rip), %xmm2    # 0x34bb8
movsd 0x38(%rsp), %xmm4
mulsd %xmm4, %xmm3
mulsd %xmm7, %xmm2
addsd 0x2dce2(%rip), %xmm2    # 0x34bc0
mulsd %xmm0, %xmm4
movapd %xmm4, %xmm9
mulsd %xmm7, %xmm2
addsd 0x2dcd5(%rip), %xmm2    # 0x34bc8
movapd %xmm6, %xmm4
mulsd %xmm7, %xmm2
addsd 0x2dccd(%rip), %xmm2    # 0x34bd0
movsd 0x60(%rsp), %xmm8
mulsd %xmm8, %xmm4
mulsd %xmm7, %xmm2
addsd 0x2dcbd(%rip), %xmm2    # 0x34bd8
subsd %xmm9, %xmm4
mulsd %xmm7, %xmm2
addsd 0x2dcb4(%rip), %xmm2    # 0x34be0
movsd 0x10(%rsp), %xmm9
mulsd %xmm9, %xmm4
mulsd %xmm7, %xmm2
addsd 0x2dca4(%rip), %xmm2    # 0x34be8
movsd %xmm4, (%r12)
mulsd %xmm7, %xmm2
addsd 0x2dc9a(%rip), %xmm2    # 0x34bf0
mulsd %xmm0, %xmm8
mulsd %xmm7, %xmm2
addsd 0x2dc91(%rip), %xmm2    # 0x34bf8
mulsd %xmm7, %xmm2
addsd 0x2dc8d(%rip), %xmm2    # 0x34c00
movsd 0x2dc8d(%rip), %xmm4    # 0x34c08
addsd %xmm7, %xmm4
mulsd %xmm7, %xmm4
addsd 0x2dc85(%rip), %xmm4    # 0x34c10
addsd %xmm3, %xmm8
mulsd %xmm7, %xmm4
addsd 0x2dc7c(%rip), %xmm4    # 0x34c18
mulsd %xmm9, %xmm8
mulsd %xmm7, %xmm4
addsd 0x2dc73(%rip), %xmm4    # 0x34c20
movsd %xmm8, (%r15)
mulsd %xmm7, %xmm4
addsd 0x2dc6a(%rip), %xmm4    # 0x34c28
mulsd %xmm7, %xmm5
mulsd %xmm7, %xmm4
addsd 0x2dc62(%rip), %xmm4    # 0x34c30
divsd %xmm1, %xmm5
mulsd %xmm7, %xmm4
addsd 0x2dc5a(%rip), %xmm4    # 0x34c38
addsd 0x2d1ba(%rip), %xmm5    # 0x341a0
mulsd %xmm7, %xmm4
addsd 0x2dc4e(%rip), %xmm4    # 0x34c40
mulsd %xmm7, %xmm4
addsd 0x2dc4a(%rip), %xmm4    # 0x34c48
mulsd %xmm7, %xmm4
addsd 0x2dc46(%rip), %xmm4    # 0x34c50
mulsd 0x40(%rsp), %xmm2
divsd %xmm4, %xmm2
movapd 0x20(%rsp), %xmm1
mulsd 0x2d876(%rip), %xmm1    # 0x34898
movapd 0x2d1b6(%rip), %xmm3    # 0x341e0
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 0x7665
movsd 0x2d7b8(%rip), %xmm1    # 0x34820
movaps (%rsp), %xmm0
callq 0x2635a
movl %eax, %ebp
testb %al, %al
je 0x73e1
movapd (%rsp), %xmm0
movq %r13, %rdi
callq 0x2658d
movapd %xmm0, %xmm1
movsd %xmm0, 0x10(%rsp)
movapd (%rsp), %xmm0
addsd %xmm0, %xmm0
mulsd %xmm1, %xmm0
divsd 0x2d101(%rip), %xmm0    # 0x341a8
movapd %xmm0, 0x40(%rsp)
movq %r13, %rdi
callq 0x266e0
movsd %xmm0, 0x20(%rsp)
movsd 0x10(%rsp), %xmm0
movq %r13, %rdi
callq 0x2658d
movsd 0x2d0cf(%rip), %xmm4    # 0x341a0
movapd %xmm4, %xmm5
divsd 0x40(%rsp), %xmm5
movsd 0x2d745(%rip), %xmm1    # 0x34828
mulsd %xmm5, %xmm1
addsd 0x2d741(%rip), %xmm1    # 0x34830
mulsd %xmm5, %xmm1
addsd 0x2d73d(%rip), %xmm1    # 0x34838
mulsd %xmm5, %xmm1
addsd 0x2d739(%rip), %xmm1    # 0x34840
mulsd %xmm5, %xmm1
addsd 0x2d735(%rip), %xmm1    # 0x34848
mulsd %xmm5, %xmm1
addsd 0x2d731(%rip), %xmm1    # 0x34850
mulsd %xmm5, %xmm1
addsd 0x2d72d(%rip), %xmm1    # 0x34858
movsd 0x2d72d(%rip), %xmm3    # 0x34860
mulsd %xmm5, %xmm3
addsd 0x2d729(%rip), %xmm3    # 0x34868
mulsd %xmm5, %xmm3
addsd 0x2d725(%rip), %xmm3    # 0x34870
movapd %xmm0, %xmm2
mulsd %xmm5, %xmm3
addsd 0x2d71d(%rip), %xmm3    # 0x34878
mulsd %xmm5, %xmm1
mulsd %xmm5, %xmm3
addsd 0x2d715(%rip), %xmm3    # 0x34880
addsd %xmm4, %xmm1
mulsd %xmm5, %xmm3
addsd 0x2d70d(%rip), %xmm3    # 0x34888
mulsd %xmm5, %xmm3
addsd 0x2d709(%rip), %xmm3    # 0x34890
mulsd %xmm5, %xmm3
addsd %xmm4, %xmm3
divsd %xmm3, %xmm1
mulsd 0x2d6fd(%rip), %xmm1    # 0x34898
movsd 0x2d705(%rip), %xmm3    # 0x348a8
mulsd %xmm5, %xmm3
addsd 0x2d701(%rip), %xmm3    # 0x348b0
addsd %xmm0, %xmm2
mulsd %xmm5, %xmm3
addsd 0x2d6f9(%rip), %xmm3    # 0x348b8
movsd 0x20(%rsp), %xmm6
mulsd %xmm6, %xmm2
mulsd %xmm5, %xmm3
addsd 0x2d6eb(%rip), %xmm3    # 0x348c0
divsd %xmm2, %xmm1
mulsd %xmm5, %xmm3
addsd 0x2d6e3(%rip), %xmm3    # 0x348c8
movsd %xmm1, (%r12)
mulsd %xmm5, %xmm3
addsd 0x2d6d9(%rip), %xmm3    # 0x348d0
movsd 0x2d6a1(%rip), %xmm1    # 0x348a0
mulsd %xmm5, %xmm3
addsd 0x2d6cd(%rip), %xmm3    # 0x348d8
movsd 0x2d6cd(%rip), %xmm2    # 0x348e0
mulsd %xmm5, %xmm2
addsd 0x2d6c9(%rip), %xmm2    # 0x348e8
movsd %xmm0, 0x10(%rsp)
mulsd %xmm0, %xmm1
mulsd %xmm5, %xmm2
addsd 0x2d6bb(%rip), %xmm2    # 0x348f0
divsd %xmm6, %xmm1
mulsd %xmm5, %xmm2
addsd 0x2d6b3(%rip), %xmm2    # 0x348f8
mulsd %xmm5, %xmm3
mulsd %xmm5, %xmm2
addsd 0x2d6ab(%rip), %xmm2    # 0x34900
addsd %xmm4, %xmm3
mulsd %xmm5, %xmm2
addsd 0x2d6a3(%rip), %xmm2    # 0x34908
mulsd %xmm5, %xmm2
addsd 0x2d69f(%rip), %xmm2    # 0x34910
movsd %xmm5, 0x40(%rsp)
mulsd %xmm5, %xmm2
addsd %xmm4, %xmm2
divsd %xmm2, %xmm3
mulsd %xmm1, %xmm3
movsd %xmm3, (%r14)
movsd 0x2d684(%rip), %xmm1    # 0x34918
movaps (%rsp), %xmm0
callq 0x2633e
testb %al, %al
je 0x73e1
movsd 0x2d693(%rip), %xmm0    # 0x34940
movsd 0x40(%rsp), %xmm4
mulsd %xmm4, %xmm0
addsd 0x2d689(%rip), %xmm0    # 0x34948
mulsd %xmm4, %xmm0
addsd 0x2d685(%rip), %xmm0    # 0x34950
mulsd %xmm4, %xmm0
addsd 0x2d681(%rip), %xmm0    # 0x34958
mulsd %xmm4, %xmm0
addsd 0x2d67d(%rip), %xmm0    # 0x34960
movsd 0x2d67d(%rip), %xmm1    # 0x34968
addsd %xmm4, %xmm1
mulsd %xmm4, %xmm1
addsd 0x2d675(%rip), %xmm1    # 0x34970
mulsd %xmm4, %xmm1
addsd 0x2d671(%rip), %xmm1    # 0x34978
mulsd %xmm4, %xmm1
addsd 0x2d66d(%rip), %xmm1    # 0x34980
mulsd %xmm4, %xmm1
addsd 0x2d669(%rip), %xmm1    # 0x34988
mulsd %xmm4, %xmm0
divsd %xmm1, %xmm0
movsd 0x20(%rsp), %xmm2
mulsd 0x2d563(%rip), %xmm2    # 0x34898
movsd 0x2d653(%rip), %xmm5    # 0x34990
mulsd %xmm4, %xmm5
addsd 0x2d64f(%rip), %xmm5    # 0x34998
movsd 0x2ce4f(%rip), %xmm3    # 0x341a0
addsd %xmm3, %xmm0
mulsd %xmm4, %xmm5
addsd 0x2d63f(%rip), %xmm5    # 0x349a0
mulsd %xmm2, %xmm0
mulsd %xmm4, %xmm5
addsd 0x2d637(%rip), %xmm5    # 0x349a8
mulsd %xmm4, %xmm5
addsd 0x2d633(%rip), %xmm5    # 0x349b0
movsd 0x2d633(%rip), %xmm1    # 0x349b8
addsd %xmm4, %xmm1
mulsd %xmm4, %xmm1
addsd 0x2d62b(%rip), %xmm1    # 0x349c0
movsd 0x10(%rsp), %xmm6
divsd %xmm6, %xmm0
mulsd %xmm4, %xmm1
addsd 0x2d61d(%rip), %xmm1    # 0x349c8
movsd %xmm0, (%r15)
mulsd %xmm4, %xmm1
addsd 0x2d614(%rip), %xmm1    # 0x349d0
mulsd %xmm4, %xmm1
addsd 0x2d610(%rip), %xmm1    # 0x349d8
mulsd %xmm4, %xmm5
divsd %xmm1, %xmm5
mulsd %xmm6, %xmm2
addsd %xmm3, %xmm5
mulsd %xmm2, %xmm5
jmp 0x7665
movapd (%rsp), %xmm0
movapd %xmm0, %xmm1
mulsd %xmm0, %xmm1
movapd %xmm1, 0x20(%rsp)
mulsd %xmm0, %xmm1
movapd %xmm1, 0x40(%rsp)
movsd 0x2cd9a(%rip), %xmm0    # 0x341a0
movsd 0x2d512(%rip), %xmm1    # 0x34920
callq 0x2633e
testb %al, %al
je 0x74e1
movsd 0x2cd7d(%rip), %xmm0    # 0x341a0
movapd %xmm0, %xmm4
movapd %xmm0, %xmm3
movapd (%rsp), %xmm1
movapd %xmm1, %xmm5
movapd %xmm0, %xmm6
movapd 0x40(%rsp), %xmm2
mulsd %xmm2, %xmm3
addsd %xmm0, %xmm6
divsd %xmm6, %xmm3
mulsd %xmm2, %xmm5
addsd %xmm0, %xmm6
divsd %xmm6, %xmm5
divsd %xmm6, %xmm3
movsd %xmm3, 0x60(%rsp)
addsd %xmm3, %xmm4
movsd %xmm4, 0x10(%rsp)
addsd %xmm0, %xmm6
movsd %xmm6, 0x58(%rsp)
divsd %xmm6, %xmm5
movsd %xmm5, 0x38(%rsp)
addsd %xmm5, %xmm1
movapd %xmm1, (%rsp)
movapd %xmm3, %xmm0
divsd %xmm4, %xmm0
movq %r13, %rdi
callq 0x26575
movsd 0x2d481(%rip), %xmm1    # 0x34920
callq 0x2633e
movsd 0x58(%rsp), %xmm6
movsd 0x38(%rsp), %xmm5
movsd 0x60(%rsp), %xmm3
movsd 0x10(%rsp), %xmm4
movsd 0x2ccdc(%rip), %xmm0    # 0x341a0
movapd (%rsp), %xmm1
testb %al, %al
jne 0x7438
mulsd 0x2d44f(%rip), %xmm4    # 0x34928
movapd 0x40(%rsp), %xmm2
jmp 0x74fc
movsd 0x2d43f(%rip), %xmm4    # 0x34928
movapd (%rsp), %xmm1
movapd 0x40(%rsp), %xmm2
movsd 0x2cca4(%rip), %xmm0    # 0x341a0
mulsd 0x2d42c(%rip), %xmm1    # 0x34930
testb %bpl, %bpl
jne 0x7517
movapd %xmm4, %xmm3
subsd %xmm1, %xmm3
movsd %xmm3, (%r12)
addsd %xmm4, %xmm1
mulsd 0x2d415(%rip), %xmm1    # 0x34938
movsd %xmm1, (%r15)
movapd 0x20(%rsp), %xmm1
mulsd 0x2cf32(%rip), %xmm1    # 0x34468
movapd %xmm1, 0x20(%rsp)
movapd %xmm2, %xmm1
divsd 0x2cc60(%rip), %xmm1    # 0x341a8
movapd %xmm1, 0x10(%rsp)
addsd %xmm0, %xmm1
movapd %xmm1, (%rsp)
movsd 0x2d3c1(%rip), %xmm1    # 0x34920
callq 0x2633e
testb %al, %al
je 0x762c
movapd 0x20(%rsp), %xmm1
movapd %xmm1, %xmm2
divsd 0x2cc2a(%rip), %xmm2    # 0x341a8
movsd 0x2cc2a(%rip), %xmm3    # 0x341b0
movapd (%rsp), %xmm5
movapd 0x10(%rsp), %xmm6
movapd 0x40(%rsp), %xmm0
mulsd %xmm0, %xmm2
divsd %xmm3, %xmm6
movsd 0x2cbf9(%rip), %xmm4    # 0x341a0
addsd %xmm4, %xmm3
mulsd %xmm0, %xmm6
divsd %xmm3, %xmm2
addsd %xmm2, %xmm1
movapd %xmm1, 0x20(%rsp)
addsd %xmm4, %xmm3
divsd %xmm3, %xmm6
movapd %xmm6, 0x10(%rsp)
divsd %xmm3, %xmm2
movapd %xmm2, 0x60(%rsp)
addsd %xmm6, %xmm5
movapd %xmm5, (%rsp)
addsd %xmm4, %xmm3
movsd %xmm3, 0x38(%rsp)
movapd %xmm6, %xmm0
divsd %xmm5, %xmm0
movq %r13, %rdi
callq 0x26575
movsd 0x2d320(%rip), %xmm1    # 0x34920
callq 0x2633e
movapd 0x10(%rsp), %xmm6
movsd 0x38(%rsp), %xmm3
movapd 0x60(%rsp), %xmm2
movapd (%rsp), %xmm5
movapd 0x20(%rsp), %xmm1
testb %al, %al
jne 0x7591
jmp 0x7637
movapd (%rsp), %xmm5
movapd 0x20(%rsp), %xmm1
mulsd 0x2d2e9(%rip), %xmm1    # 0x34928
mulsd 0x2d2e9(%rip), %xmm5    # 0x34930
testb %bpl, %bpl
jne 0x7659
movapd %xmm1, %xmm0
subsd %xmm5, %xmm0
movsd %xmm0, (%r14)
addsd %xmm1, %xmm5
mulsd 0x2d2d3(%rip), %xmm5    # 0x34938
movsd %xmm5, (%rbx)
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq