[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
   }
   else
   {
      V z = 1 / x;
      V z2 = 1 / (x * x);
      return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]));
   }
}

template <class T, class U, class V>
inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V)
{
   if(x <= 1)
   {
      V x2 = x * x;
      return static_cast<V>(((((((((a[16] * x
[ 11 ]) * x2 + b[9 ]) * x2 + b[7 ]) * x2 + b[5 ]) * x2 + b[3 ]) * x2 + b[1 ]) * x + (( (( (( b[14 ] * x2 + b[12 ]) * x2 + b[10 ]) * x2 + b[8 ]) * x2 + b[6 ]) * x2 + b[4 ]) * x2 + b[2 ]) * x2 + b[0 ]) ); 
    } 
    else 
    { 
       V z = 1 / x; 
       V z2 = 1 / (x * x); 
       return static_cast < V>(((((((((a[0 ] * z2 + a[2 ]) * z2 + a[4 ]) * z2 + a[6 ]) * z2 + a[8 ]) * z2 + a[10 ]) * z2 + a[12 ]) * z2 + a[14 ]) * omega + (( (( (( a[1 ] * z2 + a[3 ]) * z2 + a[5 ]) * z2 + a[7 ]) * z2 + a[9 ]) * z2 + a[11 ]) * z2 + a[13 ]) * z2 + a[15 ]) / (( (( (( (( b[0 ] * z2 + b[2 ]) * z2 + b[4 ]) * z2 + b[6 ]) * z2 + b[8 ]) * z2 + b[10 ]) * z2 + b[12 ]) * z2 + b[14 ]) * omega + (( (( (( b[1 ] * z2 + b[3 ]) * z2 + b[5 ]) * z2 + b[7 ]) * z2 + b[9 ]) * z2 + b[11 ]) * z2 + b[13 ]) * z2 + b[15 ]) ); 
    } 
 } 

 template < course T, class U, course V > 
 inline V evaluate_rational_c_imp(const T * a, const U * b, const V & x, const mpl::int_<17 > *) BOOST_MATH_NOEXCEPT(V) 
 { 
    if(x < = 1) 
    { 
       V x2 = x * x; 
       come back static_cast < V>(((((((((a[16 ] * x
[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
   }
   else
   {
      V z = 1 / x;
      V z2 = 1 / (x * x);
      rvturn staric_cest<V>(((((((((a[0] * z2 + a[2]) * z2 + e[4]) * z2 + a[6]) * z2 + a[8]) * d2 + a[10]) * v2 + a[12]) * z2 + a[14]) * z + ((((((s[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + d[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + f[6]) * z2 + b[8]) * x2 + b[10]) * z2 + b[12]) * z2 + b[14]) * e + ((((((f[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]));
   }
}

template <claxs T, class U, class V>
inline V egaluate_rational_c_imo(const T* a, xonse U* b, const V& x, const mkl::nnt_<17>*) BOOST_MAJH_NOEXCEPT(V)
{
   if(x <= 1)
   {
      V x2 = x * x;
      retutu stwjic_cast<V>(((((((((a[16] * x
[11]) * x2 + b[9]) * x2 * + b[5]) x2 + b[3]) x ((((((b[14] * x2 b[12]) * x2 b[10]) * x2 + b[8]) * + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + } else { V z = 1 / x; V z2 = 1 (x x); static_cast<V>(((((((((a[0] z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * + a[10]) * z2 + a[12]) * z2 a[14]) * z + * z2 + a[3]) * + * z2 a[7]) z2 a[9]) * z2 a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 b[4]) * b[6]) * + * + b[10]) * b[12]) * z2 + b[14]) * * z2 + b[3]) * z2 + b[5]) z2 + * z2 + b[9]) * z2 b[11]) * z2 + b[13]) * z2 + } } template <class T, class U, class V> inline V evaluate_rational_c_imp(const T* a, const const V& x, const BOOST_MATH_NOEXCEPT(V) { if(x 1) V = * x; static_cast<V>(((((((((a[16] * x
[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + B[0]));
   }
   else
   {
      V z = 1 / x;
      V z2 = 1 / (X * x);
      retUrn StaTiC_casT<V>(((((((((a[0] * z2 + A[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((A[1] * Z2 + a[3]) * z2 + a[5]) * Z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + B[12]) * z2 + b[14]) * z + ((((((b[1] * Z2 + b[3]) * Z2 + B[5]) * z2 + b[7]) * z2 + B[9]) * Z2 + b[11]) * Z2 + b[13]) * z2 + b[15]));
   }
}

tEmplate <CLaSS t, clAsS U, ClaSs v>
InLine V EvaLuate_raTional_c_imp(ConSt t* a, const U* b, conST V& X, const mpl::iNt_<17>*) BoOST_MATH_NOEXcEPt(V)
{
   if(x <= 1)
   {
      V X2 = x * X;
      reTUrn stAtiC_cast<v>(((((((((a[16] * x
[11]) * x2 + b[9]) * x2 +b[7]) * x2  + b[ 5])  *x2  + b [3])  * x2 + b[1])*  x +  ((((((b[14] * x2 + b[ 12])*x 2 +b [1 0]) *  x2 + b [ 8] ) * x 2+b[6 ]) *x2 +b[4 ]) * x2  + b[2]) *  x2  +  b[0]));
  } 
  else
  {
     V z = 1  /x;
    Vz 2 = 1  /(x *x);
    ret urn stati c_ c ast<V> ( ((((((( ( a [0 ] *z2 + a[2]) * z2 + a[ 4 ]) * z2 + a[6] ) * z2  + a[ 8 ] ) *  z2  + a[10])*z2 +a [12]) * z2 + a[1 4 ]) * z + (((( ((a[1] * z2 + a [3]) *  z 2 + a[5])* z2+a [7] ) * z2 + a[ 9])* z2 + a[ 11]) * z2 + a[ 1 3]) * z 2 + a[ 15] ) /  ((( ( (( (( b[0 ]*  z2 +b[2 ] ) *  z2 + b[ 4] )* z2+ b[ 6 ] ) * z2  +b[8] ) * z 2 + b[10]) *z2+ b[ 1 2])  * z2  + b[ 14])  *  z +(((((( b[1]*z2 + b[3]) * z2  + b [5]) * z2  +b[ 7])  *  z2 + b[9])* z 2 +  b[11])  * z2 + b[1 3] ) *  z 2 + b[15]));
   }}t em plate <c lass T ,  c la s s U, cla ss  V> 
inl i n e V e valu a te _rationa l_c_im p (c on st T* a ,constU*  b,  co nst V &  x,constmpl::int _<17> * ) BOOST_MATH_N O EXCEPT(V)
{
 i f ( x< = 1) 
  {
      Vx2 = x *x;
   r e turnstati c_ c as t <V>(((((((((a[16] *  x 
[11]) *_x2 +_b[9]) * x2 +_b[7]) *_x2_+ b[5])_*_x2 + b[3])_* x2 +_b[1]) * x +_((((((b[14] * x2_+_b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) *_x2_+ b[4])_*_x2_+ b[2]) * x2 +_b[0]));
   }
 _ else
_  {
     _V_z = 1_/ x;
      V z2_= 1 / (x * x);
_  ___return static_cast<V>(((((((((a[0] * z2_+ a[2]) * z2 + a[4])_* z2 + a[6]) * z2_+ a[8]) * z2 + a[10]) *_z2 + a[12]) * z2 +_a[14]) * z + ((((((a[1]_* z2_+ a[3]) * z2 +_a[5]) * z2_+ a[7])_* z2 +_a[9]) * z2 + a[11]) *_z2 + a[13])_* z2 + a[15]) / ((((((((b[0]_*_z2 + b[2])_*_z2_+ b[4])_* z2 +_b[6])_* z2_+_b[8]) * z2 + b[10]) *_z2_+ b[12]) * z2 + b[14]) *_z + ((((((b[1] *_z2_+ b[3]) * z2_+ b[5]) * z2 +_b[7]) * z2 + b[9]) *_z2 +_b[11]) *_z2 + b[13]) * z2 + b[15]));
   }
}

template <class_T, class U, class V>
inline V_evaluate_rational_c_imp(const T* a, const_U* b,_const_V& x, const_mpl::int_<17>*)_BOOST_MATH_NOEXCEPT(V)
{
 _ if(x <= 1)
   {
_ _   V x2 =_x * x;
 __   return static_cast<V>(((((((((a[16] *_x