// File: /workspace/github_cpp_makefile_star2_O1/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 0x2238f(%rip), %xmm2    # 0x35800
divsd %xmm1, %xmm2
movsd 0x22ff3(%rip), %xmm1    # 0x36470
mulsd %xmm2, %xmm1
addsd 0x22fef(%rip), %xmm1    # 0x36478
mulsd %xmm2, %xmm1
addsd 0x22feb(%rip), %xmm1    # 0x36480
mulsd %xmm2, %xmm1
addsd 0x22fe7(%rip), %xmm1    # 0x36488
mulsd %xmm2, %xmm1
addsd 0x22fe3(%rip), %xmm1    # 0x36490
mulsd %xmm2, %xmm1
movsd 0x22fe7(%rip), %xmm4    # 0x364a0
addsd %xmm2, %xmm4
mulsd %xmm2, %xmm4
addsd 0x22fdf(%rip), %xmm4    # 0x364a8
movsd 0x22fc7(%rip), %xmm5    # 0x36498
mulsd %xmm2, %xmm4
addsd 0x22fd3(%rip), %xmm4    # 0x364b0
addsd %xmm5, %xmm1
mulsd %xmm2, %xmm4
addsd 0x22fcb(%rip), %xmm4    # 0x364b8
mulsd %xmm2, %xmm4
addsd 0x22fc7(%rip), %xmm4    # 0x364c0
mulsd %xmm2, %xmm4
movsd 0x22fc3(%rip), %xmm3    # 0x364c8
mulsd %xmm2, %xmm3
addsd 0x22fbf(%rip), %xmm3    # 0x364d0
addsd %xmm5, %xmm4
mulsd %xmm2, %xmm3
addsd 0x22fb7(%rip), %xmm3    # 0x364d8
xorl %eax, %eax
mulsd %xmm2, %xmm3
addsd 0x22fb1(%rip), %xmm3    # 0x364e0
divsd %xmm4, %xmm1
mulsd %xmm2, %xmm3
addsd 0x22fa9(%rip), %xmm3    # 0x364e8
mulsd %xmm2, %xmm3
addsd 0x22fa5(%rip), %xmm3    # 0x364f0
movsd 0x22fa5(%rip), %xmm4    # 0x364f8
addsd %xmm2, %xmm4
mulsd %xmm2, %xmm4
addsd 0x22f9d(%rip), %xmm4    # 0x36500
movq %rax, (%rdi)
mulsd %xmm2, %xmm4
addsd 0x22f96(%rip), %xmm4    # 0x36508
movq %rax, (%rsi)
mulsd %xmm2, %xmm4
addsd 0x22f8f(%rip), %xmm4    # 0x36510
mulsd %xmm2, %xmm4
addsd 0x22f8b(%rip), %xmm4    # 0x36518
mulsd %xmm2, %xmm4
addsd 0x22f87(%rip), %xmm4    # 0x36520
mulsd 0x210af(%rip), %xmm3    # 0x34650
movsd %xmm1, (%rdi)
divsd %xmm4, %xmm3
divsd %xmm0, %xmm3
movsd %xmm3, (%rsi)
retq