// File: /workspace/github_cpp_makefile_star2_O2/mouda[P]LTE_random_access-simulate/specialfunctions.cpp
// Function: alglib_impl::bessel_besselasympt0(double, double*, double*, alglib_impl::ae_state*)
static void bessel_besselasympt0(double x,
     double* pzero,
     double* qzero,
     ae_state *_state)
{
    double xsq;
    double p2;
    double q2;
    double p3;
    double q3;

    *pzero = 0;
    *qzero = 0;

    xsq = 64.0/(x*x);
    p2 = 0.0;
    p2 = 2485.271928957404011288128951+xsq*p2;
    p2 = 153982.6532623911470917825993+xsq*p2;
    p2 = 2016135.283049983642487182349+xsq*p2;
    p2 = 8413041.456550439208464315611+xsq*p2;
    p2 = 12332384.76817638145232406055+xsq*p2;
    p2 = 5393485.083869438325262122897+xsq*p2;
    q2 = 1.0;
    q2 = 2615.700736920839685159081813+xsq*q2;
    q2 = 156001.7276940030940592769933+xsq*q2;
    q2 = 2025066.801570134013891035236+xsq*q2;
    q2 = 8426449.050629797331554404810+xsq*q2;
    q2 = 12338310.22786324960844856182+xsq*q2;
    q2 = 5393485.083869438325560444960+xsq*q2;
    p3 = -0.0;
    p3 = -4.887199395841261531199129300+xsq*p3;
    p3 = -226.2630641933704113967255053+xsq*p3;
    p3 = -2365.956170779108192723612816+xsq*p3;
    p3 = -8239.066313485606568803548860+xsq*p3;
    p3 = -10381.41698748464093880530341+xsq*p3;
    p3 = -3984.617357595222463506790588+xsq*p3;
    q3 = 1.0;
    q3 = 408.7714673983499223402830260+xsq*q3;
    q3 = 15704.89191515395519392882766+xsq*q3;
    q3 = 156021.3206679291652539287109+xsq*q3;
    q3 = 533291.3634216897168722255057+xsq*q3;
    q3 = 666745.4239319826986004038103+xsq*q3;
    q3 = 255015.5108860942382983170882+xsq*q3;
    *pzero = p2/q2;
    *qzero = 8*p3/q3/x;
}

// Assembly:
movapd %xmm0, %xmm1
mulsd %xmm0, %xmm1
movsd 0x1f3f3(%rip), %xmm2    # 0x315f8
divsd %xmm1, %xmm2
xorpd %xmm1, %xmm1
mulsd %xmm2, %xmm1
addsd 0x1f927(%rip), %xmm1    # 0x31b40
movsd 0x1f927(%rip), %xmm4    # 0x31b48
movsd 0x1f927(%rip), %xmm3    # 0x31b50
mulsd %xmm2, %xmm3
addsd 0x1f923(%rip), %xmm3    # 0x31b58
addsd %xmm2, %xmm4
mulsd %xmm2, %xmm3
addsd 0x1f91b(%rip), %xmm3    # 0x31b60
unpcklpd %xmm4, %xmm1            # xmm1 = xmm1[0],xmm4[0]
mulsd %xmm2, %xmm3
addsd 0x1f913(%rip), %xmm3    # 0x31b68
mulsd %xmm2, %xmm3
addsd 0x1f90f(%rip), %xmm3    # 0x31b70
mulsd %xmm2, %xmm3
addsd 0x1f90b(%rip), %xmm3    # 0x31b78
mulsd %xmm2, %xmm3
movsd 0x1f90f(%rip), %xmm4    # 0x31b88
addsd %xmm2, %xmm4
mulsd %xmm2, %xmm4
addsd 0x1f907(%rip), %xmm4    # 0x31b90
mulsd %xmm2, %xmm4
movapd %xmm2, %xmm5
unpcklpd %xmm2, %xmm5            # xmm5 = xmm5[0],xmm2[0]
mulpd %xmm5, %xmm1
addpd 0x2037f(%rip), %xmm1    # 0x32620
addsd 0x1f8ef(%rip), %xmm4    # 0x31b98
mulsd %xmm2, %xmm4
mulpd %xmm5, %xmm1
addpd 0x20377(%rip), %xmm1    # 0x32630
mulpd %xmm5, %xmm1
addpd 0x2037b(%rip), %xmm1    # 0x32640
mulpd %xmm5, %xmm1
addpd 0x2037f(%rip), %xmm1    # 0x32650
addsd 0x1f8c7(%rip), %xmm4    # 0x31ba0
mulsd %xmm2, %xmm4
mulpd %xmm5, %xmm1
addpd 0x20377(%rip), %xmm1    # 0x32660
addsd 0x1f88f(%rip), %xmm3    # 0x31b80
addsd 0x1f8af(%rip), %xmm4    # 0x31ba8
mulsd %xmm2, %xmm4
addsd 0x1f8ab(%rip), %xmm4    # 0x31bb0
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
divsd %xmm2, %xmm1
mulsd 0x1e35f(%rip), %xmm3    # 0x30678
movsd %xmm1, (%rdi)
divsd %xmm4, %xmm3
divsd %xmm0, %xmm3
movsd %xmm3, (%rsi)
retq