// File: /workspace/github_cpp_makefile_star2_O2/mouda[P]LTE_random_access-simulate/specialfunctions.cpp
// Function: alglib_impl::bessel_besselasympt1(double, double*, double*, alglib_impl::ae_state*)
static void bessel_besselasympt1(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 = -1611.616644324610116477412898;
    p2 = -109824.0554345934672737413139+xsq*p2;
    p2 = -1523529.351181137383255105722+xsq*p2;
    p2 = -6603373.248364939109255245434+xsq*p2;
    p2 = -9942246.505077641195658377899+xsq*p2;
    p2 = -4435757.816794127857114720794+xsq*p2;
    q2 = 1.0;
    q2 = -1455.009440190496182453565068+xsq*q2;
    q2 = -107263.8599110382011903063867+xsq*q2;
    q2 = -1511809.506634160881644546358+xsq*q2;
    q2 = -6585339.479723087072826915069+xsq*q2;
    q2 = -9934124.389934585658967556309+xsq*q2;
    q2 = -4435757.816794127856828016962+xsq*q2;
    p3 = 35.26513384663603218592175580;
    p3 = 1706.375429020768002061283546+xsq*p3;
    p3 = 18494.26287322386679652009819+xsq*p3;
    p3 = 66178.83658127083517939992166+xsq*p3;
    p3 = 85145.16067533570196555001171+xsq*p3;
    p3 = 33220.91340985722351859704442+xsq*p3;
    q3 = 1.0;
    q3 = 863.8367769604990967475517183+xsq*q3;
    q3 = 37890.22974577220264142952256+xsq*q3;
    q3 = 400294.4358226697511708610813+xsq*q3;
    q3 = 1419460.669603720892855755253+xsq*q3;
    q3 = 1819458.042243997298924553839+xsq*q3;
    q3 = 708712.8194102874357377502472+xsq*q3;
    *pzero = p2/q2;
    *qzero = 8*p3/q3/x;
}

// Assembly:
movapd %xmm0, %xmm1
mulsd %xmm0, %xmm1
movsd 0x1f2be(%rip), %xmm2    # 0x315f8
divsd %xmm1, %xmm2
movsd 0x1f872(%rip), %xmm4    # 0x31bb8
addsd %xmm2, %xmm4
movapd 0x2031e(%rip), %xmm1    # 0x32670
movsd 0x1f866(%rip), %xmm3    # 0x31bc0
mulsd %xmm2, %xmm3
addsd 0x1f862(%rip), %xmm3    # 0x31bc8
unpcklpd %xmm4, %xmm1            # xmm1 = xmm1[0],xmm4[0]
mulsd %xmm2, %xmm3
addsd 0x1f85a(%rip), %xmm3    # 0x31bd0
mulsd %xmm2, %xmm3
addsd 0x1f856(%rip), %xmm3    # 0x31bd8
mulsd %xmm2, %xmm3
addsd 0x1f852(%rip), %xmm3    # 0x31be0
mulsd %xmm2, %xmm3
movsd 0x1f856(%rip), %xmm4    # 0x31bf0
addsd %xmm2, %xmm4
mulsd %xmm2, %xmm4
addsd 0x1f84e(%rip), %xmm4    # 0x31bf8
mulsd %xmm2, %xmm4
movapd %xmm2, %xmm5
unpcklpd %xmm2, %xmm5            # xmm5 = xmm5[0],xmm2[0]
mulpd %xmm5, %xmm1
addpd 0x202be(%rip), %xmm1    # 0x32680
addsd 0x1f836(%rip), %xmm4    # 0x31c00
mulsd %xmm2, %xmm4
mulpd %xmm5, %xmm1
addpd 0x202b6(%rip), %xmm1    # 0x32690
mulpd %xmm5, %xmm1
addpd 0x202ba(%rip), %xmm1    # 0x326a0
mulpd %xmm5, %xmm1
addpd 0x202be(%rip), %xmm1    # 0x326b0
addsd 0x1f80e(%rip), %xmm4    # 0x31c08
mulsd %xmm2, %xmm4
mulpd %xmm5, %xmm1
addpd 0x202b6(%rip), %xmm1    # 0x326c0
addsd 0x1f7d6(%rip), %xmm3    # 0x31be8
addsd 0x1f7f6(%rip), %xmm4    # 0x31c10
mulsd %xmm2, %xmm4
addsd 0x1f7f2(%rip), %xmm4    # 0x31c18
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
divsd %xmm2, %xmm1
mulsd 0x1e23e(%rip), %xmm3    # 0x30678
movsd %xmm1, (%rdi)
divsd %xmm4, %xmm3
divsd %xmm0, %xmm3
movsd %xmm3, (%rsi)
retq