// File: /workspace/github_cpp_makefile_star2_O3/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 0x21718(%rip), %xmm2    # 0x345f8
divsd %xmm1, %xmm2
movsd 0x21ccc(%rip), %xmm4    # 0x34bb8
addsd %xmm2, %xmm4
movapd 0x22788(%rip), %xmm1    # 0x35680
movsd 0x21cc0(%rip), %xmm3    # 0x34bc0
mulsd %xmm2, %xmm3
addsd 0x21cbc(%rip), %xmm3    # 0x34bc8
unpcklpd %xmm4, %xmm1            # xmm1 = xmm1[0],xmm4[0]
mulsd %xmm2, %xmm3
addsd 0x21cb4(%rip), %xmm3    # 0x34bd0
mulsd %xmm2, %xmm3
addsd 0x21cb0(%rip), %xmm3    # 0x34bd8
mulsd %xmm2, %xmm3
addsd 0x21cac(%rip), %xmm3    # 0x34be0
mulsd %xmm2, %xmm3
movsd 0x21cb0(%rip), %xmm4    # 0x34bf0
addsd %xmm2, %xmm4
mulsd %xmm2, %xmm4
addsd 0x21ca8(%rip), %xmm4    # 0x34bf8
mulsd %xmm2, %xmm4
movapd %xmm2, %xmm5
unpcklpd %xmm2, %xmm5            # xmm5 = xmm5[0],xmm2[0]
mulpd %xmm5, %xmm1
addpd 0x22728(%rip), %xmm1    # 0x35690
addsd 0x21c90(%rip), %xmm4    # 0x34c00
mulsd %xmm2, %xmm4
mulpd %xmm5, %xmm1
addpd 0x22720(%rip), %xmm1    # 0x356a0
mulpd %xmm5, %xmm1
addpd 0x22724(%rip), %xmm1    # 0x356b0
mulpd %xmm5, %xmm1
addpd 0x22728(%rip), %xmm1    # 0x356c0
addsd 0x21c68(%rip), %xmm4    # 0x34c08
mulsd %xmm2, %xmm4
mulpd %xmm5, %xmm1
addpd 0x22720(%rip), %xmm1    # 0x356d0
addsd 0x21c30(%rip), %xmm3    # 0x34be8
addsd 0x21c50(%rip), %xmm4    # 0x34c10
mulsd %xmm2, %xmm4
addsd 0x21c4c(%rip), %xmm4    # 0x34c18
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
divsd %xmm2, %xmm1
mulsd 0x20698(%rip), %xmm3    # 0x33678
movsd %xmm1, (%rdi)
divsd %xmm4, %xmm3
divsd %xmm0, %xmm3
movsd %xmm3, (%rsi)
retq