// File: /workspace/github_cpp_makefile_star2_O2/mouda[P]LTE_random_access-simulate/specialfunctions.cpp
// Function: alglib_impl::hyperbolicsinecosineintegrals(double, double*, double*, alglib_impl::ae_state*)
void hyperbolicsinecosineintegrals(double x,
     double* shi,
     double* chi,
     ae_state *_state)
{
    double k;
    double z;
    double c;
    double s;
    double a;
    ae_int_t sg;
    double b0;
    double b1;
    double b2;

    *shi = 0;
    *chi = 0;

    if( ae_fp_less(x,0) )
    {
        sg = -1;
        x = -x;
    }
    else
    {
        sg = 0;
    }
    if( ae_fp_eq(x,0) )
    {
        *shi = 0;
        *chi = -ae_maxrealnumber;
        return;
    }
    if( ae_fp_less(x,8.0) )
    {
        z = x*x;
        a = 1.0;
        s = 1.0;
        c = 0.0;
        k = 2.0;
        do
        {
            a = a*z/k;
            c = c+a/k;
            k = k+1.0;
            a = a/k;
            s = s+a/k;
            k = k+1.0;
        }
        while(ae_fp_greater_eq(ae_fabs(a/s, _state),ae_machineepsilon));
        s = s*x;
    }
    else
    {
        if( ae_fp_less(x,18.0) )
        {
            a = (576.0/x-52.0)/10.0;
            k = ae_exp(x, _state)/x;
            b0 = 1.83889230173399459482E-17;
            b1 = 0.0;
            trigintegrals_chebiterationshichi(a, -9.55485532279655569575E-17, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 2.04326105980879882648E-16, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 1.09896949074905343022E-15, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -1.31313534344092599234E-14, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 5.93976226264314278932E-14, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -3.47197010497749154755E-14, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -1.40059764613117131000E-12, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 9.49044626224223543299E-12, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -1.61596181145435454033E-11, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -1.77899784436430310321E-10, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 1.35455469767246947469E-9, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -1.03257121792819495123E-9, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -3.56699611114982536845E-8, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 1.44818877384267342057E-7, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 7.82018215184051295296E-7, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -5.39919118403805073710E-6, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -3.12458202168959833422E-5, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 8.90136741950727517826E-5, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 2.02558474743846862168E-3, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 2.96064440855633256972E-2, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 1.11847751047257036625E0, &b0, &b1, &b2, _state);
            s = k*0.5*(b0-b2);
            b0 = -8.12435385225864036372E-18;
            b1 = 0.0;
            trigintegrals_chebiterationshichi(a, 2.17586413290339214377E-17, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 5.22624394924072204667E-17, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -9.48812110591690559363E-16, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 5.35546311647465209166E-15, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -1.21009970113732918701E-14, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -6.00865178553447437951E-14, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 7.16339649156028587775E-13, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -2.93496072607599856104E-12, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -1.40359438136491256904E-12, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 8.76302288609054966081E-11, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -4.40092476213282340617E-10, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -1.87992075640569295479E-10, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 1.31458150989474594064E-8, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -4.75513930924765465590E-8, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -2.21775018801848880741E-7, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 1.94635531373272490962E-6, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 4.33505889257316408893E-6, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -6.13387001076494349496E-5, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, -3.13085477492997465138E-4, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 4.97164789823116062801E-4, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 2.64347496031374526641E-2, &b0, &b1, &b2, _state);
            trigintegrals_chebiterationshichi(a, 1.11446150876699213025E0, &b0, &b1, &b2, _state);
            c = k*0.5*(b0-b2);
        }
        else
        {
            if( ae_fp_less_eq(x,88.0) )
            {
                a = (6336.0/x-212.0)/70.0;
                k = ae_exp(x, _state)/x;
                b0 = -1.05311574154850938805E-17;
                b1 = 0.0;
                trigintegrals_chebiterationshichi(a, 2.62446095596355225821E-17, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 8.82090135625368160657E-17, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -3.38459811878103047136E-16, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -8.30608026366935789136E-16, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 3.93397875437050071776E-15, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.01765565969729044505E-14, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -4.21128170307640802703E-14, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -1.60818204519802480035E-13, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 3.34714954175994481761E-13, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 2.72600352129153073807E-12, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.66894954752839083608E-12, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -3.49278141024730899554E-11, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -1.58580661666482709598E-10, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -1.79289437183355633342E-10, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.76281629144264523277E-9, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.69050228879421288846E-8, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.25391771228487041649E-7, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.16229947068677338732E-6, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.61038260117376323993E-5, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 3.49810375601053973070E-4, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.28478065259647610779E-2, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.03665722588798326712E0, &b0, &b1, &b2, _state);
                s = k*0.5*(b0-b2);
                b0 = 8.06913408255155572081E-18;
                b1 = 0.0;
                trigintegrals_chebiterationshichi(a, -2.08074168180148170312E-17, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -5.98111329658272336816E-17, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 2.68533951085945765591E-16, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 4.52313941698904694774E-16, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -3.10734917335299464535E-15, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -4.42823207332531972288E-15, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 3.49639695410806959872E-14, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 6.63406731718911586609E-14, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -3.71902448093119218395E-13, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -1.27135418132338309016E-12, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 2.74851141935315395333E-12, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 2.33781843985453438400E-11, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 2.71436006377612442764E-11, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -2.56600180000355990529E-10, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -1.61021375163803438552E-9, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -4.72543064876271773512E-9, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, -3.00095178028681682282E-9, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 7.79387474390914922337E-8, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.06942765566401507066E-6, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.59503164802313196374E-5, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 3.49592575153777996871E-4, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.28475387530065247392E-2, &b0, &b1, &b2, _state);
                trigintegrals_chebiterationshichi(a, 1.03665693917934275131E0, &b0, &b1, &b2, _state);
                c = k*0.5*(b0-b2);
            }
            else
            {
                if( sg!=0 )
                {
                    *shi = -ae_maxrealnumber;
                }
                else
                {
                    *shi = ae_maxrealnumber;
                }
                *chi = ae_maxrealnumber;
                return;
            }
        }
    }
    if( sg!=0 )
    {
        s = -s;
    }
    *shi = s;
    *chi = 0.57721566490153286061+ae_log(x, _state)+c;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x58, %rsp
movq %rdx, %r15
movq %rsi, %rbx
movq %rdi, %r14
andq $0x0, (%rdi)
andq $0x0, (%rsi)
xorps %xmm1, %xmm1
movaps %xmm0, (%rsp)
callq 0x24239
movl %eax, %ebp
testb %al, %al
jne 0x11ad0
movapd (%rsp), %xmm0
jmp 0x11add
movapd (%rsp), %xmm0
xorpd 0x1e6d3(%rip), %xmm0    # 0x301b0
movapd %xmm0, (%rsp)
xorps %xmm1, %xmm1
callq 0x241f5
testb %al, %al
je 0x11aff
andq $0x0, (%r14)
movsd 0x1eb5e(%rip), %xmm1    # 0x30658
jmp 0x120e3
movsd 0x1eb71(%rip), %xmm1    # 0x30678
movaps (%rsp), %xmm0
callq 0x24239
testb %al, %al
je 0x11be0
movapd (%rsp), %xmm0
mulsd %xmm0, %xmm0
movsd %xmm0, 0x28(%rsp)
movsd 0x1e6c9(%rip), %xmm0    # 0x301f8
xorpd %xmm4, %xmm4
movsd 0x1e8bd(%rip), %xmm3    # 0x303f8
movapd %xmm0, %xmm2
movapd %xmm0, %xmm5
mulsd 0x28(%rsp), %xmm5
divsd %xmm3, %xmm5
movapd %xmm5, %xmm0
divsd %xmm3, %xmm0
addsd %xmm0, %xmm4
movapd %xmm4, 0x10(%rsp)
movsd 0x1e691(%rip), %xmm1    # 0x301f8
addsd %xmm1, %xmm3
divsd %xmm3, %xmm5
movsd %xmm5, 0x30(%rsp)
movapd %xmm5, %xmm0
divsd %xmm3, %xmm0
addsd %xmm0, %xmm2
movapd %xmm2, 0x40(%rsp)
addsd %xmm1, %xmm3
movsd %xmm3, 0x38(%rsp)
movapd %xmm5, %xmm0
divsd %xmm2, %xmm0
movq %r15, %rdi
callq 0x2440c
movsd 0x1ec47(%rip), %xmm1    # 0x307f0
callq 0x24295
movsd 0x30(%rsp), %xmm5
movsd 0x38(%rsp), %xmm3
movapd 0x40(%rsp), %xmm2
movapd 0x10(%rsp), %xmm4
testb %al, %al
jne 0x11b43
movapd (%rsp), %xmm0
mulsd %xmm0, %xmm2
unpcklpd %xmm2, %xmm4            # xmm4 = xmm4[0],xmm2[0]
jmp 0x120a9
movsd 0x1fea8(%rip), %xmm1    # 0x31a90
movaps (%rsp), %xmm0
callq 0x24239
testb %al, %al
je 0x11e39
movsd 0x1fee7(%rip), %xmm1    # 0x31ae8
movapd (%rsp), %xmm0
divsd %xmm0, %xmm1
addsd 0x1fede(%rip), %xmm1    # 0x31af0
divsd 0x1e956(%rip), %xmm1    # 0x30570
movapd %xmm1, 0x10(%rsp)
movq %r15, %rdi
callq 0x24569
movapd %xmm0, %xmm4
movapd (%rsp), %xmm5
divsd %xmm5, %xmm4
movsd 0x1febb(%rip), %xmm0    # 0x31af8
movapd 0x10(%rsp), %xmm6
mulsd %xmm6, %xmm0
mulsd 0x1e839(%rip), %xmm4    # 0x30488
movsd 0x1fea9(%rip), %xmm1    # 0x31b00
movapd %xmm6, %xmm2
mulsd %xmm1, %xmm2
movsd 0x1fea1(%rip), %xmm3    # 0x31b08
subsd %xmm2, %xmm3
movapd %xmm6, %xmm2
mulsd %xmm3, %xmm2
addsd %xmm1, %xmm2
unpcklpd %xmm0, %xmm2            # xmm2 = xmm2[0],xmm0[0]
xorpd 0x1e52d(%rip), %xmm3    # 0x301b0
addpd 0x20835(%rip), %xmm2    # 0x324c0
unpcklpd %xmm6, %xmm6            # xmm6 = xmm6[0,0]
shufpd $0x2, 0x20838(%rip), %xmm3 # xmm3 = xmm3[0],mem[1]
movapd %xmm6, %xmm0
mulpd %xmm2, %xmm0
addpd %xmm3, %xmm0
addpd 0x20834(%rip), %xmm0    # 0x324e0
movapd %xmm6, %xmm1
mulpd %xmm0, %xmm1
subpd %xmm2, %xmm1
addpd 0x20830(%rip), %xmm1    # 0x324f0
movapd %xmm6, %xmm2
mulpd %xmm1, %xmm2
subpd %xmm0, %xmm2
addpd 0x2082c(%rip), %xmm2    # 0x32500
movapd %xmm6, %xmm0
mulpd %xmm2, %xmm0
subpd %xmm1, %xmm0
addpd 0x20828(%rip), %xmm0    # 0x32510
movapd %xmm6, %xmm1
mulpd %xmm0, %xmm1
subpd %xmm2, %xmm1
addpd 0x20824(%rip), %xmm1    # 0x32520
movapd %xmm6, %xmm2
mulpd %xmm1, %xmm2
subpd %xmm0, %xmm2
addpd 0x20820(%rip), %xmm2    # 0x32530
movapd %xmm6, %xmm0
mulpd %xmm2, %xmm0
subpd %xmm1, %xmm0
addpd 0x2081c(%rip), %xmm0    # 0x32540
movapd %xmm6, %xmm1
mulpd %xmm0, %xmm1
subpd %xmm2, %xmm1
addpd 0x20818(%rip), %xmm1    # 0x32550
movapd %xmm6, %xmm2
mulpd %xmm1, %xmm2
subpd %xmm0, %xmm2
addpd 0x20814(%rip), %xmm2    # 0x32560
movapd %xmm6, %xmm0
mulpd %xmm2, %xmm0
subpd %xmm1, %xmm0
addpd 0x20810(%rip), %xmm0    # 0x32570
movapd %xmm6, %xmm1
mulpd %xmm0, %xmm1
subpd %xmm2, %xmm1
addpd 0x2080c(%rip), %xmm1    # 0x32580
movapd %xmm6, %xmm2
mulpd %xmm1, %xmm2
subpd %xmm0, %xmm2
addpd 0x20808(%rip), %xmm2    # 0x32590
movapd %xmm6, %xmm0
mulpd %xmm2, %xmm0
subpd %xmm1, %xmm0
addpd 0x20804(%rip), %xmm0    # 0x325a0
movapd %xmm6, %xmm1
mulpd %xmm0, %xmm1
subpd %xmm2, %xmm1
addpd 0x20800(%rip), %xmm1    # 0x325b0
movapd %xmm6, %xmm2
mulpd %xmm1, %xmm2
subpd %xmm0, %xmm2
addpd 0x207fc(%rip), %xmm2    # 0x325c0
movapd %xmm6, %xmm0
mulpd %xmm2, %xmm0
subpd %xmm1, %xmm0
addpd 0x207f8(%rip), %xmm0    # 0x325d0
movapd %xmm6, %xmm1
mulpd %xmm0, %xmm1
subpd %xmm2, %xmm1
addpd 0x207f4(%rip), %xmm1    # 0x325e0
movapd %xmm6, %xmm2
mulpd %xmm1, %xmm2
subpd %xmm0, %xmm2
addpd 0x207f0(%rip), %xmm2    # 0x325f0
movapd %xmm6, %xmm0
mulpd %xmm2, %xmm0
subpd %xmm1, %xmm0
addpd 0x207ec(%rip), %xmm0    # 0x32600
mulpd %xmm6, %xmm0
subpd %xmm2, %xmm0
addpd 0x207ec(%rip), %xmm0    # 0x32610
subpd %xmm2, %xmm0
unpcklpd %xmm4, %xmm4            # xmm4 = xmm4[0,0]
mulpd %xmm0, %xmm4
movapd %xmm5, %xmm0
jmp 0x120a9
movsd 0x1fc57(%rip), %xmm1    # 0x31a98
movaps (%rsp), %xmm0
callq 0x24259
testb %al, %al
je 0x120f2
movsd 0x1fc46(%rip), %xmm1    # 0x31aa0
movapd (%rsp), %xmm0
divsd %xmm0, %xmm1
addsd 0x1fc3d(%rip), %xmm1    # 0x31aa8
divsd 0x1fc3d(%rip), %xmm1    # 0x31ab0
movapd %xmm1, 0x10(%rsp)
movq %r15, %rdi
callq 0x24569
movapd %xmm0, %xmm4
movapd (%rsp), %xmm3
divsd %xmm3, %xmm4
movsd 0x1fc22(%rip), %xmm0    # 0x31ab8
movapd 0x10(%rsp), %xmm5
mulsd %xmm5, %xmm0
movsd 0x1fc18(%rip), %xmm1    # 0x31ac0
subsd %xmm0, %xmm1
mulsd 0x1e5d4(%rip), %xmm4    # 0x30488
movsd 0x1fc0c(%rip), %xmm0    # 0x31ac8
mulsd %xmm5, %xmm0
addsd 0x1fc08(%rip), %xmm0    # 0x31ad0
movapd %xmm5, %xmm2
mulsd %xmm0, %xmm2
addsd 0x1fc00(%rip), %xmm2    # 0x31ad8
addsd 0x1fc00(%rip), %xmm2    # 0x31ae0
unpcklpd %xmm1, %xmm2            # xmm2 = xmm2[0],xmm1[0]
xorpd 0x1e2c4(%rip), %xmm0    # 0x301b0
unpcklpd %xmm5, %xmm5            # xmm5 = xmm5[0,0]
shufpd $0x2, 0x20467(%rip), %xmm0 # xmm0 = xmm0[0],mem[1]
movapd %xmm5, %xmm1
mulpd %xmm2, %xmm1
addpd %xmm0, %xmm1
addpd 0x20463(%rip), %xmm1    # 0x32370
movapd %xmm5, %xmm0
mulpd %xmm1, %xmm0
subpd %xmm2, %xmm0
addpd 0x2045f(%rip), %xmm0    # 0x32380
movapd %xmm5, %xmm2
mulpd %xmm0, %xmm2
subpd %xmm1, %xmm2
addpd 0x2045b(%rip), %xmm2    # 0x32390
movapd %xmm5, %xmm1
mulpd %xmm2, %xmm1
subpd %xmm0, %xmm1
addpd 0x20457(%rip), %xmm1    # 0x323a0
movapd %xmm5, %xmm0
mulpd %xmm1, %xmm0
subpd %xmm2, %xmm0
addpd 0x20453(%rip), %xmm0    # 0x323b0
movapd %xmm5, %xmm2
mulpd %xmm0, %xmm2
subpd %xmm1, %xmm2
addpd 0x2044f(%rip), %xmm2    # 0x323c0
movapd %xmm5, %xmm1
mulpd %xmm2, %xmm1
subpd %xmm0, %xmm1
addpd 0x2044b(%rip), %xmm1    # 0x323d0
movapd %xmm5, %xmm0
mulpd %xmm1, %xmm0
subpd %xmm2, %xmm0
addpd 0x20447(%rip), %xmm0    # 0x323e0
movapd %xmm5, %xmm2
mulpd %xmm0, %xmm2
subpd %xmm1, %xmm2
addpd 0x20443(%rip), %xmm2    # 0x323f0
movapd %xmm5, %xmm1
mulpd %xmm2, %xmm1
subpd %xmm0, %xmm1
addpd 0x2043f(%rip), %xmm1    # 0x32400
movapd %xmm5, %xmm0
mulpd %xmm1, %xmm0
subpd %xmm2, %xmm0
addpd 0x2043b(%rip), %xmm0    # 0x32410
movapd %xmm5, %xmm2
mulpd %xmm0, %xmm2
subpd %xmm1, %xmm2
addpd 0x20437(%rip), %xmm2    # 0x32420
movapd %xmm5, %xmm1
mulpd %xmm2, %xmm1
subpd %xmm0, %xmm1
addpd 0x20433(%rip), %xmm1    # 0x32430
movapd %xmm5, %xmm0
mulpd %xmm1, %xmm0
subpd %xmm2, %xmm0
addpd 0x2042f(%rip), %xmm0    # 0x32440
movapd %xmm5, %xmm2
mulpd %xmm0, %xmm2
subpd %xmm1, %xmm2
addpd 0x2042b(%rip), %xmm2    # 0x32450
movapd %xmm5, %xmm1
mulpd %xmm2, %xmm1
subpd %xmm0, %xmm1
addpd 0x20427(%rip), %xmm1    # 0x32460
movapd %xmm5, %xmm0
mulpd %xmm1, %xmm0
subpd %xmm2, %xmm0
addpd 0x20423(%rip), %xmm0    # 0x32470
movapd %xmm5, %xmm2
mulpd %xmm0, %xmm2
subpd %xmm1, %xmm2
addpd 0x2041f(%rip), %xmm2    # 0x32480
movapd %xmm5, %xmm1
mulpd %xmm2, %xmm1
subpd %xmm0, %xmm1
addpd 0x2041b(%rip), %xmm1    # 0x32490
movapd %xmm5, %xmm0
mulpd %xmm1, %xmm0
subpd %xmm2, %xmm0
addpd 0x20417(%rip), %xmm0    # 0x324a0
mulpd %xmm5, %xmm0
subpd %xmm1, %xmm0
addpd 0x20417(%rip), %xmm0    # 0x324b0
subpd %xmm1, %xmm0
unpcklpd %xmm4, %xmm4            # xmm4 = xmm4[0,0]
mulpd %xmm0, %xmm4
movapd %xmm3, %xmm0
movapd %xmm4, %xmm1
unpckhpd %xmm4, %xmm1            # xmm1 = xmm1[1],xmm4[1]
testb %bpl, %bpl
movapd %xmm4, 0x10(%rsp)
je 0x120c4
xorpd 0x1e0ec(%rip), %xmm1    # 0x301b0
movsd %xmm1, (%r14)
movq %r15, %rdi
callq 0x2455f
addsd 0x1e39f(%rip), %xmm0    # 0x30478
movapd 0x10(%rsp), %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, (%rbx)
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movsd 0x1e566(%rip), %xmm1    # 0x30660
testb %bpl, %bpl
jne 0x12105
movapd %xmm1, %xmm0
jmp 0x1210d
movsd 0x1e54b(%rip), %xmm0    # 0x30658
movsd %xmm0, (%r14)
jmp 0x120e3