// File: sus304[P]ForRocket/./lib/boost/math/tools/detail/rational_horner1_20.hpp
// Function: long double boost::math::tools::detail::evaluate_rational_c_imp<long double, unsigned long, long double>(long double const*, unsigned long const*, long double const&, mpl_::int_<17> const*)
BOOST_MATH_NOEXCEPT(V)
{
   if(x <= 1)
     return static_cast<V>(((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((b[16] * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
   else
   {
      V z = 1 / x;
      return static_cast<V>(((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) / ((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]));
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq -0x28(%rbp), %rax
fldt (%rax)
fld1
fucompi %st(1), %st
fstp %st(0)
jb 0x5c4fb
jmp 0x5c19f
movq -0x18(%rbp), %rax
movq %rax, -0x178(%rbp)
fldt 0x100(%rax)
movq -0x28(%rbp), %rcx
fldt (%rcx)
fld %st(0)
fstpt -0x16c(%rbp)
fldt 0xf0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xe0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xd0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xc0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xb0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xa0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x90(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x80(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x70(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x60(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x50(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x40(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x30(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x20(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x10(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt (%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
movq -0x20(%rbp), %rdx
movq %rdx, -0x160(%rbp)
movq 0x80(%rdx), %rax
movq %rax, -0xd0(%rbp)
testq %rax, %rax
sets %al
movzbl %al, %eax
movl %eax, %ecx
fildll -0xd0(%rbp)
leaq 0x42532(%rip), %rax     # 0x9e7c8
movq %rax, -0x158(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
movq 0x78(%rdx), %rcx
movq %rcx, -0xd8(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0xd8(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x70(%rdx), %rcx
movq %rcx, -0xe0(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0xe0(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x68(%rdx), %rcx
movq %rcx, -0xe8(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0xe8(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x60(%rdx), %rcx
movq %rcx, -0xf0(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0xf0(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x58(%rdx), %rcx
movq %rcx, -0xf8(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0xf8(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x50(%rdx), %rcx
movq %rcx, -0x100(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x100(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x48(%rdx), %rcx
movq %rcx, -0x108(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x108(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x40(%rdx), %rcx
movq %rcx, -0x110(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x110(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x38(%rdx), %rcx
movq %rcx, -0x118(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x118(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x30(%rdx), %rcx
movq %rcx, -0x120(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x120(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x28(%rdx), %rcx
movq %rcx, -0x128(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x128(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x20(%rdx), %rcx
movq %rcx, -0x130(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x130(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x18(%rdx), %rcx
movq %rcx, -0x138(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x138(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x10(%rdx), %rcx
movq %rcx, -0x140(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x140(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq (%rdx), %rcx
movq 0x8(%rdx), %rdx
movq %rdx, -0x148(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x148(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq %rcx, -0x150(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0x150(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmulp %st, %st(2)
faddp %st, %st(1)
fdivrp %st, %st(1)
fstpt -0x10(%rbp)
jmp 0x5c82c
movq -0x28(%rbp), %rax
fldt (%rax)
fld1
fdivp %st, %st(1)
fstpt -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x1a0(%rbp)
fldt (%rax)
fldt -0x40(%rbp)
fld %st(0)
fstpt -0x194(%rbp)
fldt 0x10(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x20(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x30(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x40(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x50(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x60(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x70(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x80(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x90(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xa0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xb0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xc0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xd0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xe0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0xf0(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
fldt 0x100(%rax)
fxch %st(2)
fmul %st(1), %st
faddp %st, %st(2)
movq -0x20(%rbp), %rcx
movq %rcx, -0x188(%rbp)
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
movq %rax, -0xc8(%rbp)
testq %rax, %rax
sets %al
movzbl %al, %eax
movl %eax, %esi
fildll -0xc8(%rbp)
leaq 0x421cc(%rip), %rax     # 0x9e7c8
movq %rax, -0x180(%rbp)
flds (%rax,%rsi,4)
faddp %st, %st(1)
movq %rdx, -0x48(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x48(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x10(%rcx), %rdx
movq %rdx, -0x50(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x50(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x18(%rcx), %rdx
movq %rdx, -0x58(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x58(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x20(%rcx), %rdx
movq %rdx, -0x60(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x60(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x28(%rcx), %rdx
movq %rdx, -0x68(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x68(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x30(%rcx), %rdx
movq %rdx, -0x70(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x70(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x38(%rcx), %rdx
movq %rdx, -0x78(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x78(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x40(%rcx), %rdx
movq %rdx, -0x80(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x80(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x48(%rcx), %rdx
movq %rdx, -0x88(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x88(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x50(%rcx), %rdx
movq %rdx, -0x90(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x90(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x58(%rcx), %rdx
movq %rdx, -0x98(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0x98(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x60(%rcx), %rdx
movq %rdx, -0xa0(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0xa0(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x68(%rcx), %rdx
movq %rdx, -0xa8(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0xa8(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x70(%rcx), %rdx
movq %rdx, -0xb0(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0xb0(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x78(%rcx), %rdx
movq %rdx, -0xb8(%rbp)
testq %rdx, %rdx
sets %dl
movzbl %dl, %edx
fildll -0xb8(%rbp)
flds (%rax,%rdx,4)
faddp %st, %st(1)
fxch %st(1)
fmul %st(2), %st
faddp %st, %st(1)
movq 0x80(%rcx), %rcx
movq %rcx, -0xc0(%rbp)
testq %rcx, %rcx
sets %cl
movzbl %cl, %ecx
fildll -0xc0(%rbp)
flds (%rax,%rcx,4)
faddp %st, %st(1)
fxch %st(1)
fmulp %st, %st(2)
faddp %st, %st(1)
fdivrp %st, %st(1)
fstpt -0x10(%rbp)
fldt -0x10(%rbp)
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
nopl (%rax,%rax)